66 lines
1.5 KiB
Plaintext
66 lines
1.5 KiB
Plaintext
local.file_match "var_logs" {
|
|
path_targets = [
|
|
{ "__address__" = "localhost", "__path__" = "/var/log/messages", "job" = "var-logs", "instance" = constants.hostname },
|
|
{ "__address__" = "localhost", "__path__" = "/var/log/*.log", "job" = "var-logs", "instance" = constants.hostname },
|
|
]
|
|
}
|
|
|
|
loki.relabel "var_logs_processing" {
|
|
rule {
|
|
source_labels = ["__path__"]
|
|
target_label = "filename"
|
|
regex = ".*/(?P<name>[^/]+)\\$"
|
|
replacement = "$${name}"
|
|
}
|
|
|
|
|
|
forward_to = [loki.write.local_loki.receiver]
|
|
}
|
|
|
|
loki.source.file "var_logs_source" {
|
|
targets = local.file_match.var_logs.targets
|
|
forward_to = [loki.relabel.var_logs_processing.receiver]
|
|
}
|
|
|
|
loki.relabel "journald_processing" {
|
|
rule {
|
|
target_label = "hostname"
|
|
replacement = constants.hostname
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__journal__systemd_unit"]
|
|
target_label = "systemd_unit"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__journal__transport"]
|
|
target_label = "transport"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__journal__priority_keyword"]
|
|
target_label = "level"
|
|
}
|
|
|
|
forward_to = [loki.write.local_loki.receiver]
|
|
}
|
|
|
|
loki.source.journal "debian_journald" {
|
|
path = "/var/log/journal"
|
|
max_age = "1h"
|
|
labels = { job = "journald", instance = constants.hostname }
|
|
forward_to = [loki.relabel.journald_processing.receiver]
|
|
}
|
|
|
|
loki.write "local_loki" {
|
|
endpoint {
|
|
url = "http://grafana.narwain.home:3100/loki/api/v1/push"
|
|
}
|
|
|
|
external_labels = {
|
|
cluster = "home-cluster",
|
|
env = "prod",
|
|
}
|
|
}
|