From 40185d110a05a5d3ad43b30b8a530a0d6d1f9325 Mon Sep 17 00:00:00 2001 From: DerGrumpf Date: Fri, 10 Apr 2026 22:28:21 +0200 Subject: [PATCH] Added Prometheus Exporter to std config; Added Grafana; --- flake.nix | 12 ++++---- hosts/cyper-node-1/configuration.nix | 5 +++- nixos/default.nix | 14 ++++++++-- nixos/roles/monitoring.nix | 41 ++++++++++++++++++++++++++++ nixos/server/default.nix | 14 ---------- 5 files changed, 61 insertions(+), 25 deletions(-) create mode 100644 nixos/roles/monitoring.nix delete mode 100644 nixos/server/default.nix diff --git a/flake.nix b/flake.nix index 6ab3d8b..1708b75 100644 --- a/flake.nix +++ b/flake.nix @@ -120,19 +120,17 @@ ]; platformModules = - let - nixosBase = [ - { nixpkgs.hostPlatform = system; } - ./nixos - ]; - in if isDarwin then [ ./darwin inputs.nix-homebrew.darwinModules.nix-homebrew ] else - nixosBase ++ (if isServer then [ ./nixos/server ] else [ ]); + [ + { nixpkgs.hostPlatform = system; } + ./nixos + ]; + in systemFunc { inherit system; diff --git a/hosts/cyper-node-1/configuration.nix b/hosts/cyper-node-1/configuration.nix index efdd23a..e5e8913 100644 --- a/hosts/cyper-node-1/configuration.nix +++ b/hosts/cyper-node-1/configuration.nix @@ -1,5 +1,8 @@ { - imports = [ ./hardware-configuration.nix ]; + imports = [ + ./hardware-configuration.nix + ../../nixos/roles/monitoring.nix + ]; networking = { useNetworkd = true; diff --git a/nixos/default.nix b/nixos/default.nix index 656487c..85325f4 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -4,6 +4,7 @@ lib, primaryUser, isServer, + isDarwin, ... }: { @@ -82,9 +83,16 @@ apparmor.enable = false; }; - services.gnome = lib.mkIf (!isServer) { - tinysparql.enable = true; - localsearch.enable = true; + services = { + prometheus.exporters.node = lib.mkIf (!isDarwin) { + enable = true; + port = 9002; + }; + + gnome = lib.mkIf (!isServer) { + tinysparql.enable = true; + localsearch.enable = true; + }; }; users.users.${primaryUser} = { diff --git a/nixos/roles/monitoring.nix b/nixos/roles/monitoring.nix new file mode 100644 index 0000000..72d7b48 --- /dev/null +++ b/nixos/roles/monitoring.nix @@ -0,0 +1,41 @@ +{ config, ... }: +{ + services = { + grafana = { + enable = true; + domain = "grafana.cyperpunk.de"; + port = 2342; + addr = "127.0.0.1"; + }; + + # nginx reverse proxy + nginx.virtualHosts.${config.services.grafana.domain} = { + locations."/" = { + proxyPass = "http://127.0.0.1:${toString config.services.grafana.port}"; + proxyWebsockets = true; + extraConfig = '' + proxy_set_header Host ${config.services.grafana.domain}; + ''; + }; + }; + + prometheus = { + enable = true; + port = 9001; + scrapeConfigs = [ + { + job_name = config.networking.hostName; + static_configs = [ + { + targets = [ + "${config.networking.primaryIPAddress}:${toString config.services.prometheus.exporters.node.port}" + ]; + } + ]; + } + ]; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; +} diff --git a/nixos/server/default.nix b/nixos/server/default.nix deleted file mode 100644 index 9822ae9..0000000 --- a/nixos/server/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ ... }: -{ - services.nginx = { - enable = true; - virtualHosts.localhost = { - locations."/" = { - return = "200 'It works'"; - extraConfig = '' - default_type text/html; - ''; - }; - }; - }; -}