88 lines
1.5 KiB
Plaintext
88 lines
1.5 KiB
Plaintext
discovery.docker "local" {
|
|
host = "unix:///var/run/docker.sock"
|
|
refresh_interval = "5s"
|
|
}
|
|
|
|
discovery.relabel "docker" {
|
|
targets = discovery.docker.local.targets
|
|
|
|
//
|
|
// Container Name
|
|
//
|
|
rule {
|
|
source_labels = ["__meta_docker_container_name"]
|
|
regex = "/(.*)"
|
|
replacement = "$1"
|
|
target_label = "container"
|
|
}
|
|
|
|
//
|
|
// Docker Compose
|
|
//
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
|
target_label = "service"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_project"]
|
|
target_label = "compose_project"
|
|
}
|
|
|
|
//
|
|
// Image
|
|
//
|
|
rule {
|
|
source_labels = ["__meta_docker_container_image"]
|
|
target_label = "image"
|
|
}
|
|
|
|
//
|
|
// stdout / stderr
|
|
//
|
|
rule {
|
|
source_labels = ["__meta_docker_container_log_stream"]
|
|
target_label = "stream"
|
|
}
|
|
|
|
//
|
|
// Query 用
|
|
//
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
|
target_label = "job"
|
|
}
|
|
}
|
|
|
|
loki.process "docker" {
|
|
|
|
stage.static_labels {
|
|
values = {
|
|
node = env("NODE_NAME"),
|
|
environment = env("ENVIRONMENT"),
|
|
platform = "docker",
|
|
}
|
|
}
|
|
|
|
forward_to = [loki.write.default.receiver]
|
|
}
|
|
|
|
loki.source.docker "local" {
|
|
host = "unix:///var/run/docker.sock"
|
|
|
|
targets = discovery.relabel.docker.output
|
|
|
|
refresh_interval = "5s"
|
|
|
|
forward_to = [
|
|
loki.process.docker.receiver,
|
|
]
|
|
}
|
|
|
|
loki.write "default" {
|
|
|
|
endpoint {
|
|
url = env("LOKI_URL")
|
|
tenant_id = env("LOKI_TENANT")
|
|
}
|
|
} |