96 lines
1.9 KiB
Plaintext
96 lines
1.9 KiB
Plaintext
logging {
|
|
level = "info"
|
|
format = "logfmt"
|
|
}
|
|
|
|
otelcol.receiver.otlp "api" {
|
|
grpc {
|
|
endpoint = "0.0.0.0:4317"
|
|
}
|
|
|
|
http {
|
|
endpoint = "0.0.0.0:4318"
|
|
}
|
|
|
|
output {
|
|
metrics = [otelcol.processor.transform.metric_labels.input]
|
|
traces = [otelcol.processor.batch.default.input]
|
|
}
|
|
}
|
|
|
|
otelcol.processor.transform "metric_labels" {
|
|
error_mode = "ignore"
|
|
|
|
metric_statements {
|
|
context = "datapoint"
|
|
statements = [
|
|
`set(attributes["service.name"], resource.attributes["service.name"])`,
|
|
`set(attributes["deployment.environment"], resource.attributes["deployment.environment"])`,
|
|
]
|
|
}
|
|
|
|
output {
|
|
metrics = [otelcol.processor.batch.default.input]
|
|
}
|
|
}
|
|
|
|
otelcol.processor.batch "default" {
|
|
output {
|
|
metrics = [otelcol.exporter.prometheus.local.input]
|
|
traces = [otelcol.exporter.otlp.tempo.input]
|
|
}
|
|
}
|
|
|
|
otelcol.exporter.prometheus "local" {
|
|
forward_to = [prometheus.remote_write.local.receiver]
|
|
}
|
|
|
|
prometheus.remote_write "local" {
|
|
endpoint {
|
|
url = "http://prometheus:9090/api/v1/write"
|
|
}
|
|
}
|
|
|
|
otelcol.exporter.otlp "tempo" {
|
|
client {
|
|
endpoint = "tempo:4317"
|
|
|
|
tls {
|
|
insecure = true
|
|
}
|
|
}
|
|
}
|
|
|
|
discovery.docker "linux" {
|
|
host = "unix:///var/run/docker.sock"
|
|
}
|
|
|
|
discovery.relabel "docker_logs" {
|
|
targets = []
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_name"]
|
|
regex = "/(.*)"
|
|
target_label = "service_name"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
|
target_label = "compose_service"
|
|
}
|
|
}
|
|
|
|
loki.source.docker "default" {
|
|
host = "unix:///var/run/docker.sock"
|
|
targets = discovery.docker.linux.targets
|
|
labels = {"platform" = "docker"}
|
|
relabel_rules = discovery.relabel.docker_logs.rules
|
|
forward_to = [loki.write.local.receiver]
|
|
}
|
|
|
|
loki.write "local" {
|
|
endpoint {
|
|
url = "http://loki:3100/loki/api/v1/push"
|
|
}
|
|
}
|