snow-flow
Version:
Snow-Flow v3.2.0: Complete ServiceNow Enterprise Suite with 180+ MCP Tools. ATF Testing, Knowledge Management, Service Catalog, Change Management with CAB scheduling, Virtual Agent chatbots with NLU, Performance Analytics KPIs, Flow Designer automation, A
157 lines • 4.01 kB
TypeScript
/**
* Snow-Flow System Health Monitoring
* Comprehensive health checks for all components
*/
import { EventEmitter } from 'events';
import { MemorySystem } from '../memory/memory-system';
import { MCPServerManager } from '../utils/mcp-server-manager';
export interface HealthCheckResult {
component: string;
status: 'healthy' | 'degraded' | 'unhealthy' | 'unknown';
message: string;
details?: Record<string, any>;
timestamp: Date;
responseTime?: number;
error?: string;
}
export interface SystemHealthStatus {
healthy: boolean;
status: 'healthy' | 'degraded' | 'unhealthy';
timestamp: Date;
components: {
memory: HealthCheckResult;
mcp: HealthCheckResult;
servicenow: HealthCheckResult;
queen: HealthCheckResult;
system: HealthCheckResult;
performance: HealthCheckResult;
};
metrics: {
uptime: number;
totalChecks: number;
failedChecks: number;
avgResponseTime: number;
systemResources: SystemResources;
};
}
export interface SystemResources {
cpuUsage: number;
memoryUsage: number;
memoryTotal: number;
diskUsage: number;
diskTotal: number;
loadAverage: number[];
processCount: number;
}
export interface HealthThresholds {
responseTime: number;
memoryUsage: number;
cpuUsage: number;
queueSize: number;
errorRate: number;
}
interface HealthConfig {
memory: MemorySystem;
mcpManager: MCPServerManager;
config: {
checks: {
memory: boolean;
mcp: boolean;
servicenow: boolean;
queen: boolean;
};
thresholds: HealthThresholds;
};
}
export declare class SystemHealth extends EventEmitter {
private memory;
private mcpManager;
private logger;
private config;
private serviceNowClient?;
private checkInterval?;
private checkHistory;
private startTime;
private totalChecks;
private failedChecks;
private lastCPUInfo;
private cpuCheckInterval?;
constructor(options: HealthConfig);
/**
* Initialize health monitoring
*/
initialize(): Promise<void>;
/**
* Start periodic health monitoring
*/
startMonitoring(intervalMs?: number): Promise<void>;
/**
* Stop health monitoring
*/
stopMonitoring(): Promise<void>;
/**
* Perform comprehensive health check
*/
performHealthCheck(): Promise<SystemHealthStatus>;
/**
* Get full health status
*/
getFullStatus(): Promise<SystemHealthStatus>;
/**
* Get health history
*/
getHealthHistory(limit?: number): Promise<HealthCheckResult[]>;
/**
* Check if system is healthy
*/
isHealthy(): Promise<boolean>;
/**
* Private health check methods
*/
private checkMemory;
private checkMCP;
private checkServiceNow;
private checkQueen;
private checkSystem;
private checkPerformance;
private createSkippedResult;
private getSystemResources;
private createHealthTables;
private storeHealthResult;
private checkAlerts;
private calculateAverageResponseTime;
/**
* Calculate real CPU usage with averaging
*/
private calculateCPUUsage;
/**
* Get real disk usage statistics
*/
private getDiskUsage;
/**
* Get disk usage for Unix-based systems (macOS, Linux)
*/
private getUnixDiskUsage;
/**
* Get disk usage for Windows systems
*/
private getWindowsDiskUsage;
/**
* Get process-specific memory usage
*/
private getProcessMemoryUsage;
/**
* Check network connectivity
*/
private checkNetworkConnectivity;
/**
* Get additional SQLite database statistics
*/
private getExtendedDatabaseStats;
/**
* Enhanced system check with more detailed metrics
*/
private getEnhancedSystemMetrics;
}
export {};
//# sourceMappingURL=system-health.d.ts.map