diff --git a/templates/config.alloy.erb b/templates/config.alloy.erb index 6637418..9bc1ea5 100644 --- a/templates/config.alloy.erb +++ b/templates/config.alloy.erb @@ -16,51 +16,23 @@ loki.source.file "system_logs" { forward_to = [loki.relabel.add_labels.receiver] } -// Parse hostname from log lines (if structured) -loki.process "parse_hostname" { +// Add hostname as a label explicitly +loki.process "add_hostname" { forward_to = [loki.relabel.add_labels.receiver] - stage.match { - selector = "{filename=~\"/var/log/.*\"}" - stage.regex { - expression = "^(?P[^ ]+ [^ ]+) (?P[^ ]+) .*" - source = "__content__" - } - stage.labels { - values = { - hostname = "hostname", // Extracted from log line - } - } - } - // Fallback: Set hostname explicitly if not parsed stage.static_labels { 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" { forward_to = [loki.write.loki.receiver] rule { action = "replace" target_label = "job" - replacement = "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 + replacement = "syslogs" // Or any name you prefer, e.g., "syslogs" } }