Files

869 B

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" ];
          };
        };
      };
    };
  };
};