diff --git a/secrets/monitoring01/pve-exporter.yaml b/secrets/monitoring01/pve-exporter.yaml new file mode 100644 index 0000000..8fd9fab --- /dev/null +++ b/secrets/monitoring01/pve-exporter.yaml @@ -0,0 +1,33 @@ +default: + user: ENC[AES256_GCM,data:4Zzjm6/e8GCKSPNivnY=,iv:Y3gR+JSH/GLYvkVu3CN4T/chM5mjGjwVPI0iMB4p1t4=,tag:auyG8iWsd/YGjDnnTC21Ew==,type:str] + password: ENC[AES256_GCM,data:9cyM9U8VnzXBBA==,iv:YMHNNUoQ9Az5+81Df07tjC+LaEWPHV6frUjd4PZrQOs=,tag:3hKR+BhLJODJp19nn4ppkA==,type:str] + verify_ssl: ENC[AES256_GCM,data:Cu5Ucf0=,iv:QFfdV7gDBQ+L2kSZZqlVqCrn9CRg5RNG5DNTFWtVf5Y=,tag:u24ZbpWA65wj3WOwqU1v+g==,type:bool] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuUXdMMG5YaHRJbThQZW9u + RHVBbXFiSHNiUWdLTDdPajIyQjN3OGR0dGpzCm9ZVkdNWjhBakU3dVdhRU9kbU81 + aDlCNzJBQ1hvQ3FnTUk2N2RWQkZpUUEKLS0tIEZacTNqa3FWc2p1NXVtRWhwVExj + cUJtYXNjb2Z4QkF4MjlidEZxSUFNa3MKAGHGksPc9oJheSlUQ3ARK5MuR5NFbPmD + kmSDSgRmzbarxT8eJnK8/K4ii3hX5E9vGOohUkyc03w4ENsh/dw43g== + -----END AGE ENCRYPTED FILE----- + - recipient: age1vpns76ykll8jgdlu3h05cur4ew2t3k7u03kxdg8y6ypfhsfhq9fqyurjey + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOVGhvdGE5Mzl0ckhBM21D + RXJwb09OS25PMGViblViM21wTVZiZWhtWmhFCnAzL1NqeUVyOGZFVDFvdXFPbklQ + ZkJPWDVIdUdCdjZGUjcrcmtvak5CWG8KLS0tIDhLUHJNN2VqNy9CdVh0K0N0b0k1 + RUE4U0E0aGxiRkF0NWdwSEIrQTU4MjgKeOU6bIWO6ke9YcG+1E3brnC21sSQxZ9b + SiG2QEnFnTeJ5P50XQoYHqUY3B0qx7nDLvyzatYEi6sDkfLXhmHGbw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-12-03T16:25:12Z" + mac: ENC[AES256_GCM,data:gemq8YpMZQC+gY7lmMM3tfZh9XxL40qdGlLiB2CD4SIG49w0V6E/vY7xygt0WW0zHbhMI9yUIqlRc/PaXn+QfyxJEr3IjaT05rrWUqQAeRP9Zss74Y3NtQehh8fM8SgeyU4j2CQ9f9B/lW9IgdOW/TNgQZVXGg1vXZPEzl7AZ4A=,iv:LG5ojv3hAqk+EvFa/xEn43MBqL457uKFDE3dG5lSgZo=,tag:AxzcUzmdhO411Sw7Vg1itA==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.9.1 diff --git a/services/monitoring/default.nix b/services/monitoring/default.nix index 93527a0..139b1d6 100644 --- a/services/monitoring/default.nix +++ b/services/monitoring/default.nix @@ -4,5 +4,6 @@ ./loki.nix ./grafana.nix ./prometheus.nix + ./pve.nix ]; } diff --git a/services/monitoring/prometheus.nix b/services/monitoring/prometheus.nix index 47116a2..1d6fed1 100644 --- a/services/monitoring/prometheus.nix +++ b/services/monitoring/prometheus.nix @@ -124,6 +124,34 @@ } ]; } + { + job_name = "pve-exporter"; + static_configs = [ + { + targets = [ "10.69.12.75" ]; + } + ]; + metrics_path = "/pve"; + params = { + module = [ "default" ]; + cluster = [ "1" ]; + node = [ "1" ]; + }; + relabel_configs = [ + { + source_labels = [ "__address__" ]; + target_label = "__param_target"; + } + { + source_labels = [ "__param_target" ]; + target_label = "instance"; + } + { + target_label = "__address__"; + replacement = "127.0.0.1:9221"; + } + ]; + } ]; }; } diff --git a/services/monitoring/pve.nix b/services/monitoring/pve.nix new file mode 100644 index 0000000..735b1c8 --- /dev/null +++ b/services/monitoring/pve.nix @@ -0,0 +1,17 @@ +{ config, ... }: +{ + sops.secrets.pve_exporter = { + format = "yaml"; + sopsFile = ../../secrets/monitoring01/pve-exporter.yaml; + key = ""; + mode = "0444"; + }; + services.prometheus.exporters.pve = { + enable = true; + configFile = config.sops.secrets.pve_exporter.path; + collectors = { + cluster = false; + replication = false; + }; + }; +}