// metrics - prometheus srv prometheus.remote_write "prom_srv" { endpoint { url = "{{ prometheus.remote_write.endpoint.url }}" } } // metrics - scrape config prometheus.scrape "integrations_node_exporter" { scrape_interval = "15s" targets = discovery.relabel.integrations_node_exporter.output forward_to = [prometheus.remote_write.prom_srv.receiver] } // metrics - relabel discovery.relabel "integrations_node_exporter" { targets = prometheus.exporter.unix.integrations_node_exporter.targets rule { target_label = "instance" replacement = constants.hostname } rule { target_label = "job" replacement = "node-exporter" } } // metrics - node exporter prometheus.exporter.unix "integrations_node_exporter" { disable_collectors = ["ipvs", "btrfs", "infiniband", "xfs", "zfs"] enable_collectors = ["meminfo"] filesystem { fs_types_exclude = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|tmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$" mount_points_exclude = "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+)($|/)" mount_timeout = "5s" } netclass { ignored_devices = "^(veth.*|cali.*|[a-f0-9]{15})$" } netdev { device_exclude = "^(veth.*|cali.*|[a-f0-9]{15})$" } } // logs loki loki.write "loki_srv" { endpoint { url = "{{ loki.endpoint.url }}" } } // logs - journald loki.source.journal "logs_journal_scrape" { max_age = "24h0m0s" relabel_rules = discovery.relabel.logs_journal_scrape.rules forward_to = [loki.write.loki_srv.receiver] labels = { host = "{{ inventory_hostname }}", {% if loki.labels is defined and loki.labels %} {% for key, value in loki.labels.items() %} {{ key }} = "{{ value }}", {% endfor %} {% endif %} } } // logs - journald - relabel discovery.relabel "logs_journal_scrape" { targets = [] rule { source_labels = ["__journal__systemd_unit"] target_label = "systemd_unit" } rule { source_labels = ["__journal_syslog_identifier"] target_label = "syslog_identifier" } rule { source_labels = ["__journal__transport"] target_label = "journal_transport" } rule { source_labels = ["__journal_priority_keyword"] target_label = "level" } }