50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ logNginx, lokiAddress, config, pkgs, ... }:
|
|
|
|
let
|
|
basecfg = ''
|
|
server:
|
|
http_listen_port: 9080
|
|
grpc_listen_port: 0
|
|
|
|
positions:
|
|
filename: /tmp/positions.yaml
|
|
|
|
clients:
|
|
- url: http://${lokiAddress}:3100/loki/api/v1/push
|
|
'';
|
|
|
|
withNginx = ''
|
|
scrape_configs:
|
|
- job_name: journal
|
|
journal:
|
|
max_age: 12h
|
|
labels:
|
|
job: systemd-journal
|
|
host: ${config.networking.hostName}
|
|
relabel_configs:
|
|
- source_labels: ["__journal__systemd_unit"]
|
|
target_label: "unit"
|
|
- job_name: nginx
|
|
static_configs:
|
|
- targets:
|
|
- localhost
|
|
labels:
|
|
job: nginx
|
|
__path__: /var/log/nginx/*log
|
|
'';
|
|
|
|
withoutNginx = ''
|
|
scrape_configs:
|
|
- job_name: journal
|
|
journal:
|
|
max_age: 12h
|
|
labels:
|
|
job: systemd-journal
|
|
host: ${config.networking.hostName}
|
|
relabel_configs:
|
|
- source_labels: ["__journal__systemd_unit"]
|
|
target_label: "unit"
|
|
'';
|
|
in
|
|
pkgs.writeText "promtailcfg.yaml" (if logNginx then ''${basecfg}${withNginx}'' else ''${basecfg}${withoutNginx}'')
|