expose metrics as json
This commit is contained in:
@@ -10,17 +10,22 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
jsonpath = /tmp/telegraf.json;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
networking.firewall.interfaces = lib.mkIf (settings.allowAllInterfaces == false) (
|
networking.firewall.interfaces = lib.mkIf (settings.allowAllInterfaces == false) (
|
||||||
builtins.listToAttrs (
|
builtins.listToAttrs (
|
||||||
map (name: {
|
map (name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
value.allowedTCPPorts = [ 9273 ];
|
value.allowedTCPPorts = [ 9273 9990 ];
|
||||||
}) settings.interfaces
|
}) settings.interfaces
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
systemd.services.telegsaf-json.script = "${pkgs.miniserve}/bin/miniserve -p 9990 ${jsonpath}";
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = lib.mkIf (settings.allowAllInterfaces == true) [ 9273 ];
|
networking.firewall.allowedTCPPorts = lib.mkIf (settings.allowAllInterfaces == true) [ 9273 ];
|
||||||
|
|
||||||
clan.core.vars.generators."telegraf-password" = {
|
clan.core.vars.generators."telegraf-password" = {
|
||||||
@@ -72,6 +77,13 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs.file = {
|
||||||
|
files = [ jsonpath ];
|
||||||
|
data_format = "json";
|
||||||
|
json_timestamp_units = "1s";
|
||||||
|
};
|
||||||
|
|
||||||
outputs.prometheus_client = {
|
outputs.prometheus_client = {
|
||||||
listen = ":9273";
|
listen = ":9273";
|
||||||
metric_version = 2;
|
metric_version = 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user