Compare commits

7 Commits
main ... alloy

Author SHA1 Message Date
John Lancaster
015725d2cc added build/run task 2025-11-30 13:14:10 -06:00
John Lancaster
85b3c5ee3f added docker socket proxy container 2025-11-30 13:06:26 -06:00
John Lancaster
ad6e33162c changed watchtower container 2025-11-27 13:11:14 -06:00
John Lancaster
ffc472e6b0 removed custom DNS 2025-11-04 02:02:16 -06:00
John Lancaster
36ce983f0e Updated based on example from Grafana 2025-08-05 23:01:56 -05:00
John Lancaster
9946d1bff9 added explicit dns to some services 2025-08-04 22:47:44 -05:00
John Lancaster
6efb480f33 started grafana alloy implementation 2025-07-20 22:00:52 -05:00
3 changed files with 91 additions and 11 deletions

18
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,18 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Docker Compose Up",
"type": "shell",
"problemMatcher": [],
"command": "docker compose up -d --build --force-recreate"
,
"presentation": {
"focus": true,
"panel": "dedicated"
}
}
]
}

View File

@@ -8,21 +8,21 @@ services:
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes - /var/lib/docker/volumes:/var/lib/docker/volumes
alloy:
telegraf-docker: image: grafana/alloy
image: telegraf container_name: grafana-alloy
container_name: telegraf-docker restart: unless-stopped
restart: always
uts: host
user: telegraf:${DOCKER_GUID}
env_file:
- .env
volumes: volumes:
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro - ./grafana-alloy/config.alloy:/etc/alloy/config.alloy
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
command:
- run
- --server.http.listen-addr=0.0.0.0:12345
- --storage.path=/var/lib/alloy/data
- /etc/alloy/config.alloy
watchtower: watchtower:
image: containrrr/watchtower image: nickfedor/watchtower
container_name: watchtower container_name: watchtower
restart: always restart: always
volumes: volumes:
@@ -31,3 +31,16 @@ services:
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
environment: environment:
WATCHTOWER_SCHEDULE: "0 0 3 * * *" WATCHTOWER_SCHEDULE: "0 0 3 * * *"
docker-proxy:
image: ghcr.io/tecnativa/docker-socket-proxy:latest
container_name: docker-proxy
restart: unless-stopped
ports:
- "127.0.0.1:2375:2375"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CONTAINERS=1
- INFO=1
- PING=1

View File

@@ -0,0 +1,49 @@
// https://grafana.com/docs/alloy/latest/monitor/monitor-docker-containers/
prometheus.exporter.cadvisor "docker_metrics" {
docker_host = "unix:///var/run/docker.sock"
storage_duration = "5m"
}
prometheus.scrape "scraper" {
targets = prometheus.exporter.cadvisor.docker_metrics.targets
forward_to = [ prometheus.remote_write.default.receiver ]
scrape_interval = "10s"
}
prometheus.remote_write "default" {
endpoint {
url = "http://prometheus:9090/api/v1/write"
}
}
discovery.docker "linux" {
host = "unix:///var/run/docker.sock"
}
discovery.relabel "logs_integrations_docker" {
targets = []
rule {
source_labels = ["__meta_docker_container_name"]
regex = "/(.*)"
target_label = "service_name"
}
}
loki.source.docker "default" {
host = "unix:///var/run/docker.sock"
targets = discovery.docker.linux.targets
labels = {"platform" = "docker"}
relabel_rules = discovery.relabel.logs_integrations_docker.rules
forward_to = [loki.write.default.receiver]
}
loki.write "default" {
endpoint {
url = "http://loki:3100/loki/api/v1/push"
}
external_labels = {}
}