wip:added alertreceiver and alert rules which are built and added to the yaml before deploying prometheus, added a few dashboards to grafana. Trying to fix prometheus-server clusterrole/role/serviceaccount so that it can discover targets and kubernetes in a namespaced release where it does not have access to clusterrole
This commit is contained in:
@@ -3,9 +3,18 @@ use std::{path::PathBuf, sync::Arc};
|
||||
use harmony::{
|
||||
inventory::Inventory,
|
||||
maestro::Maestro,
|
||||
modules::application::{
|
||||
ApplicationScore, RustWebFramework, RustWebapp,
|
||||
features::{ContinuousDelivery, Monitoring},
|
||||
modules::{
|
||||
application::{
|
||||
ApplicationScore, RustWebFramework, RustWebapp,
|
||||
features::{ContinuousDelivery, PrometheusMonitoring},
|
||||
},
|
||||
monitoring::{
|
||||
alert_channel::discord_alert_channel::DiscordWebhook,
|
||||
alert_rule::prometheus_alert_rule::AlertManagerRuleGroup,
|
||||
},
|
||||
prometheus::alerts::k8s::{
|
||||
pod::pod_in_failed_state, pvc::high_pvc_fill_rate_over_two_days,
|
||||
},
|
||||
},
|
||||
topology::{K8sAnywhereTopology, Url},
|
||||
};
|
||||
@@ -20,12 +29,25 @@ async fn main() {
|
||||
framework: Some(RustWebFramework::Leptos),
|
||||
});
|
||||
|
||||
let pod_failed = pod_in_failed_state();
|
||||
let pod_failed_2 = pod_in_failed_state();
|
||||
let pod_failed_3 = pod_in_failed_state();
|
||||
|
||||
let additional_rules = AlertManagerRuleGroup::new("pod-alerts", vec![pod_failed]);
|
||||
let additional_rules_2 = AlertManagerRuleGroup::new("pod-alerts-2", vec![pod_failed_2, pod_failed_3]);
|
||||
let app = ApplicationScore {
|
||||
features: vec![
|
||||
Box::new(ContinuousDelivery {
|
||||
//Box::new(ContinuousDelivery {
|
||||
// application: application.clone(),
|
||||
//}),
|
||||
Box::new(PrometheusMonitoring {
|
||||
application: application.clone(),
|
||||
alert_receivers: vec![Box::new(DiscordWebhook {
|
||||
name: "dummy-discord".to_string(),
|
||||
url: Url::Url(url::Url::parse("https://discord.doesnt.exist.com").unwrap()),
|
||||
})],
|
||||
alert_rules: vec![Box::new(additional_rules), Box::new(additional_rules_2)],
|
||||
}),
|
||||
Box::new(Monitoring {}),
|
||||
// TODO add monitoring, backups, multisite ha, etc
|
||||
],
|
||||
application,
|
||||
|
||||
Reference in New Issue
Block a user