vmetrics: setup scraping

Changed files
+45 -6
systems
koumakan
administration
services
+12 -4
systems/koumakan/administration/telemetry.nix
···
{...}: {
-
services.prometheus.exporters.node = {
-
enable = true;
-
listenAddress = "127.0.0.1";
-
port = 20091;
+
services.prometheus.exporters = {
+
node = {
+
enable = true;
+
listenAddress = "127.0.0.1";
+
port = 20091;
+
};
+
+
nginx = {
+
enable = true;
+
listenAddress = "127.0.0.1";
+
port = 20101;
+
};
};
}
+33 -2
systems/koumakan/services/telemetry/victoriametrics.nix
···
-
{...}: {
+
{
+
config,
+
...
+
}: {
services.victoriametrics = {
enable = true;
+
listenAddress = "127.0.0.1:20090";
retentionPeriod = 5 * 12; # 5 years
};
-
# to setup capturing, please use systems.koumakan.administration.telemetry
+
services.vmagent = {
+
enable = true;
+
prometheusConfig = {
+
global = {
+
scrape_interval = "1m";
+
};
+
+
scrape_configs = [
+
{
+
job_name = "vm_koumakan";
+
static_configs = [{targets = ["${builtins.toString config.services.victoriametrics.listenAddress}"];}];
+
}
+
+
# node exporters
+
{
+
job_name = "koumakan";
+
static_configs = [{targets = ["localhost:${builtins.toString config.services.prometheus.exporters.node.port}"];}];
+
}
+
+
# other services' metrics
+
{
+
job_name = "nginx_koumakan";
+
static_configs = [{targets = ["localhost:${builtins.toString config.services.prometheus.exporters.nginx.port}"];}];
+
}
+
+
];
+
};
+
};
}