revert hostname label

This commit is contained in:
Arne Teuke
2025-03-11 14:17:15 +01:00
parent bec3125184
commit 72577c5d21

View File

@@ -16,51 +16,23 @@ loki.source.file "system_logs" {
forward_to = [loki.relabel.add_labels.receiver] forward_to = [loki.relabel.add_labels.receiver]
} }
// Parse hostname from log lines (if structured) // Add hostname as a label explicitly
loki.process "parse_hostname" { loki.process "add_hostname" {
forward_to = [loki.relabel.add_labels.receiver] forward_to = [loki.relabel.add_labels.receiver]
stage.match {
selector = "{filename=~\"/var/log/.*\"}"
stage.regex {
expression = "^(?P<timestamp>[^ ]+ [^ ]+) (?P<hostname>[^ ]+) .*"
source = "__content__"
}
stage.labels {
values = {
hostname = "hostname", // Extracted from log line
}
}
}
// Fallback: Set hostname explicitly if not parsed
stage.static_labels { stage.static_labels {
values = { values = {
hostname_fallback = system.hostname, // e.g., fm002 hostname = env("HOSTNAME"), // Pulls from $HOSTNAME, defaults to "unknown-host"
} }
} }
} }
// Refine labels // Add hostname and job labels
loki.relabel "add_labels" { loki.relabel "add_labels" {
forward_to = [loki.write.loki.receiver] forward_to = [loki.write.loki.receiver]
rule { rule {
action = "replace" action = "replace"
target_label = "job" target_label = "job"
replacement = "syslogs" replacement = "syslogs" // Or any name you prefer, e.g., "syslogs"
}
rule {
source_labels = ["__path__"]
target_label = "filename"
}
// Prefer parsed hostname, fallback to system.hostname
rule {
source_labels = ["hostname"]
target_label = "hostname"
}
rule {
source_labels = ["hostname_fallback"]
target_label = "hostname"
action = "replace"
replacement = "${__label:hostname_fallback}" // Only if hostname is unset
} }
} }