flocon/clanServices/prometheus
2025-11-17 18:46:54 +01:00
..
default.nix clanServices/prometheus: fix IPv6 address brackets 2025-11-17 18:46:54 +01:00
flake-module.nix create prometheus clan service 2025-08-25 07:23:58 +02:00
README.md add description of prometheus service 2025-10-30 15:00:12 +01:00

This module enables collecting metrics from machines in clan, using Prometheus.

There are two roles:

  • A target role for machines on which to collect and export metrics.
  • A scraper roles for machines that fetch metrics from target machines and store them in the long term.
inventory = {

  machines = {
    server01.tags.server = {};
    server02.tags.server = {};
    metrics.tags.server = {}; # metrics collector
  };

  instances = {
    prometheus = {
      module.name = "@rpqt/prometheus";
      module.input = "self";

      roles.scraper.machines."metrics" = {};

      # Collect metrics on all servers
      roles.target.tags.server = {
        settings = {
          exporters = {
            # Enable the node-exporter metrics source
            node.enabledCollectors = [ "systemd" ];
          };
        };
      };
    };
  };
};