mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-11 22:14:02 +01:00
docker: monitor Redis and Kafka using Alloy internal exporter
This commit is contained in:
@@ -60,9 +60,40 @@ discovery.relabel "prometheus" {
|
||||
replacement = "/metrics"
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.scrape "docker" {
|
||||
targets = discovery.relabel.prometheus.output
|
||||
forward_to = [prometheus.remote_write.default.receiver]
|
||||
scrape_interval = "30s"
|
||||
}
|
||||
|
||||
prometheus.exporter.redis "docker" {
|
||||
redis_addr = "redis:6379"
|
||||
}
|
||||
discovery.relabel "redis" {
|
||||
targets = prometheus.exporter.redis.docker.targets
|
||||
rule {
|
||||
target_label = "job"
|
||||
replacement = "redis"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "redis" {
|
||||
targets = discovery.relabel.redis.output
|
||||
forward_to = [prometheus.remote_write.default.receiver]
|
||||
scrape_interval = "30s"
|
||||
}
|
||||
|
||||
prometheus.exporter.kafka "docker" {
|
||||
kafka_uris = ["kafka:9092"]
|
||||
}
|
||||
discovery.relabel "kafka" {
|
||||
targets = prometheus.exporter.kafka.docker.targets
|
||||
rule {
|
||||
target_label = "job"
|
||||
replacement = "kafka"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kafka" {
|
||||
targets = discovery.relabel.kafka.output
|
||||
forward_to = [prometheus.remote_write.default.receiver]
|
||||
scrape_interval = "30s"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
volumes:
|
||||
akvorado-prometheus:
|
||||
akvorado-jmx-agent:
|
||||
|
||||
services:
|
||||
# Store metrics
|
||||
@@ -20,6 +19,10 @@ services:
|
||||
# Those are not the defaults
|
||||
- --web.enable-remote-write-receiver
|
||||
- --web.external-url=/prometheus
|
||||
healthcheck:
|
||||
interval: 20s
|
||||
test: ["CMD",
|
||||
"promtool", "check", "healthy", "--url=http://127.0.0.1:9090/prometheus"]
|
||||
expose:
|
||||
- 9090/tcp
|
||||
labels:
|
||||
@@ -37,7 +40,10 @@ services:
|
||||
volumes:
|
||||
- ./alloy/prometheus.alloy:/etc/alloy/prometheus.alloy
|
||||
depends_on:
|
||||
- prometheus
|
||||
prometheus:
|
||||
condition: service_healthy
|
||||
kafka:
|
||||
condition: service_healthy
|
||||
|
||||
# Node exporter for host metrics
|
||||
node-exporter:
|
||||
@@ -81,21 +87,3 @@ services:
|
||||
- 8080/tcp
|
||||
labels:
|
||||
- metrics.port=8080
|
||||
|
||||
# Kafka monitoring
|
||||
jmx-exporter-downloader:
|
||||
image: alpine:latest
|
||||
command: /usr/local/bin/jmx-exporter-download.sh
|
||||
volumes:
|
||||
- akvorado-jmx-agent:/opt/jmx-exporter
|
||||
- ./jmx-exporter-download.sh:/usr/local/bin/jmx-exporter-download.sh
|
||||
kafka:
|
||||
depends_on:
|
||||
jmx-exporter-downloader:
|
||||
condition: service_completed_successfully
|
||||
environment:
|
||||
KAFKA_OPTS: >-
|
||||
-javaagent:/opt/jmx-exporter/jmx_prometheus_javaagent.jar=9100:/etc/kafka/jmx-exporter.yaml
|
||||
volumes:
|
||||
- akvorado-jmx-agent:/opt/jmx-exporter
|
||||
- ./kafka-jmx-exporter-config.yaml:/etc/kafka/jmx-exporter.yaml
|
||||
|
||||
@@ -47,10 +47,7 @@ services:
|
||||
healthcheck:
|
||||
interval: 20s
|
||||
test: ["CMD",
|
||||
"env", "-u", "KAFKA_OPTS",
|
||||
"/opt/kafka/bin/kafka-topics.sh", "--list", "--bootstrap-server", "kafka:9092"]
|
||||
labels:
|
||||
- metrics.port=9100
|
||||
|
||||
kafka-ui:
|
||||
extends:
|
||||
|
||||
Reference in New Issue
Block a user