diff --git a/clanServices/monitoring/telegraf.nix b/clanServices/monitoring/telegraf.nix index 94eb91e39..4da515d20 100644 --- a/clanServices/monitoring/telegraf.nix +++ b/clanServices/monitoring/telegraf.nix @@ -10,17 +10,22 @@ lib, ... }: + let + jsonpath = /tmp/telegraf.json; + in { networking.firewall.interfaces = lib.mkIf (settings.allowAllInterfaces == false) ( builtins.listToAttrs ( map (name: { inherit name; - value.allowedTCPPorts = [ 9273 ]; + value.allowedTCPPorts = [ 9273 9990 ]; }) settings.interfaces ) ); + systemd.services.telegsaf-json.script = "${pkgs.miniserve}/bin/miniserve -p 9990 ${jsonpath}"; + networking.firewall.allowedTCPPorts = lib.mkIf (settings.allowAllInterfaces == true) [ 9273 ]; clan.core.vars.generators."telegraf-password" = { @@ -72,6 +77,13 @@ } ]; }; + + outputs.file = { + files = [ jsonpath ]; + data_format = "json"; + json_timestamp_units = "1s"; + }; + outputs.prometheus_client = { listen = ":9273"; metric_version = 2;