docker compose -f docker/docker-compose.yml up --remove-orphans setup || exit 1
-docker compose -f docker/docker-compose.yml up -t0 -d cli
docker compose -f docker/docker-compose.yml up -d producer
-
docker compose -f docker/docker-compose.yml up -d consumer
+
sleep 5
docker compose -f docker/docker-compose.yml stop consumer
-version: '3.2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.7.1
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
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
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
+++ /dev/null
-lowercaseOutputName: true
-lowercaseOutputLabelNames: true
-rules:
- # Special cases and very specific rules
- - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value
- name: kafka_server_$1_$2
- type: GAUGE
- labels:
- clientId: "$3"
- topic: "$4"
- partition: "$5"
- - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>Value
- name: kafka_server_$1_$2
- type: GAUGE
- labels:
- clientId: "$3"
- broker: "$4:$5"
-
- - pattern : kafka.server<type=KafkaRequestHandlerPool, name=RequestHandlerAvgIdlePercent><>OneMinuteRate
- name: kafka_server_kafkarequesthandlerpool_requesthandleravgidlepercent_total
- type: GAUGE
-
- - pattern: kafka.server<type=socket-server-metrics, clientSoftwareName=(.+), clientSoftwareVersion=(.+), listener=(.+), networkProcessor=(.+)><>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<type=socket-server-metrics, listener=(.+), networkProcessor=(.+)><>(.+):'
- name: kafka_server_socketservermetrics_$3
- type: GAUGE
- labels:
- listener: "$1"
- network_processor: "$2"
-
- # Count and Value
- - pattern: kafka.(.+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>(Count|Value)
- name: kafka_$1_$2_$3
- labels:
- "$4": "$5"
- "$6": "$7"
- - pattern: kafka.(.+)<type=(.+), name=(.+), (.+)=(.+)><>(Count|Value)
- name: kafka_$1_$2_$3
- labels:
- "$4": "$5"
- - pattern: kafka.(.+)<type=(.+), name=(.+)><>(Count|Value)
- name: kafka_$1_$2_$3
-
- # Percentile
- - pattern: kafka.(.+)<type=(.+), name=(.+), (.+)=(.*), (.+)=(.+)><>(\d+)thPercentile
- name: kafka_$1_$2_$3
- type: GAUGE
- labels:
- "$4": "$5"
- "$6": "$7"
- quantile: "0.$8"
- - pattern: kafka.(.+)<type=(.+), name=(.+), (.+)=(.*)><>(\d+)thPercentile
- name: kafka_$1_$2_$3
- type: GAUGE
- labels:
- "$4": "$5"
- quantile: "0.$6"
- - pattern: kafka.(.+)<type=(.+), name=(.+)><>(\d+)thPercentile
- name: kafka_$1_$2_$3
- type: GAUGE
- labels:
- quantile: "0.$4"