Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa9e7ee673
|
||
|
|
33e767737a
|
||
|
|
e22d6bae83
|
||
|
|
cffb387580
|
@@ -52,7 +52,32 @@ prometheus.scrape "default" {
|
|||||||
prometheus.exporter.cadvisor.docker.targets,
|
prometheus.exporter.cadvisor.docker.targets,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
forward_to = [prometheus.relabel.container_meta.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
prometheus.relabel "container_meta" {
|
||||||
forward_to = [prometheus.remote_write.prometheus.receiver]
|
forward_to = [prometheus.remote_write.prometheus.receiver]
|
||||||
|
|
||||||
|
// remove sha tail: nginx:1.31.1@sha256:608a... -> nginx:1.31.1
|
||||||
|
rule {
|
||||||
|
source_labels = ["image"]
|
||||||
|
regex = "([^@]+)@sha256:.*"
|
||||||
|
target_label = "image"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
|
// split image in name and tag
|
||||||
|
rule {
|
||||||
|
source_labels = ["image"]
|
||||||
|
regex = "(.+):[^:/]+"
|
||||||
|
target_label = "image_name"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
source_labels = ["image"]
|
||||||
|
regex = ".+:([^:/]+)"
|
||||||
|
target_label = "image_tag"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
prometheus.remote_write "prometheus" {
|
prometheus.remote_write "prometheus" {
|
||||||
@@ -109,6 +134,11 @@ discovery.relabel "metrics" {
|
|||||||
action = "keep"
|
action = "keep"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rule {
|
||||||
|
action = "labelmap"
|
||||||
|
regex = "__meta_dockerswarm_container_label_coop_cloud_(.+)"
|
||||||
|
}
|
||||||
|
|
||||||
// default to port 80 when prometheus.io/port isn't set
|
// default to port 80 when prometheus.io/port isn't set
|
||||||
rule {
|
rule {
|
||||||
source_labels = ["__meta_dockerswarm_service_label_prometheus_io_port"]
|
source_labels = ["__meta_dockerswarm_service_label_prometheus_io_port"]
|
||||||
@@ -275,6 +305,10 @@ discovery.relabel "docker" {
|
|||||||
source_labels = ["__meta_docker_container_log_stream"]
|
source_labels = ["__meta_docker_container_log_stream"]
|
||||||
target_label = "stream"
|
target_label = "stream"
|
||||||
}
|
}
|
||||||
|
rule {
|
||||||
|
action = "labelmap"
|
||||||
|
regex = "__meta_docker_container_label_coop_cloud_(.+)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loki.source.docker "docker" {
|
loki.source.docker "docker" {
|
||||||
@@ -290,7 +324,35 @@ loki.source.docker "docker" {
|
|||||||
loki.source.journal "journal" {
|
loki.source.journal "journal" {
|
||||||
path = "/rootfs/var/log/journal"
|
path = "/rootfs/var/log/journal"
|
||||||
labels = { job = "{{ env "DOMAIN" }}" }
|
labels = { job = "{{ env "DOMAIN" }}" }
|
||||||
|
relabel_rules = loki.relabel.journal.rules
|
||||||
|
forward_to = [loki.process.journal.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.relabel "journal" {
|
||||||
|
forward_to = []
|
||||||
|
|
||||||
|
rule {
|
||||||
|
source_labels = ["__journal__systemd_unit"]
|
||||||
|
target_label = "unit"
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
source_labels = ["__journal_syslog_identifier"]
|
||||||
|
target_label = "ident"
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
source_labels = ["__journal_priority_keyword"]
|
||||||
|
target_label = "priority"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// drop network db stats (15-20% of kernel logs)
|
||||||
|
loki.process "journal" {
|
||||||
forward_to = [loki.write.loki.receiver]
|
forward_to = [loki.write.loki.receiver]
|
||||||
|
|
||||||
|
stage.drop {
|
||||||
|
expression = ".*NetworkDB stats.*"
|
||||||
|
drop_counter_reason = "networkdb_stats"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user