2023-06-30 04:39:01 +02:00
|
|
|
{ config, pkgs, ... }: {
|
|
|
|
# Promtail Logging
|
|
|
|
|
2023-07-04 12:51:41 +02:00
|
|
|
# Import the file:
|
|
|
|
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
|
|
|
|
|
|
|
# Define the secrets
|
|
|
|
sops.secrets.promtail.user = {};
|
|
|
|
sops.secrets.promtail.pass = {};
|
|
|
|
sops.secrets.promtail.url = {};
|
|
|
|
|
2023-06-30 04:39:01 +02:00
|
|
|
# Install the package
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
promtail
|
|
|
|
];
|
|
|
|
|
|
|
|
# Configure the package:
|
|
|
|
# https://mynixos.com/nixpkgs/option/services.promtail.configuration
|
|
|
|
services.promtail = {
|
|
|
|
enable = true;
|
|
|
|
configuration = {
|
2023-06-30 10:59:07 +02:00
|
|
|
server = {
|
|
|
|
http_listen_port = 3031;
|
|
|
|
grpc_listen_port = 0;
|
|
|
|
};
|
|
|
|
positions = {
|
|
|
|
filename = "/tmp/positions.yaml";
|
|
|
|
};
|
|
|
|
clients = [{
|
2023-07-04 13:06:45 +02:00
|
|
|
url = config.sops.secrets.promtail.url.path;
|
2023-06-30 10:59:07 +02:00
|
|
|
basic_auth = {
|
2023-07-04 13:06:45 +02:00
|
|
|
username = config.sops.secrets.promtail.user.path;
|
|
|
|
password = config.sops.secrets.promtail.pass.path;
|
2023-06-30 11:00:20 +02:00
|
|
|
};
|
|
|
|
}];
|
2023-06-30 10:59:07 +02:00
|
|
|
scrape_configs = [{
|
|
|
|
job_name = "journal";
|
|
|
|
journal = {
|
|
|
|
max_age = "12h";
|
|
|
|
labels = {
|
|
|
|
job = "systemd-journal";
|
|
|
|
host = "nixos-p1";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
relabel_configs = [{
|
|
|
|
source_labels = [ "__journal__systemd_unit" ];
|
|
|
|
target_label = "unit";
|
2023-06-30 11:00:20 +02:00
|
|
|
}];
|
|
|
|
}];
|
2023-06-30 04:39:01 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|