{ config, pkgs, hostname, ... }: { # Telegraf Monitoring sops.secrets.telegraf-token = { owner = "telegraf"; sopsFile = ../secrets/secrets.yaml; restartUnits = [ "telegraf.service" ]; }; # Install the package environment.systemPackages = with pkgs; [ lm-sensors telegraf ]; # Configure the package: services.telegraf = { enable = true; environmentFiles = [ /run/secrets/telegraf-token ]; extraConfig = { outputs = { influxdb_v2 = { urls = [ "https://influx.sysctl.io/" ]; token = "${TELEGRAF_TOKEN}"; organization = "default"; bucket = "telegrafdb"; http_headers = '{ "Authorization = Token ${TELEGRAF_TOKEN}" }'; }; }; inputs = { cpu = { percpu = true; totalcpu = true; collect_cpu_time = false; report_active = false; }; disk = { ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]; }; diskio = {}; kernel = {}; mem = {}; processes = {}; swap = {}; system = {}; fail2ban = {}; hddtemp = {}; intel_powerstat = {}; net = {}; nvidia_smi = {}; sensors = {}; smart = { timeout = "30s" }; temp = {}; wireless = {}; }; }; }; }