From 4e6b076f1e629670229e6e3c53e43f818f4f2d62 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Fri, 1 Aug 2025 00:47:20 +0200 Subject: more monitoring & scrape config shortcuts --- lib/default.nix | 3 ++- lib/monitoring/default.nix | 20 ++++++++++++++++++++ lib/nginx/default.nix | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 lib/monitoring/default.nix (limited to 'lib') diff --git a/lib/default.nix b/lib/default.nix index 61c0760..5aecf51 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -4,10 +4,11 @@ flake = { lib = let - callLibs = file: import file { inherit lib; }; + callLibs = file: import file { inherit lib config; }; in { nginx = callLibs ./nginx; + mon = callLibs ./monitoring; }; }; } diff --git a/lib/monitoring/default.nix b/lib/monitoring/default.nix new file mode 100644 index 0000000..2c7c3cf --- /dev/null +++ b/lib/monitoring/default.nix @@ -0,0 +1,20 @@ +{ config, lib }: + +rec { + mkTarget = host: port: { + targets = [ "${host}:${toString port}" ]; + }; + + mkScrapeConfig = name: hosts: port: { + job_name = name; + static_configs = map (host: mkTarget host port) hosts; + relabel_configs = relabelConfig; + }; + + relabelConfig = [{ + source_labels = ["__address__"]; + target_label = "host"; + regex = "([^:]+)(:[0-9]+)?"; + replacement = "\${1}"; + }]; +} diff --git a/lib/nginx/default.nix b/lib/nginx/default.nix index 1f0f482..c6b6da2 100644 --- a/lib/nginx/default.nix +++ b/lib/nginx/default.nix @@ -1,4 +1,4 @@ -{ lib }: +{ lib, ... }: { proxyDomain = cert: proxyPass: { -- cgit v1.2.3