From 48952e024bc566d892f069d5831393a86a324660 Mon Sep 17 00:00:00 2001 From: Bray Date: Wed, 8 Apr 2026 01:22:21 -0400 Subject: [PATCH] chore: Add Loki and Promtail to master --- master/docker-compose.yml | 26 +++++++++++++++++++++++++ master/loki-data/local-config.yaml | 31 ++++++++++++++++++++++++++++++ master/promtail/config.yml | 31 ++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 master/loki-data/local-config.yaml create mode 100644 master/promtail/config.yml diff --git a/master/docker-compose.yml b/master/docker-compose.yml index fdbac9a..b7a6b6c 100644 --- a/master/docker-compose.yml +++ b/master/docker-compose.yml @@ -28,6 +28,32 @@ networks: - monitor-net + loki: + image: grafana/loki:latest + container_name: loki + ports: + - "3100:3100" + volumes: + - ./loki-data:/loki + - ./loki-data/local-config.yaml:/etc/loki/local-config.yaml + command: -config.file=/etc/loki/local-config.yaml + networks: + - monitor-net + restart: unless-stopped + + promtail: + image: grafana/promtail:latest + container_name: promtail + volumes: + - /var/log:/var/log:ro + - /var/lib/docker/containers:/var/lib/docker/containers:ro + - /var/run/docker.sock:/var/run/docker.sock + - ./promtail/config.yml:/etc/promtail/config.yml + command: -config.file=/etc/promtail/config.yml + networks: + - monitor-net + restart: unless-stopped + authentik-server: image: ghcr.io/goauthentik/server:latest container_name: authentik-server diff --git a/master/loki-data/local-config.yaml b/master/loki-data/local-config.yaml new file mode 100644 index 0000000..c578052 --- /dev/null +++ b/master/loki-data/local-config.yaml @@ -0,0 +1,31 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + grpc_listen_port: 9096 + +common: + instance_addr: 127.0.0.1 + path_prefix: /loki + storage: + filesystem: + chunks_directory: /loki/chunks + rules_directory: /loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +# This section fixes the "Structured Metadata" error +limits_config: + allow_structured_metadata: false + +schema_config: + configs: + - from: 2024-01-01 + store: tsdb # Changed from boltdb-shipper + object_store: filesystem + schema: v13 # Changed from v11 + index: + prefix: index_ + period: 24h \ No newline at end of file diff --git a/master/promtail/config.yml b/master/promtail/config.yml new file mode 100644 index 0000000..f9199c0 --- /dev/null +++ b/master/promtail/config.yml @@ -0,0 +1,31 @@ +server: + http_listen_port: 9080 + grpc_listen_port: 0 + +positions: + filename: /tmp/positions.yaml + +clients: + - url: http://loki:3100/loki/api/v1/push + +scrape_configs: + # Captures system logs (auth, syslog, etc.) + - job_name: system + static_configs: + - targets: + - localhost + labels: + job: varlogs + host: vm1 + __path__: /var/log/*log + + # Captures all Docker container logs + - job_name: docker + docker_sd_configs: + - host: unix:///var/run/docker.sock + relabel_configs: + - source_labels: ['__meta_docker_container_name'] + regex: '/(.*)' + target_label: 'container' + - source_labels: ['__meta_docker_container_log_stream'] + target_label: 'stream' \ No newline at end of file