1
0

profiles/monitoring-server: Monitor http

This commit is contained in:
2025-06-01 14:08:57 +02:00
parent e475e46e3c
commit 096fe1dc03
3 changed files with 183 additions and 10 deletions

View File

@@ -48,6 +48,11 @@ in {
clerie-uberspace = mkProbeOption "This target is a uberspace host managed by clerie" {};
http = mkProbeOption "Monitor HTTP" {
protocols = mkProtocolsOption;
transport = mkOption {
type = with types; listOf (enum [ "http" "https" ]);
default = [ "http" "https" ];
description = "HTTP transport modes to monitor";
};
};
icmp = mkProbeOption "Monitor HTTP" {
protocols = mkProtocolsOption;
@@ -56,10 +61,12 @@ in {
};
probeTargets = mkSubmoduleOption "Target per probe" {
blackbox-http4 = mkTargetsListOption;
blackbox-http6 = mkTargetsListOption;
blackbox-icmp4 = mkTargetsListOption;
blackbox-icmp6 = mkTargetsListOption;
blackbox-local-http4 = mkTargetsListOption;
blackbox-local-http6 = mkTargetsListOption;
blackbox-local-https4 = mkTargetsListOption;
blackbox-local-https6 = mkTargetsListOption;
node-exporter-uberspace = mkTargetsListOption;
blackbox-local-synapse = mkTargetsListOption;
};
@@ -67,14 +74,6 @@ in {
config = {
profiles.clerie.monitoring-server.probeTargets.blackbox-http4 = targetsForProbe "http" (probeConfig:
(listContains "ipv4" probeConfig.protocols)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-http6 = targetsForProbe "http" (probeConfig:
(listContains "ipv6" probeConfig.protocols)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-icmp4 = targetsForProbe "icmp" (probeConfig:
(listContains "ipv4" probeConfig.protocols)
);
@@ -83,6 +82,22 @@ in {
(listContains "ipv6" probeConfig.protocols)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-local-http4 = targetsForProbe "http" (probeConfig:
(listContains "ipv4" probeConfig.protocols) && (listContains "http" probeConfig.transport)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-local-http6 = targetsForProbe "http" (probeConfig:
(listContains "ipv6" probeConfig.protocols) && (listContains "http" probeConfig.transport)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-local-https4 = targetsForProbe "http" (probeConfig:
(listContains "ipv4" probeConfig.protocols) && (listContains "https" probeConfig.transport)
);
profiles.clerie.monitoring-server.probeTargets.blackbox-local-https6 = targetsForProbe "http" (probeConfig:
(listContains "ipv6" probeConfig.protocols) && (listContains "https" probeConfig.transport)
);
profiles.clerie.monitoring-server.probeTargets.node-exporter-uberspace = targetsForProbe "clerie-uberspace" (_: true);
profiles.clerie.monitoring-server.probeTargets.blackbox-local-synapse = targetsForProbe "synapse" (_: true);