signalk-mosquitto
Version:
SignalK plugin for managing Mosquitto MQTT broker with bridge connections and security
54 lines • 1.8 kB
TypeScript
import { PluginServerApp } from '@signalk/server-api';
import { ProcessMonitor, MosquittoStatus, MosquittoManager } from '../types/interfaces';
export declare class ProcessMonitorImpl implements ProcessMonitor {
private app;
private mosquittoManager;
private monitorInterval;
private healthCheckInterval;
private isMonitoring;
private healthCheckIntervalMs;
private statusCheckIntervalMs;
private maxRestartAttempts;
private restartAttempts;
private lastHealthCheck;
private consecutiveFailures;
constructor(app: PluginServerApp, mosquittoManager: MosquittoManager);
start(): void;
stop(): void;
isHealthy(): Promise<boolean>;
getMetrics(): Promise<MosquittoStatus>;
private performStatusCheck;
private performHealthCheck;
private attemptRestart;
private isProcessAlive;
getMonitorStatus(): {
isMonitoring: boolean;
lastHealthCheck: Date | null;
consecutiveFailures: number;
restartAttempts: number;
maxRestartAttempts: number;
};
updateConfiguration(options: {
healthCheckIntervalMs?: number;
statusCheckIntervalMs?: number;
maxRestartAttempts?: number;
}): void;
forceRestart(): Promise<void>;
getDetailedStatus(): Promise<{
monitor: {
isMonitoring: boolean;
lastHealthCheck: Date | null;
consecutiveFailures: number;
restartAttempts: number;
maxRestartAttempts: number;
};
mosquitto: MosquittoStatus;
system: {
uptime: number;
memoryUsage: NodeJS.MemoryUsage;
cpuUsage: NodeJS.CpuUsage;
};
}>;
performMaintenanceTasks(): Promise<void>;
}
//# sourceMappingURL=process-monitor.d.ts.map