UNPKG

telex-server-monitor-sdk

Version:

SDK for Telex Server Monitor - A lightweight agent that collects and reports server CPU metrics to the Telex monitoring platform

31 lines (30 loc) 1.21 kB
import { logger } from "../../utils/logger.js"; import "./cpuMonitor.js"; import { startCpuMonitoring } from "./cpuMonitor.js"; import { startMemoryMonitoring } from "./memoryMonitor.js"; import { startSecurityMonitoring } from "./securityMonitor.js"; // Track monitoring intervals let monitoringIntervals = []; let isMonitoringRunning = false; export const startAllIntervalMonitoring = async () => { if (isMonitoringRunning) { logger.warn("Monitoring processes are already running."); return; } logger.info("Starting all monitoring processes..."); const cpuTimer = await startCpuMonitoring(); const memoryTimer = await startMemoryMonitoring(); const securityTimer = await startSecurityMonitoring(); monitoringIntervals.push(cpuTimer, memoryTimer, securityTimer); isMonitoringRunning = true; logger.info("All monitoring processes started"); }; export const stopAllIntervalMonitoring = () => { logger.info("Stopping all monitoring processes..."); monitoringIntervals.forEach((interval) => { clearInterval(interval); }); monitoringIntervals = []; isMonitoringRunning = false; logger.info("All monitoring processes stopped"); };