logging { level = "info" } // 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" } 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" } }