--- services: zookeeper: image: confluentinc/cp-zookeeper:7.4.4 container_name: zookeeper environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - 22181:2181 kafka: image: confluentinc/cp-kafka:7.4.4 container_name: kafka depends_on: - zookeeper ports: - 29092:29092 - 9092:9092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 prometheus: container_name: prometheus image: prom/prometheus:v2.54.1 command: - --web.enable-admin-api - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus ports: - 9090:9090 volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom-kafka: image: telefonica/prometheus-kafka-adapter:1.9.1 container_name: prom-kafka ports: - 8080:8080 environment: - KAFKA_BROKER_LIST=kafka:9092 - KAFKA_TOPIC=prometheus-events grafana: container_name: grafana image: grafana/grafana:11.2.2 # user: $(id -u) environment: GF_INSTALL_PLUGINS: hamedkarbasi93-kafka-datasource ports: - "3000:3000" volumes: - ./grafana_data:/var/lib/grafana