aboutsummaryrefslogtreecommitdiff
path: root/modules/monitoring/prometheus.nix
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-06-13 21:50:54 +0530
committerAkshay Nair <phenax5@gmail.com>2025-06-13 21:50:54 +0530
commite11b9a851851bb47109545093e3accdbcab76859 (patch)
treee733232829ccca32d6ff3cfc88e4794222448676 /modules/monitoring/prometheus.nix
parent6df186662a37b17015959bf0d6b456ab282b1826 (diff)
downloadhomeserver-nixos-config-e11b9a851851bb47109545093e3accdbcab76859.tar.gz
homeserver-nixos-config-e11b9a851851bb47109545093e3accdbcab76859.zip
Add grafana+prometheus + embed into dashboard
Diffstat (limited to 'modules/monitoring/prometheus.nix')
-rw-r--r--modules/monitoring/prometheus.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/monitoring/prometheus.nix b/modules/monitoring/prometheus.nix
new file mode 100644
index 0000000..5f71c58
--- /dev/null
+++ b/modules/monitoring/prometheus.nix
@@ -0,0 +1,34 @@
+{ lib, ... }:
+let
+ settings = import ../../settings.nix { inherit lib; };
+ ports = settings.network.ports;
+in
+{
+ services.prometheus = {
+ enable = true;
+ port = ports.prometheus;
+
+ exporters.node = {
+ enable = true;
+ port = ports.prometheusNodeExporter;
+ enabledCollectors = [ "systemd" ];
+ extraFlags = [
+ "--collector.ethtool"
+ "--collector.softirqs"
+ "--collector.tcpstat"
+ "--collector.wifi"
+ ];
+ };
+
+ scrapeConfigs = [
+ {
+ job_name = "system";
+ scrape_interval = "10s";
+ static_configs = [{
+ targets = [ "127.0.0.1:${toString ports.prometheusNodeExporter}" ];
+ }];
+ }
+ ];
+ };
+}
+