roles/dockerserver: initial grafana alloy config
This commit is contained in:
@@ -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" ];
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user