2025-07-20 23:27:50 +00:00
|
|
|
logging {
|
|
|
|
|
level = "info"
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-07 03:19:55 +00:00
|
|
|
// Prometheus remote write endpoint
|
|
|
|
|
prometheus.remote_write "put_gay" {
|
|
|
|
|
endpoint {
|
|
|
|
|
url = "https://vm.put.gay/api/v1/write"
|
|
|
|
|
basic_auth {
|
|
|
|
|
username = "ingest"
|
|
|
|
|
password = "{{hostvars[inventory_hostname].metrics_password}}"
|
|
|
|
|
}
|
|
|
|
|
write_relabel_config {
|
|
|
|
|
target_label = "host"
|
|
|
|
|
replacement = "{{hostvars[inventory_hostname].public_dns}}"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scrape node_exporter
|
|
|
|
|
prometheus.scrape "node_exporter" {
|
|
|
|
|
targets = [
|
|
|
|
|
{"__address__" = "localhost:9100", "target" = "node_exporter"},
|
|
|
|
|
]
|
|
|
|
|
forward_to = [prometheus.remote_write.put_gay.receiver]
|
|
|
|
|
scrape_interval = "5s"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scrape sdns
|
|
|
|
|
prometheus.scrape "sdns" {
|
|
|
|
|
targets = [
|
|
|
|
|
{"__address__" = "localhost:8053", "target" = "sdns"},
|
|
|
|
|
]
|
|
|
|
|
forward_to = [prometheus.remote_write.put_gay.receiver]
|
|
|
|
|
scrape_interval = "5s"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scrape caddy
|
|
|
|
|
prometheus.scrape "caddy" {
|
|
|
|
|
targets = [
|
|
|
|
|
{"__address__" = "localhost:2019", "target" = "caddy"},
|
|
|
|
|
]
|
|
|
|
|
forward_to = [prometheus.remote_write.put_gay.receiver]
|
|
|
|
|
scrape_interval = "5s"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scrape dnsdist
|
|
|
|
|
prometheus.scrape "dnsdist" {
|
|
|
|
|
targets = [
|
|
|
|
|
{"__address__" = "localhost:6060", "target" = "dnsdist"},
|
|
|
|
|
]
|
|
|
|
|
forward_to = [prometheus.remote_write.put_gay.receiver]
|
|
|
|
|
scrape_interval = "5s"
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-20 23:27:50 +00:00
|
|
|
loki.write "default" {
|
|
|
|
|
endpoint {
|
|
|
|
|
url = "https://loki.put.gay/loki/api/v1/push"
|
|
|
|
|
basic_auth {
|
|
|
|
|
username = "loki"
|
|
|
|
|
password = "{{hostvars[inventory_hostname].metrics_password}}"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
local.file_match "system_logs" {
|
|
|
|
|
path_targets = [
|
|
|
|
|
{__path__ = "/var/log/syslog"},
|
|
|
|
|
{__path__ = "/var/log/messages"},
|
|
|
|
|
{__path__ = "/var/log/*.log"},
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loki.source.file "system_logs" {
|
|
|
|
|
targets = local.file_match.system_logs.targets
|
|
|
|
|
forward_to = [loki.write.default.receiver]
|
|
|
|
|
|
|
|
|
|
tail_from_end = true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
local.file_match "journal_logs" {
|
|
|
|
|
path_targets = [
|
|
|
|
|
{__path__ = "/var/log/journal/*/*"},
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loki.source.journal "journal" {
|
|
|
|
|
forward_to = [loki.write.default.receiver]
|
|
|
|
|
relabel_rules = loki.relabel.journal.rules
|
|
|
|
|
labels = {
|
|
|
|
|
job = "systemd-journal",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loki.relabel "journal" {
|
|
|
|
|
forward_to = [loki.write.default.receiver]
|
|
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
source_labels = ["__journal__systemd_unit"]
|
|
|
|
|
target_label = "unit"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
source_labels = ["__journal__hostname"]
|
|
|
|
|
target_label = "hostname"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
source_labels = ["__journal_priority_keyword"]
|
|
|
|
|
target_label = "level"
|
|
|
|
|
}
|
|
|
|
|
}
|