This commit is contained in:
2025-10-13 00:16:24 +02:00
parent 9e344fb66d
commit 57b676ad25
17 changed files with 729 additions and 411 deletions

View File

@@ -12,7 +12,7 @@ use std::sync::{
};
use std::time::Duration;
use crate::data::metrics::{BackupMetrics, ServiceMetrics, SmartMetrics};
use crate::data::metrics::{BackupMetrics, ServiceMetrics, SmartMetrics, SystemMetrics};
use anyhow::{anyhow, Context, Result};
use chrono::{TimeZone, Utc};
use clap::{ArgAction, Parser, Subcommand};
@@ -316,6 +316,7 @@ fn handle_zmq_message(
host,
smart: Some(metrics),
services: None,
system: None,
backup: None,
timestamp,
});
@@ -335,6 +336,7 @@ fn handle_zmq_message(
host,
smart: None,
services: Some(metrics),
system: None,
backup: None,
timestamp,
});
@@ -348,12 +350,33 @@ fn handle_zmq_message(
});
}
},
AgentType::System => match serde_json::from_value::<SystemMetrics>(payload.clone()) {
Ok(metrics) => {
let _ = sender.send(AppEvent::MetricsUpdated {
host,
smart: None,
services: None,
system: Some(metrics),
backup: None,
timestamp,
});
}
Err(error) => {
warn!(%error, "failed to parse system metrics");
let _ = sender.send(AppEvent::MetricsFailed {
host,
error: format!("system metrics parse error: {error:#}"),
timestamp,
});
}
},
AgentType::Backup => match serde_json::from_value::<BackupMetrics>(payload.clone()) {
Ok(metrics) => {
let _ = sender.send(AppEvent::MetricsUpdated {
host,
smart: None,
services: None,
system: None,
backup: Some(metrics),
timestamp,
});