Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prometheus.remote_write "metrics_service" {
- endpoint {
- url = "https://[YOUR PROMETHEUS ENDPOINT]/api/v1/write"
- }
- }
- loki.write "grafana_loki" {
- endpoint {
- url = "https://[YOUR LOKI ENDPOINT]/loki/api/v1/push"
- }
- }
- discovery.relabel "metrics_integrations_integrations_traefik" {
- targets = [{
- __address__ = "localhost:8082"
- }]
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- }
- prometheus.scrape "metrics_integrations_integrations_traefik" {
- targets = discovery.relabel.metrics_integrations_integrations_traefik.output
- forward_to = [prometheus.relabel.metrics_integrations_integrations_traefik.receiver]
- job_name = "integrations/traefik"
- }
- prometheus.relabel "metrics_integrations_integrations_traefik" {
- forward_to = [prometheus.remote_write.metrics_service.receiver]
- rule {
- source_labels = ["__name__"]
- regex = "up|traefik_entrypoint_requests_total|traefik_service_request_duration_seconds_sum|traefik_service_requests_total"
- action = "keep"
- }
- }
- discovery.relabel "metrics_integrations_integrations_crowdsec" {
- targets = [{
- __address__ = "127.0.0.1:6060"
- }]
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- }
- prometheus.scrape "metrics_integrations_integrations_crowdsec" {
- targets = discovery.relabel.metrics_integrations_integrations_crowdsec.output
- forward_to = [prometheus.relabel.metrics_integrations_integrations_crowdsec.receiver]
- job_name = "integrations/crowdsec"
- scrape_interval = "30s"
- }
- prometheus.relabel "metrics_integrations_integrations_crowdsec" {
- forward_to = [prometheus.remote_write.metrics_service.receiver]
- rule {
- source_labels = ["__name__"]
- regex = "up|crowdsec_.*|cs_.*"
- action = "keep"
- }
- }
- 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 = "integrations/node_exporter"
- }
- }
- prometheus.exporter.unix "integrations_node_exporter" {
- disable_collectors = ["ipvs", "btrfs", "infiniband", "xfs", "zfs"]
- 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})$"
- }
- }
- prometheus.scrape "integrations_node_exporter" {
- targets = discovery.relabel.integrations_node_exporter.output
- forward_to = [prometheus.relabel.integrations_node_exporter.receiver]
- }
- prometheus.relabel "integrations_node_exporter" {
- forward_to = [prometheus.remote_write.metrics_service.receiver]
- rule {
- source_labels = ["__name__"]
- regex = "up|traefik_entrypoint_requests_total|traefik_service_request_duration_seconds_sum|traefik_service_requests_total"
- action = "keep"
- }
- }
- loki.relabel "integrations_node_exporter" {
- forward_to = [loki.write.grafana_loki.receiver]
- rule {
- target_label = "job"
- replacement = "integrations/node_exporter"
- }
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- }
- journal_module "integrations_node_exporter" {
- forward_to = [loki.relabel.integrations_node_exporter.receiver]
- }
- //JOURNAL
- declare "journal_module" {
- argument "forward_to" {
- optional = false
- }
- loki.source.journal "default" {
- max_age = "12h0m0s"
- forward_to = [loki.process.default.receiver]
- relabel_rules = loki.relabel.default.rules
- }
- loki.relabel "default" {
- rule {
- source_labels = ["__journal__systemd_unit"]
- target_label = "unit"
- }
- rule {
- source_labels = ["__journal__boot_id"]
- target_label = "boot_id"
- }
- rule {
- source_labels = ["__journal__transport"]
- target_label = "transport"
- }
- rule {
- source_labels = ["__journal_priority_keyword"]
- target_label = "level"
- }
- forward_to = []
- }
- loki.process "default" {
- forward_to = argument.forward_to.value
- }
- }
- prometheus.exporter.cadvisor "integrations_cadvisor" {
- docker_only = true
- }
- discovery.relabel "integrations_cadvisor" {
- targets = prometheus.exporter.cadvisor.integrations_cadvisor.targets
- rule {
- target_label = "job"
- replacement = "integrations/docker"
- }
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- }
- prometheus.scrape "integrations_cadvisor" {
- targets = discovery.relabel.integrations_cadvisor.output
- forward_to = [prometheus.remote_write.metrics_service.receiver]
- }
- discovery.docker "logs_integrations_docker" {
- host = "unix:///var/run/docker.sock"
- refresh_interval = "5s"
- }
- discovery.relabel "logs_integrations_docker" {
- targets = []
- rule {
- target_label = "job"
- replacement = "integrations/docker"
- }
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- rule {
- source_labels = ["__meta_docker_container_name"]
- regex = "/(.*)"
- target_label = "container"
- }
- rule {
- source_labels = ["__meta_docker_container_log_stream"]
- target_label = "stream"
- }
- }
- loki.source.docker "logs_integrations_docker" {
- host = "unix:///var/run/docker.sock"
- targets = discovery.docker.logs_integrations_docker.targets
- forward_to = [loki.write.grafana_loki.receiver]
- relabel_rules = discovery.relabel.logs_integrations_docker.rules
- refresh_interval = "5s"
- }
Advertisement
Add Comment
Please, Sign In to add comment