diff --git a/flake.lock b/flake.lock index d5e5bbf..d2b20c6 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "berlinerbaeder-exporter": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1720989581, + "narHash": "sha256-Mm4FU9Kh5C/vfTDGLpxcR24fXgSdcZXlmZfIoM1wjcg=", + "ref": "refs/heads/main", + "rev": "49e8db169c74ae7238b9eeba2a51b277dad9a1bf", + "revCount": 4, + "type": "git", + "url": "https://git.clerie.de/clerie/berlinerbaeder-exporter.git" + }, + "original": { + "type": "git", + "url": "https://git.clerie.de/clerie/berlinerbaeder-exporter.git" + } + }, "bij": { "inputs": { "nixpkgs": [ @@ -284,6 +304,7 @@ }, "root": { "inputs": { + "berlinerbaeder-exporter": "berlinerbaeder-exporter", "bij": "bij", "chaosevents": "chaosevents", "fernglas": "fernglas", diff --git a/flake.nix b/flake.nix index 5e0dc12..af9092e 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,10 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + berlinerbaeder-exporter = { + url = "git+https://git.clerie.de/clerie/berlinerbaeder-exporter.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; bij = { url = "git+https://git.clerie.de/clerie/bij.git"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/flake/overlay.nix b/flake/overlay.nix index c53b06d..31191a3 100644 --- a/flake/overlay.nix +++ b/flake/overlay.nix @@ -1,4 +1,5 @@ { self +, berlinerbaeder-exporter , bij , chaosevents , harmonia @@ -6,6 +7,8 @@ , ... }@inputs: final: prev: { + inherit (berlinerbaeder-exporter.packages.${final.system}) + berlinerbaeder-exporter; inherit (bij.packages.${final.system}) bij; inherit (chaosevents.packages.${final.system}) diff --git a/hosts/monitoring-3/berlinerbaeder-exporter.nix b/hosts/monitoring-3/berlinerbaeder-exporter.nix new file mode 100644 index 0000000..e87774c --- /dev/null +++ b/hosts/monitoring-3/berlinerbaeder-exporter.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + systemd.services.berlinerbaeder-exporter = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + }; + script = "berlinerbaeder-exporter --listen [::1]:57382"; + path = with pkgs; [ berlinerbaeder-exporter ]; + }; +} diff --git a/hosts/monitoring-3/configuration.nix b/hosts/monitoring-3/configuration.nix index f811b0d..9ee19c2 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 + ./berlinerbaeder-exporter.nix ./blackbox.nix ./grafana.nix ./nixos-validator.nix diff --git a/hosts/monitoring-3/prometheus.nix b/hosts/monitoring-3/prometheus.nix index c850696..e26ac41 100644 --- a/hosts/monitoring-3/prometheus.nix +++ b/hosts/monitoring-3/prometheus.nix @@ -407,6 +407,20 @@ in { } ]; } + { + job_name = "berlinerbaeder-exporter"; + scrape_interval = "5m"; + static_configs = [ + { + targets = [ + "monitoring-3.mon.clerie.de:57382" + ]; + } + ]; + relabel_configs = [ + relabelAddressToInstance + ]; + } ]; alertmanagers = [ {