infra/modules/nixos/monitoring/telegraf.nix

45 lines
1.4 KiB
Nix
Raw Normal View History

{ inputs, ... }:
2023-07-21 20:18:58 +10:00
{
services.telegraf.extraConfig.inputs = {
http_response = [
2023-10-25 11:53:51 +10:00
{
urls = [ "https://buildbot.nix-community.org/" ];
response_string_match = "Buildbot Web UI";
tags.host = "build03.nix-community.org";
tags.org = "nix-community";
}
{
urls = [ "https://hydra.nix-community.org/" ];
response_string_match = "hosted on this server";
tags.host = "build03.nix-community.org";
tags.org = "nix-community";
}
2023-07-21 20:18:58 +10:00
{
urls = [ "https://nur-update.nix-community.org/" ];
response_string_match = "NUR update endpoint";
tags.host = "build03.nix-community.org";
2023-07-21 20:18:58 +10:00
tags.org = "nix-community";
}
{
urls = [ "https://nixpkgs-update-logs.nix-community.org/~supervisor/" ];
response_string_match = "state.db";
tags.host = "build02.nix-community.org";
tags.org = "nix-community";
}
2023-07-21 20:18:58 +10:00
];
net_response =
let
hosts = (import "${inputs.self}/modules/shared/known-hosts.nix").programs.ssh.knownHosts;
2023-07-21 20:18:58 +10:00
in
2024-07-24 19:05:26 +10:00
map (host: {
protocol = "tcp";
address = "${toString host.hostNames}:22";
2024-07-24 19:05:26 +10:00
send = "SSH-2.0-Telegraf";
expect = "SSH-2.0";
tags.host = toString host.hostNames;
2024-07-24 19:05:26 +10:00
tags.org = "nix-community";
timeout = "10s";
}) (builtins.attrValues hosts);
2023-07-21 20:18:58 +10:00
};
}