Skip to main content

Services

Overview​

NodePrism services handle background processing, data collection, and system coordination.

ServicePurpose
MetricCollectorCollects metrics from Prometheus and stores in database
EventLoggerCentralized event logging with real-time Socket.IO distribution
TargetGeneratorGenerates Prometheus target files for service discovery
HeartbeatCleanupMonitors agent heartbeats and cleans up stale data
AlertTemplateServiceAdvanced alert template management with hysteresis support
AutoDiscoveryServiceAutomatically discovers running services on target servers

MetricCollector​

File: packages/api/src/services/metricCollector.ts

Collects metrics from Prometheus and stores in database

Key Functions:

  • startMetricCollector()
  • stopMetricCollector()
  • collectAllMetrics()
  • getAggregatedMetrics()
  • getBandwidthSummary()

EventLogger​

File: packages/api/src/services/eventLogger.ts

Centralized event logging with real-time Socket.IO distribution

Key Functions:

  • logEvent()
  • logServerStatusChange()
  • logAgentStatusChange()
  • logDeployment()
  • logThresholdAlert()

TargetGenerator​

File: packages/api/src/services/targetGenerator.ts

Generates Prometheus target files for service discovery

Key Functions:

  • generateTargetFiles()
  • generateTargetFileForType()
  • reloadPrometheus()

HeartbeatCleanup​

File: packages/api/src/services/heartbeatCleanup.ts

Monitors agent heartbeats and cleans up stale data

Key Functions:

  • startHeartbeatCleanup()
  • stopHeartbeatCleanup()

AlertTemplateService​

File: packages/api/src/services/alertTemplateService.ts

Advanced alert template management with hysteresis support

Key Functions:

  • evaluateTemplate()
  • matchTemplate()
  • processAlerts()

AutoDiscoveryService​

File: packages/api/src/services/autoDiscoveryService.ts

Automatically discovers running services on target servers

Key Functions:

  • discoverServices()
  • generateTargetConfigs()