From 226e4198e05277284eb0a6f510320164540f657e Mon Sep 17 00:00:00 2001 From: clerie Date: Sun, 5 Nov 2023 13:36:58 +0100 Subject: [PATCH] hosts/monitoring-3: add synapse monitoring --- hosts/monitoring-3/blackbox.nix | 30 ++++++++++++++++++++++++++++ hosts/monitoring-3/configuration.nix | 1 + hosts/monitoring-3/prometheus.nix | 30 ++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 hosts/monitoring-3/blackbox.nix diff --git a/hosts/monitoring-3/blackbox.nix b/hosts/monitoring-3/blackbox.nix new file mode 100644 index 0000000..e3023bc --- /dev/null +++ b/hosts/monitoring-3/blackbox.nix @@ -0,0 +1,30 @@ +{ pkgs, ... }: + +{ + services.prometheus.exporters.blackbox = { + enable = true; + openFirewall = true; + configFile = pkgs.writeText "blackbox.yml" '' + modules: + icmp6: + prober: icmp + icmp: + preferred_ip_protocol: ip6 + ip_protocol_fallback: false + icmp4: + prober: icmp + icmp: + preferred_ip_protocol: ip4 + ip_protocol_fallback: false + synapse: + prober: http + http: + valid_status_codes: + - 200 + method: GET + fail_if_not_ssl: true + fail_if_body_not_matches_regexp: + - "Synapse is running" + ''; + }; +} diff --git a/hosts/monitoring-3/configuration.nix b/hosts/monitoring-3/configuration.nix index 886542d..b6a89b0 100644 --- a/hosts/monitoring-3/configuration.nix +++ b/hosts/monitoring-3/configuration.nix @@ -6,6 +6,7 @@ ./hardware-configuration.nix ../../configuration/proxmox-vm ./alertmanager.nix + ./blackbox.nix ./grafana.nix ./nixos-validator.nix ./prometheus.nix diff --git a/hosts/monitoring-3/prometheus.nix b/hosts/monitoring-3/prometheus.nix index 484af4a..e5b7286 100644 --- a/hosts/monitoring-3/prometheus.nix +++ b/hosts/monitoring-3/prometheus.nix @@ -263,6 +263,36 @@ in { relabelAddressToInstance ]; } + { + job_name = "blackbox_local_synapse"; + scrape_interval = "20s"; + metrics_path = "/probe"; + params = { + module = [ "synapse" ]; + }; + static_configs = [ + { + targets = [ + "https://matrix.entr0py.de/_matrix/static/" + ]; + } + ]; + relabel_configs = [ + { + source_labels = [ "__address__" ]; + target_label = "__param_target"; + } + { + source_labels = [ "__param_target" ]; + target_label = "target"; + } + { + target_label = "__address__"; + replacement = "monitoring-3.mon.clerie.de:9115"; + } + relabelAddressToInstance + ]; + } { job_name = "zimmer-temp"; scrape_interval = "20s";