mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-12 06:24:10 +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"
|
replacement = "/metrics"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
prometheus.scrape "docker" {
|
prometheus.scrape "docker" {
|
||||||
targets = discovery.relabel.prometheus.output
|
targets = discovery.relabel.prometheus.output
|
||||||
forward_to = [prometheus.remote_write.default.receiver]
|
forward_to = [prometheus.remote_write.default.receiver]
|
||||||
scrape_interval = "30s"
|
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:
|
volumes:
|
||||||
akvorado-prometheus:
|
akvorado-prometheus:
|
||||||
akvorado-jmx-agent:
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Store metrics
|
# Store metrics
|
||||||
@@ -20,6 +19,10 @@ services:
|
|||||||
# Those are not the defaults
|
# Those are not the defaults
|
||||||
- --web.enable-remote-write-receiver
|
- --web.enable-remote-write-receiver
|
||||||
- --web.external-url=/prometheus
|
- --web.external-url=/prometheus
|
||||||
|
healthcheck:
|
||||||
|
interval: 20s
|
||||||
|
test: ["CMD",
|
||||||
|
"promtool", "check", "healthy", "--url=http://127.0.0.1:9090/prometheus"]
|
||||||
expose:
|
expose:
|
||||||
- 9090/tcp
|
- 9090/tcp
|
||||||
labels:
|
labels:
|
||||||
@@ -37,7 +40,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./alloy/prometheus.alloy:/etc/alloy/prometheus.alloy
|
- ./alloy/prometheus.alloy:/etc/alloy/prometheus.alloy
|
||||||
depends_on:
|
depends_on:
|
||||||
- prometheus
|
prometheus:
|
||||||
|
condition: service_healthy
|
||||||
|
kafka:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
# Node exporter for host metrics
|
# Node exporter for host metrics
|
||||||
node-exporter:
|
node-exporter:
|
||||||
@@ -81,21 +87,3 @@ services:
|
|||||||
- 8080/tcp
|
- 8080/tcp
|
||||||
labels:
|
labels:
|
||||||
- metrics.port=8080
|
- 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:
|
healthcheck:
|
||||||
interval: 20s
|
interval: 20s
|
||||||
test: ["CMD",
|
test: ["CMD",
|
||||||
"env", "-u", "KAFKA_OPTS",
|
|
||||||
"/opt/kafka/bin/kafka-topics.sh", "--list", "--bootstrap-server", "kafka:9092"]
|
"/opt/kafka/bin/kafka-topics.sh", "--list", "--bootstrap-server", "kafka:9092"]
|
||||||
labels:
|
|
||||||
- metrics.port=9100
|
|
||||||
|
|
||||||
kafka-ui:
|
kafka-ui:
|
||||||
extends:
|
extends:
|
||||||
|
|||||||
Reference in New Issue
Block a user