Update my exporters

This commit is contained in:
Greg Hellings
2025-11-20 23:14:15 -06:00
parent 33649e8a61
commit 5ae91f18ba
2 changed files with 73 additions and 33 deletions
+16 -3
View File
@@ -175,9 +175,22 @@ in
enable = true; enable = true;
settings.X11Forwarding = true; settings.X11Forwarding = true;
}; };
prometheus.exporters.node = { prometheus.exporters = {
enable = true; node = {
enabledCollectors = [ "ethtool" "logind" "mountstats" "systemd" "tcpstat" ]; enable = true;
enabledCollectors = [ "ethtool" "logind" "mountstats" "systemd" "tcpstat" ];
};
ping = {
enable = true;
settings = {
ping = {
interval = "10s";
timeout = "5s";
};
targets = [ "thehellings.com" "genesis.shire-zebra.ts.net" "www.google.com" ];
};
};
systemd.enable = true;
}; };
}; };
+57 -30
View File
@@ -2,7 +2,13 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, top, ... }: {
config,
lib,
pkgs,
top,
...
}:
let let
wanInterface = "enp2s0"; wanInterface = "enp2s0";
lanInterface = "enp1s0"; lanInterface = "enp1s0";
@@ -93,21 +99,25 @@ in
enable = true; enable = true;
provision = { provision = {
enable = true; enable = true;
dashboards.settings.providers = [{ dashboards.settings.providers = [
name = "Dashboards"; {
disableDeletion = true; name = "Dashboards";
options = { disableDeletion = true;
path = "/etc/grafana-dashboards"; options = {
foldersFromFilesStructure = true; path = "/etc/grafana-dashboards";
}; foldersFromFilesStructure = true;
}]; };
datasources.settings.datasources = [{ }
name = "Prometheus"; ];
type = "prometheus"; datasources.settings.datasources = [
url = "http://${config.services.prometheus.listenAddress}:${toString config.services.prometheus.port}"; {
isDefault = true; name = "Prometheus";
editable = false; type = "prometheus";
}]; url = "http://${config.services.prometheus.listenAddress}:${toString config.services.prometheus.port}";
isDefault = true;
editable = false;
}
];
}; };
settings = { settings = {
server = { server = {
@@ -122,22 +132,39 @@ in
}; };
prometheus = { prometheus = {
enable = true; enable = true;
exporters.graphite.enable = true;
globalConfig.scrape_interval = "10s"; globalConfig.scrape_interval = "10s";
scrapeConfigs = [ { scrapeConfigs = [
job_name = "node stats"; {
static_configs = [{ job_name = "node stats";
targets = [ static_configs = [
"localhost:${toString config.services.prometheus.exporters.node.port}" {
"isaiah.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" targets = lib.flatten (
"jeremiah.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" lib.map
"zeke.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" (n: [
"genesis.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" "${n}.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}"
"exodus.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" "${n}.shire-zebra.ts.net:${toString config.services.prometheus.exporters.systemd.port}"
"linode.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" "${n}.shire-zebra.ts.net:${toString config.services.prometheus.exporters.ping.port}"
"vm-gitlab.shire-zebra.ts.net:${toString config.services.prometheus.exporters.node.port}" ])
[
"hosea"
"isaiah"
"jeremiah"
"zeke"
"genesis"
"exodus"
"linode"
"vm-gitlab"
]
) ++ [
"hosea.shire-zebra.ts.net:${toString config.services.prometheus.exporters.graphite.port}"
"genesis.shire-zebra.ts.net:${toString config.services.prometheus.exporters.kea.port}"
"genesis.shire-zebra.ts.net:${toString config.services.prometheus.exporters.dnsmasq.port}"
];
}
]; ];
}]; }
} ]; ];
}; };
# Configure keymap # Configure keymap
xserver.xkb = { xserver.xkb = {