diff --git a/machines/compute01/_configuration.nix b/machines/compute01/_configuration.nix index 6de5d5d..e260728 100644 --- a/machines/compute01/_configuration.nix +++ b/machines/compute01/_configuration.nix @@ -20,6 +20,7 @@ lib.extra.mkConfig { "outline" "rstudio-server" "satosa" + "telegraf" "vaultwarden" "zammad" "signald" diff --git a/machines/compute01/secrets/secrets.nix b/machines/compute01/secrets/secrets.nix index 5f3982d..3264fab 100644 --- a/machines/compute01/secrets/secrets.nix +++ b/machines/compute01/secrets/secrets.nix @@ -23,6 +23,7 @@ lib.setDefault { inherit publicKeys; } [ "radius-key_pem_file" "radius-private_key_password_file" "satosa-env_file" + "telegraf-environment_file" "vaultwarden-environment_file" "zammad-secret_key_base_file" ] diff --git a/machines/compute01/secrets/telegraf-environment_file b/machines/compute01/secrets/telegraf-environment_file new file mode 100644 index 0000000..3ac11ad Binary files /dev/null and b/machines/compute01/secrets/telegraf-environment_file differ diff --git a/machines/compute01/telegraf.nix b/machines/compute01/telegraf.nix new file mode 100644 index 0000000..f840801 --- /dev/null +++ b/machines/compute01/telegraf.nix @@ -0,0 +1,43 @@ +{ config, ... }: + +{ + services.telegraf = { + enable = true; + + extraConfig = { + agent = { + interval = "10s"; + round_interval = true; + metric_batch_size = 1000; + metric_buffer_limit = 10000; + collection_jitter = "0s"; + }; + + inputs = { + diskio = { + device_tags = [ + "ID_FS_TYPE" + "ID_FS_USAGE" + ]; + name_templates = [ + "$ID_FS_LABEL" + "$DM_VG_NAME/$DM_LV_NAME" + ]; + }; + }; + + outputs = { + influxdb_v2 = { + urls = [ "https://influx.dgnum.eu" ]; + token = "$TELEGRAF_INFLUXDB_TOKEN"; + organization = "dgnum"; + bucket = "telegraf"; + }; + }; + }; + + environmentFiles = [ config.age.secrets."telegraf-environment_file".path ]; + }; + + age-secrets.autoMatch = [ "telegraf" ]; +}