From: Kai Moritz Date: Tue, 17 Oct 2023 15:53:20 +0000 (+0200) Subject: Setup-Verbesserungen aus grundlagen/docker übernommen X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fproducer%2Fsimple-producer--fire%2Bforget;p=demos%2Fkafka%2Ftraining Setup-Verbesserungen aus grundlagen/docker übernommen --- diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index fc5e67d..93018c6 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -21,7 +21,15 @@ services: KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" + KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer + KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" + 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 @@ -40,7 +48,15 @@ services: KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" + KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer + KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" + 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 @@ -64,7 +80,15 @@ services: KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" + KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer + KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" + 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"