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"
}
}