about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hosts/tahoe/services.nix11
-rw-r--r--modules/services/monitoring/grafana.nix4
-rw-r--r--modules/services/monitoring/loki.nix19
-rw-r--r--modules/services/monitoring/prometheus.nix17
4 files changed, 40 insertions, 11 deletions
diff --git a/hosts/tahoe/services.nix b/hosts/tahoe/services.nix
index 4f3ffdb..d497f82 100644
--- a/hosts/tahoe/services.nix
+++ b/hosts/tahoe/services.nix
@@ -23,14 +23,17 @@ in
     };
 
     monitoring = {
-      prometheus.enable = true;
-      grafana = {
+      prometheus = {
         enable = true;
-        vhostName = "dash.fcuny.xyz";
+        listenAddress = "192.168.6.40";
       };
       loki = {
         enable = true;
-        address = "192.168.6.40";
+        listenAddress = "192.168.6.40";
+      };
+      grafana = {
+        enable = true;
+        vhostName = "dash.fcuny.xyz";
       };
       promtail.enable = true;
       node-exporter.enable = true;
diff --git a/modules/services/monitoring/grafana.nix b/modules/services/monitoring/grafana.nix
index 44b0447..9b75fc3 100644
--- a/modules/services/monitoring/grafana.nix
+++ b/modules/services/monitoring/grafana.nix
@@ -29,11 +29,11 @@ in
             name = "prometheus";
             type = "prometheus";
             isDefault = true;
-            url = "http://localhost:9090";
+            url = "http://${config.my.services.monitoring.prometheus.listenAddress}:${toString config.my.services.monitoring.prometheus.listenPort}";
           }
           {
             name = "loki";
-            url = "http://192.168.6.40:3100";
+            url = "http://${config.my.services.monitoring.loki.listenAddress}:${toString config.my.services.monitoring.loki.listenPort}";
             type = "loki";
           }
         ];
diff --git a/modules/services/monitoring/loki.nix b/modules/services/monitoring/loki.nix
index 8092100..65c4bdd 100644
--- a/modules/services/monitoring/loki.nix
+++ b/modules/services/monitoring/loki.nix
@@ -5,10 +5,19 @@ in
 {
   options.my.services.monitoring.loki = with lib; {
     enable = mkEnableOption "loki observability stack";
-    address = mkOption {
+    listenAddress = mkOption {
       type = types.str;
-      example = "192.168.6.40";
-      description = "Listen address";
+      default = "0.0.0.0";
+      description = lib.mdDoc ''
+        Address to listen on.
+      '';
+    };
+    listenPort = mkOption {
+      type = types.port;
+      default = 3100;
+      description = lib.mdDoc ''
+        Port to listen on.
+      '';
     };
   };
 
@@ -22,12 +31,12 @@ in
 
         server = {
           http_listen_port = 3100;
-          http_listen_address = cfg.address;
+          http_listen_address = cfg.listenAddress;
         };
 
         ingester = {
           lifecycler = {
-            address = cfg.address;
+            address = cfg.listenAddress;
             ring = {
               kvstore = { store = "inmemory"; };
               replication_factor = 1;
diff --git a/modules/services/monitoring/prometheus.nix b/modules/services/monitoring/prometheus.nix
index 59cccb6..916302b 100644
--- a/modules/services/monitoring/prometheus.nix
+++ b/modules/services/monitoring/prometheus.nix
@@ -43,6 +43,20 @@ in
 {
   options.my.services.monitoring.prometheus = with lib; {
     enable = mkEnableOption "Prometheus monitoring solution";
+    listenAddress = mkOption {
+      type = types.str;
+      default = "0.0.0.0";
+      description = lib.mdDoc ''
+        Address to listen on.
+      '';
+    };
+    listenPort = mkOption {
+      type = types.port;
+      default = 9090;
+      description = lib.mdDoc ''
+        Port to listen on.
+      '';
+    };
   };
 
   config = lib.mkIf cfg.enable {
@@ -57,6 +71,9 @@ in
     services.prometheus = {
       enable = true;
 
+      port = cfg.listenPort;
+      listenAddress = cfg.listenAddress;
+
       globalConfig.scrape_interval = "15s";
 
       extraFlags = [