about summary refs log tree commit diff
path: root/profiles/monitoring
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-05-12 14:48:50 -0700
committerFranck Cuny <franck@fcuny.net>2023-05-12 14:48:50 -0700
commit21d405ab09a6f79a0eabab8e62d940e0704a57b6 (patch)
tree2dc89cc7cc5e2a8e96c7e7d58aad5e7e988a058e /profiles/monitoring
parentprofiles/monitoring: move node exporter to a profile (diff)
downloadworld-21d405ab09a6f79a0eabab8e62d940e0704a57b6.tar.gz
profiles/monitoring: move promtail to a profile
Diffstat (limited to '')
-rw-r--r--profiles/monitoring/promtail.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/profiles/monitoring/promtail.nix b/profiles/monitoring/promtail.nix
new file mode 100644
index 0000000..23b6669
--- /dev/null
+++ b/profiles/monitoring/promtail.nix
@@ -0,0 +1,54 @@
+{ config, lib, pkgs, ... }:
+{
+  services.promtail.enable = true;
+  services.promtail.configuration = {
+    clients = [{ url = "https://loki.${config.homelab.domain}:3100/loki/api/v1/push"; }];
+    scrape_configs = [
+      {
+        job_name = "journal";
+        journal = {
+          json = true;
+          path = "/var/log/journal";
+          max_age = "12h";
+          labels = {
+            host = config.networking.hostName;
+            job = "journal";
+            "__path__" = "/var/log/journal";
+          };
+        };
+
+        relabel_configs = [
+          {
+            source_labels = [ "__journal__systemd_unit" ];
+            target_label = "unit";
+          }
+          {
+            source_labels = [ "__journal_priority" ];
+            target_label = "priority";
+          }
+          {
+            source_labels = [ "__journal_syslog_identifier" ];
+            target_label = "syslog_id";
+          }
+        ];
+      }
+
+      {
+        job_name = "nginx";
+        static_configs = [{
+          labels = {
+            host = config.networking.hostName;
+            job = "nginx";
+            __path__ = "/var/log/nginx/*";
+          };
+        }];
+      }
+    ];
+
+    server = {
+      http_listen_port = 9832;
+      http_path_prefix = "/promtail";
+      grpc_listen_port = 0;
+    };
+  };
+}