Agent Changes: • Add CPU status thresholds (warning: ≥5.0, critical: ≥8.0) • Add memory status thresholds (warning: ≥80%, critical: ≥95%) • Add service status calculation (critical if failed>0, warning if degraded>0) • All collectors now calculate and include status in output Dashboard Changes: • Update system widget to use agent-calculated cpu_status and memory_status • Update services widget to use agent-calculated services_status • Remove client-side status calculations in favor of agent status • Add status_level_from_agent_status helper function Notification System: • Add SMTP email notification system using lettre crate • Auto-configure notifications: hostname@cmtec.se → cm@cmtec.se • Smart change detection with rate limiting (30min cooldown) • Only notify on transitions to/from warning/critical states • Rich email formatting with host, component, metric details
25 lines
707 B
TOML
25 lines
707 B
TOML
[package]
|
|
name = "cm-dashboard-agent"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
cm-dashboard-shared = { path = "../shared" }
|
|
anyhow = "1.0"
|
|
async-trait = "0.1"
|
|
clap = { version = "4.0", features = ["derive"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
thiserror = "1.0"
|
|
toml = "0.8"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
|
tracing-appender = "0.2"
|
|
zmq = "0.10"
|
|
tokio = { version = "1.0", features = ["full", "process"] }
|
|
futures = "0.3"
|
|
rand = "0.8"
|
|
gethostname = "0.4"
|
|
lettre = { version = "0.11", default-features = false, features = ["smtp-transport", "builder"] }
|