Configurazione

"Compose"

alloy:
    image: grafana/alloy:latest
    container_name: alloy
    volumes:
      - Grafana-alloy/alloy:/etc/alloy:ro
      - Grafana-alloy/data:/var/lib/alloy/data"
      - "/var/log/journal:/var/log/journal:ro"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/var/lib/docker:/var/lib/docker:ro"
      - "/var/run:/var/run:ro"
      - "/proc:/host/proc:ro"
      - "/sys:/sys:ro"
      - "/:/rootfs:ro"
      - "/dev:/dev:ro"
    command: run --server.http.listen-addr=0.0.0.0:12345 --storage.path=/var/lib/alloy/data /etc/alloy/
    restart: always

"Config File Host-exporter"

prometheus.exporter.unix "system_metrics" {
}

prometheus.scrape "system_metrics" {
  targets    = prometheus.exporter.unix.system_metrics.targets
  job_name   = "system_metrics"
  forward_to = [prometheus.remote_write.demo.receiver]
  scrape_interval = "10s"
}

"Config File Host-Log"

loki.source.journal "sshd" {
  forward_to    = [ loki.write.grafana_loki.receiver ]
  labels        = {Unit = "sshd"}
  path          = "/var/log/journal"
  matches    = "_SYSTEMD_UNIT=ssh.service"
}


loki.source.journal "Network" {
  forward_to    = [ loki.write.grafana_loki.receiver ]
  labels        = {Unit = "Network"}
  path          = "/var/log/journal"
  matches    = "_SYSTEMD_UNIT=systemd-networkd.service"
}


loki.source.journal "Systemd" {
  forward_to    = [ loki.write.grafana_loki.receiver ]
  labels        = {Unit = "Systemd"}
  path          = "/var/log/journal"
  matches = "_COMM=systemd" 
}

"Config File Docker-Log"

discovery.docker "docker" {
  host             = "unix:///var/run/docker.sock"
  refresh_interval = "5s"
}

discovery.relabel "docker" {
  targets = []

  rule {
    source_labels = ["__meta_docker_container_name"]
    regex         = "/(.*)"
    target_label  = "container"
  }
}

loki.source.docker "logs_integrations_docker" {
  host             = "unix:///var/run/docker.sock"
  targets          = discovery.docker.docker.targets
  relabel_rules    = discovery.relabel.docker.rules
  forward_to       = [loki.write.grafana_loki.receiver]
  refresh_interval = "5s"
}


loki.write "grafana_loki" {
  endpoint {
    url = "http://loki:3100/loki/api/v1/push"
  }
}

"Config File Docker-metrics"

prometheus.exporter.cadvisor "example" {
  docker_host = "unix:///var/run/docker.sock"
  storage_duration = "5m"
  store_container_labels = true
}

prometheus.scrape "scraper" {
  targets    = prometheus.exporter.cadvisor.example.targets
  forward_to = [prometheus.remote_write.demo.receiver]
}

prometheus.remote_write "demo" {
  endpoint {
    url = "http://prometheus:9090/api/v1/write"  
  }
}