From 06ffb0cf169196e7159bc704b32231fb89e1392f Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Wed, 4 Feb 2026 22:47:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D0=B1=D1=80=D0=BE=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=BD=D1=84=D1=80=D0=B0=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=82=D1=83=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/default_user.xml | 7 +++ configs/prometheus.yml | 11 ++++ configs/prometheus_ch.xml | 10 ++++ docker-compose.yml | 108 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+) create mode 100644 configs/default_user.xml create mode 100644 configs/prometheus.yml create mode 100644 configs/prometheus_ch.xml create mode 100644 docker-compose.yml diff --git a/configs/default_user.xml b/configs/default_user.xml new file mode 100644 index 0000000..227b387 --- /dev/null +++ b/configs/default_user.xml @@ -0,0 +1,7 @@ + + + + 123456 + + + \ No newline at end of file diff --git a/configs/prometheus.yml b/configs/prometheus.yml new file mode 100644 index 0000000..0b482fa --- /dev/null +++ b/configs/prometheus.yml @@ -0,0 +1,11 @@ +global: + scrape_interval: 15s + +scrape_configs: + - job_name: "clickhouse" + metrics_path: "/metrics" + static_configs: + - targets: ["clickhouse:9126"] + labels: + instance: Clickhouse-1 + honor_labels: true \ No newline at end of file diff --git a/configs/prometheus_ch.xml b/configs/prometheus_ch.xml new file mode 100644 index 0000000..6ccf35f --- /dev/null +++ b/configs/prometheus_ch.xml @@ -0,0 +1,10 @@ + + + /metrics + 9126 + true + true + true + + + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8f59a0f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,108 @@ +services: + clickhouse: + image: clickhouse/clickhouse-server:25.1 + environment: + TZ: "Europe/Moscow" + ulimits: + nproc: 65535 + nofile: + soft: 262144 + hard: 262144 + networks: + - cs_dwh + volumes: + - ./configs/default_user.xml:/etc/clickhouse-server/users.d/default_user.xml + # - ./configs/z_config.xml:/etc/clickhouse-server/config.d/z_config.xml + # - ./configs/macros_ch1.xml:/etc/clickhouse-server/config.d/macros.xml + # - ./configs/clickhouse-backup.yml:/etc/clickhouse-backup/config.yml + # - ./configs/s3-storage.xml:/etc/clickhouse-server/config.d/s3-storage.xml + - ./configs/prometheus_ch.xml:/etc/clickhouse-server/config.d/s3-prometheus_ch.xml + ports: + - "8002:9000" + - "9123:8123" + + kafka: + image: apache/kafka:3.8.0 + hostname: kafka + container_name: kafka + ports: + - 9092:9092 + # Если хочешь сохранять топики/сообщения между `docker compose down/up` — раскомментируй: + volumes: + - kafka-data:/tmp/kraft-combined-logs + environment: + KAFKA_BROKER_ID: 1 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,CONTROLLER:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + KAFKA_PROCESS_ROLES: broker,controller + KAFKA_NODE_ID: 1 + KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:29093 + KAFKA_LISTENERS: PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092 + KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT + KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER + KAFKA_LOG_DIRS: /tmp/kraft-combined-logs + CLUSTER_ID: MkU3OEVBNTcwNTJENDM2Qk + networks: + - cs_dwh + + kafka-ui: + container_name: kafka-ui + image: provectuslabs/kafka-ui:v0.7.2 + ports: + - 8082:8080 + depends_on: + - kafka + environment: + DYNAMIC_CONFIG_ENABLED: "true" + KAFKA_CLUSTERS_0_NAME: "Kafka Cluster" + KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: "kafka:29092" + KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: "PLAINTEXT" + networks: + - cs_dwh + + prometheus: + image: prom/prometheus:v2.53.4 + volumes: + - ./configs/prometheus.yml:/etc/prometheus/prometheus.yml:ro + # container_name: prometheus + # hostname: prometheus + command: + - --config.file=/etc/prometheus/prometheus.yml + ports: + - 9090:9090 + restart: unless-stopped + environment: + TZ: "Europe/Moscow" + networks: + - cs_dwh + + grafana: + image: grafana/grafana:11.5.2-ubuntu + user: root + depends_on: + - prometheus + ports: + - 3000:3000 + volumes: + - grafana_lib:/var/lib/grafana + - ./configs/grafana/provisioning/:/etc/grafana/provisioning/ + # container_name: grafana + # hostname: grafana + restart: unless-stopped + environment: + TZ: "Europe/Moscow" + networks: + - cs_dwh + +networks: + ch_replicated: + driver: bridge + +volumes: + grafana_lib: + kafka-data: +