76 lines
2 KiB
Nix
76 lines
2 KiB
Nix
{config, ...}: let
|
|
promtail_port = 9080;
|
|
in {
|
|
networking.firewall.allowedTCPPorts = [promtail_port];
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /var/lib/promtail 0755 promtail promtail -"
|
|
];
|
|
|
|
services.promtail = {
|
|
enable = true;
|
|
configuration = {
|
|
server = {
|
|
http_listen_port = promtail_port;
|
|
grpc_listen_port = 0;
|
|
};
|
|
positions = {
|
|
filename = "/var/lib/promtail/positions.yaml";
|
|
};
|
|
clients = [
|
|
{
|
|
url = "http://monitor.lab:3100/loki/api/v1/push";
|
|
}
|
|
];
|
|
scrape_configs = [
|
|
{
|
|
job_name = "journal";
|
|
journal = {
|
|
path = "/var/log/journal";
|
|
labels = {
|
|
job = "promtail";
|
|
host = config.networking.hostName;
|
|
env = "proxmox";
|
|
instance = "${config.networking.hostName}.lab";
|
|
};
|
|
};
|
|
relabel_configs = [
|
|
{
|
|
source_labels = ["__journal__systemd_unit"];
|
|
target_label = "unit";
|
|
}
|
|
{
|
|
source_labels = ["__journal__hostname"];
|
|
target_label = "host";
|
|
}
|
|
{
|
|
source_labels = ["__journal__systemd_user_unit"];
|
|
target_label = "user_unit";
|
|
}
|
|
{
|
|
source_labels = ["__journal__transport"];
|
|
target_label = "transport";
|
|
}
|
|
{
|
|
source_labels = ["__journal_priority_keyword"];
|
|
target_label = "severity";
|
|
}
|
|
];
|
|
}
|
|
# {
|
|
# job_name = "secure";
|
|
# static_configs = {
|
|
# targets = ["localhost"];
|
|
# labels = {
|
|
# job = "secure";
|
|
# host = config.networking.hostName;
|
|
# env = "proxmox";
|
|
# instance = "${config.networking.hostName}.lab";
|
|
# __path__ = "/var/log/secure";
|
|
# };
|
|
# };
|
|
# }
|
|
];
|
|
};
|
|
};
|
|
}
|