feat: add monitoring system and alerting
Some checks failed
Run Check Script / check (push) Failing after 45s
Run Check Script / check (pull_request) Failing after 44s

- Implemented a basic monitoring system with alerting capabilities.
- Introduced `MonitoringAlertingScore` and related traits (`MonitoringSystem`, `ScrapeTarget`, `AlertRule`).
- Added `MonitoringAlertingInterpret` to handle the execution of monitoring configurations.
- Defined interfaces for Prometheus integration (PrometheusReceiver, PrometheusRule, PrometheusScrapeTarget).
- Introduced `CloneBox` trait to enable cloning boxed trait objects.
- Refactored Prometheus related traits to require `Debug` implementation.
- Implemented basic placeholder logic for Prometheus configuration and alerting.
- Updated existing traits to include `Send` and `Sync` where appropriate.
This commit is contained in:
2025-06-16 17:01:13 -04:00
parent f6c146b14b
commit 9412c0529a
8 changed files with 82 additions and 89 deletions

View File

@@ -2,7 +2,7 @@ use harmony::{
data::Version,
inventory::Inventory,
maestro::Maestro,
modules::lamp::{LAMPConfig, LAMPScore},
modules::{lamp::{LAMPConfig, LAMPScore}, monitoring::monitoring_alerting::MonitoringAlertingScore},
topology::{K8sAnywhereTopology, Url},
};
@@ -29,6 +29,8 @@ async fn main() {
},
};
let monitoring = MonitoringAlertingScore { alert_channel_configs: todo!() };
// You can choose the type of Topology you want, we suggest starting with the
// K8sAnywhereTopology as it is the most automatic one that enables you to easily deploy
// locally, to development environment from a CI, to staging, and to production with settings