roles/dockerserver: initial grafana alloy config

This commit is contained in:
2025-08-10 15:46:39 -07:00
parent d229055cfe
commit 2c52e86a69

View File

@@ -11,6 +11,8 @@ with lib;
let
cfg = config.dockerserver;
refreshInterval = "5s";
dockerSocket = "/run/docker.sock";
in
{
options.dockerserver = {
@@ -33,6 +35,43 @@ in
};
};
environment.etc."alloy/docker.alloy".text = ''
discovery.docker "docker_containers" {
host = "${dockerSocket}"
refresh_interval = "${refreshInterval}"
}
discovery.relabel "docker_relabel" {
targets = []
rule {
source_labels = ["__meta_docker_container_name"]
regex = "/(.*)"
target_label = "container"
}
rule {
source_labels = ["__meta_docker_container_log_stream"]
target_label = "logstream"
}
rule {
source_labels = ["__meta_docker_container_label_logging_jobname"]
target_label = "job"
}
}
loki.source.docker "docker_logs" {
host = "${dockerSocket}"
targets = discovery.docker.docker_containers.targets
forward_to = [loki.write.default.receiver]
relabel_rules = discovery.relabel.docker_relabel.rules
refresh_interval = "${refreshInterval}"
}
'';
systemd.services.alloy.serviceConfig.SupplementaryGroups = [ "docker" ];
users.users.etorres.extraGroups = [ "docker" ];
};
}