/** * Copyright 2022 Gravwell, Inc. All rights reserved. * * Contact: [legal@gravwell.io](mailto:legal@gravwell.io) * * This software may be modified and distributed under the terms of the MIT * license. See the LICENSE file for details. */ import { APIContext } from '../utils/api-context'; import { APISubscription } from '../utils/api-subscription'; export declare type SystemStatusMessageReceived = { Resp: 'ACK'; } | SystemStatusPingMessage | SystemStatusSystemDescriptionMessage | SystemStatusSystemStatusMessage | SystemStatusIngestorsStatusMessage | SystemStatusIndexersStatusMessage; declare type SystemStatusPingMessage = { type: 'ping'; data: { States: { [key: string]: 'OK'; }; }; }; declare type SystemStatusSystemDescriptionMessage = { type: 'sysDesc'; data: { [key: string]: { VirtSystem: string; VirtRole: string; CPUCount: number; CPUModel: string; CPUMhz: string; CPUCache: string; TotalMemoryMB: number; SystemVersion: string; }; }; }; declare type SystemStatusSystemStatusMessage = { type: 'sysStats'; data: { Stats: { [key: string]: { Stats: { Uptime: number; TotalMemory: number; ProcessHeapAllocation: number; ProcessSysReserved: number; MemoryUsedPercent: number; Disks: Array<{ Mount: string; Partition: string; Total: number; Used: number; }>; CPUUsage: number; CPUCount: number; HostHash: string; Net: { Up: number; Down: number; }; IO: Array<{ Device: string; Read: number; Write: number; }>; VirtSystem: string; VirtRole: string; BuildInfo: { Major: number; Minor: number; Point: number; BuildDate: string; BuildID: string; }; }; }; }; }; }; declare type SystemStatusIngestorsStatusMessage = { type: 'igstStats'; data: { Stats: { [key: string]: { QuotaUsed: number; QuotaMax: number; TotalCount: number; TotalSize: number; Ingesters: Array<{ RemoteAddress: string; Count: number; Size: number; Uptime: number; Name: string; Version: string; UUID: string; Tags: Array; }>; }; }; }; }; declare type SystemStatusIndexersStatusMessage = { type: 'idxStats'; data: { Stats: { [key: string]: { UUID: string; IndexStats: Array<{ Name: string; Stats: Array<{ Data: number; Entries: number; Path: string; Cold: boolean; Accelerator?: string; Extractor?: string; }>; }>; }; }; }; }; export declare type SystemStatusMessageSent = { Subs: Array; }; declare const SYSTEM_STATUS_CATEGORIES: { readonly 'system description': "sysDesc"; readonly 'system status': "sysStats"; readonly 'ingestors status': "igstStats"; readonly 'indexers status': "idxStats"; readonly ping: "ping"; }; export declare type SystemStatusCategory = keyof typeof SYSTEM_STATUS_CATEGORIES; declare type SystemStatusCategoryToken = typeof SYSTEM_STATUS_CATEGORIES[SystemStatusCategory]; export declare const makeSubscribeToManySystemInformations: (context: APIContext) => (statusCategories: Array) => Promise>; export {};