diff --git a/agent/src/collectors/disk.rs b/agent/src/collectors/disk.rs index cb6baf5..649400a 100644 --- a/agent/src/collectors/disk.rs +++ b/agent/src/collectors/disk.rs @@ -41,11 +41,11 @@ pub struct DiskCollector { impl DiskCollector { pub fn new(config: DiskConfig) -> Self { - // Create hysteresis thresholds for disk temperature + // Create hysteresis thresholds for disk temperature from config let temperature_thresholds = HysteresisThresholds::with_custom_gaps( - 60.0, // warning at 60°C + config.temperature_warning_celsius, 5.0, // 5°C gap for recovery - 70.0, // critical at 70°C + config.temperature_critical_celsius, 5.0, // 5°C gap for recovery ); diff --git a/agent/src/config/mod.rs b/agent/src/config/mod.rs index c54cd3b..e6d8351 100644 --- a/agent/src/config/mod.rs +++ b/agent/src/config/mod.rs @@ -36,7 +36,6 @@ pub struct CollectorConfig { pub memory: MemoryConfig, pub disk: DiskConfig, pub systemd: SystemdConfig, - pub smart: SmartConfig, pub backup: BackupConfig, pub network: NetworkConfig, pub nixos: NixOSConfig, @@ -75,6 +74,11 @@ pub struct DiskConfig { pub usage_critical_percent: f32, /// Filesystem configurations pub filesystems: Vec, + /// SMART monitoring thresholds + pub temperature_warning_celsius: f32, + pub temperature_critical_celsius: f32, + pub wear_warning_percent: f32, + pub wear_critical_percent: f32, } /// Filesystem configuration entry @@ -102,16 +106,6 @@ pub struct SystemdConfig { pub host_user_mapping: String, } -/// SMART collector configuration -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct SmartConfig { - pub enabled: bool, - pub interval_seconds: u64, - pub temperature_warning_celsius: f32, - pub temperature_critical_celsius: f32, - pub wear_warning_percent: f32, - pub wear_critical_percent: f32, -} /// NixOS collector configuration #[derive(Debug, Clone, Serialize, Deserialize)]