From b5a1b88c8c27093334e0996a21ef444dbc50c1f0 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sat, 7 Oct 2023 15:03:14 +0200 Subject: [PATCH] =?utf8?q?JMX-Exporter=20f=C3=BCr=20Prometheus=20auf=20Por?= =?utf8?q?t=2080=20aktiviert?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Siehe: https://github.com/prometheus/jmx_exporter * Bereits in Confluent eingebaute Version 0.18.0 verwendet --- docker/docker-compose.yml | 6 ++++ docker/jmx-exporter.yml | 70 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 docker/jmx-exporter.yml diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b17afcf..7b6abd3 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -22,10 +22,12 @@ services: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" KAFKA_OPTS: + -javaagent:/usr/share/java/cp-base-new/jmx_prometheus_javaagent-0.18.0.jar=0.0.0.0:80:/etc/jmx-exporter.yml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9101 -Dcom.sun.management.jmxremote.authenticate=false volumes: + - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro - kafka-1-data:/var/lib/kafka/data ports: - 9081:9081 @@ -45,10 +47,12 @@ services: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" KAFKA_OPTS: + -javaagent:/usr/share/java/cp-base-new/jmx_prometheus_javaagent-0.18.0.jar=0.0.0.0:80:/etc/jmx-exporter.yml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9101 -Dcom.sun.management.jmxremote.authenticate=false volumes: + - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro - kafka-2-data:/var/lib/kafka/data ports: - 9092:9082 @@ -73,10 +77,12 @@ services: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" KAFKA_OPTS: + -javaagent:/usr/share/java/cp-base-new/jmx_prometheus_javaagent-0.18.0.jar=0.0.0.0:80:/etc/jmx-exporter.yml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9101 -Dcom.sun.management.jmxremote.authenticate=false volumes: + - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro - kafka-3-data:/var/lib/kafka/data ports: - 9083:9083 diff --git a/docker/jmx-exporter.yml b/docker/jmx-exporter.yml new file mode 100644 index 0000000..fde0e7e --- /dev/null +++ b/docker/jmx-exporter.yml @@ -0,0 +1,70 @@ +lowercaseOutputName: true +lowercaseOutputLabelNames: true +rules: + # Special cases and very specific rules + - pattern : kafka.server<>Value + name: kafka_server_$1_$2 + type: GAUGE + labels: + clientId: "$3" + topic: "$4" + partition: "$5" + - pattern : kafka.server<>Value + name: kafka_server_$1_$2 + type: GAUGE + labels: + clientId: "$3" + broker: "$4:$5" + + - pattern : kafka.server<>OneMinuteRate + name: kafka_server_kafkarequesthandlerpool_requesthandleravgidlepercent_total + type: GAUGE + + - pattern: kafka.server<>connections + name: kafka_server_socketservermetrics_connections + type: GAUGE + labels: + client_software_name: "$1" + client_software_version: "$2" + listener: "$3" + network_processor: "$4" + + - pattern : 'kafka.server<>(.+):' + name: kafka_server_socketservermetrics_$3 + type: GAUGE + labels: + listener: "$1" + network_processor: "$2" + + # Count and Value + - pattern: kafka.(.+)<>(Count|Value) + name: kafka_$1_$2_$3 + labels: + "$4": "$5" + "$6": "$7" + - pattern: kafka.(.+)<>(Count|Value) + name: kafka_$1_$2_$3 + labels: + "$4": "$5" + - pattern: kafka.(.+)<>(Count|Value) + name: kafka_$1_$2_$3 + + # Percentile + - pattern: kafka.(.+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + "$6": "$7" + quantile: "0.$8" + - pattern: kafka.(.+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + quantile: "0.$6" + - pattern: kafka.(.+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + quantile: "0.$4" -- 2.20.1