From 6985b70ddcba8233be5f4685addc3a56dae96927 Mon Sep 17 00:00:00 2001 From: luorijun Date: Thu, 26 Feb 2026 17:13:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 2 + .gitignore | 3 ++ README.md | 13 +++++ docker-compose.yaml | 44 +++++++++++++++ otel/app.yaml | 23 ++++++++ otel/esxi.yaml | 127 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 212 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docker-compose.yaml create mode 100644 otel/app.yaml create mode 100644 otel/esxi.yaml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..fb86a4a --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +# 根用户密码,不要为空 +CLICKHOUSE_PASSWORD= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee16af4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +grafana/data +clickhouse/logs diff --git a/README.md b/README.md new file mode 100644 index 0000000..70f6fb4 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +流量监控服务 + +## 使用方式 + +1. 拉取本项目 +2. 复制 `.env.example` 并重命名为 `.env`,按需修改配置信息 +3. 运行 `docker-compose up -d` 启动服务 + +## 注意事项 + +clickhouse 的性能与存储空间占用会很大,注意留够余量 + +命名卷的性能会比匿名卷要高,但是迁移相对麻烦,当前重要数据的存储使用的是命名卷模式 diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..eec81cc --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,44 @@ +name: observe + +services: + clickhouse: + image: clickhouse/clickhouse-server:latest + environment: + - CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} + volumes: + - clickhouse-data:/var/lib/clickhouse + - ./clickhouse/logs:/var/log/clickhouse-server + ulimits: + nofile: + soft: 262144 + hard: 262144 + ports: + - 9000:9000 + restart: unless-stopped + + otel-collector-esxi: + image: otel/opentelemetry-collector-contrib:latest + volumes: + - ./otel/esxi.yaml:/etc/otelcol-contrib/config.yaml + restart: unless-stopped + + otel-collector-app: + image: otel/opentelemetry-collector-contrib:latest + volumes: + - ./otel/app.yaml:/etc/otelcol-contrib/config.yaml + ports: + - 4317:4317 + - 4318:4318 + restart: unless-stopped + + grafana: + image: grafana/grafana-enterprise:latest + volumes: + - grafana-data:/var/lib/grafana + ports: + - 23000:3000 + restart: unless-stopped + +volumes: + clickhouse-data: + grafana-data: diff --git a/otel/app.yaml b/otel/app.yaml new file mode 100644 index 0000000..5c3bbc5 --- /dev/null +++ b/otel/app.yaml @@ -0,0 +1,23 @@ +receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + +processors: + batch: + +exporters: + clickhouse: + endpoint: tcp://clickhouse:9000 + username: default + password: "123456" + +service: + pipelines: + traces: + receivers: [otlp] + processors: [batch] + exporters: [clickhouse] diff --git a/otel/esxi.yaml b/otel/esxi.yaml new file mode 100644 index 0000000..644abe4 --- /dev/null +++ b/otel/esxi.yaml @@ -0,0 +1,127 @@ +receivers: + vcenter/43.226.58.3: + endpoint: https://43.226.58.3 + username: root + password: idc321.. + tls: + insecure: true + vcenter/43.226.58.4: + endpoint: https://43.226.58.4 + username: root + password: juip916... + tls: + insecure: true + vcenter/43.226.59.3: + endpoint: https://43.226.59.3:8443 + username: root + password: juip916... + tls: + insecure: true + vcenter/43.226.59.4: + endpoint: https://43.226.59.4 + username: root + password: idc321.. + tls: + insecure: true + vcenter/43.226.59.5: + endpoint: https://43.226.59.5:8443 + username: root + password: juip916... + tls: + insecure: true + vcenter/43.226.59.6: + endpoint: https://43.226.59.6:8443 + username: root + password: juip916... + tls: + insecure: true + +processors: + batch: + resource/43.226.58.3: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.58.3 + resource/43.226.58.4: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.58.4 + resource/43.226.59.3: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.59.3 + resource/43.226.59.4: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.59.4 + resource/43.226.59.5: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.59.5 + resource/43.226.59.6: + attributes: + - key: vcenter.host.address + action: upsert + value: 43.226.59.6 + +exporters: + clickhouse: + endpoint: tcp://clickhouse:9000 + username: default + password: "123456" + +service: + pipelines: + metrics/43.226.58.3: + receivers: + - vcenter/43.226.58.3 + processors: + - batch + - resource/43.226.58.3 + exporters: + - clickhouse + metrics/43.226.58.4: + receivers: + - vcenter/43.226.58.4 + processors: + - batch + - resource/43.226.58.4 + exporters: + - clickhouse + metrics/43.226.59.3: + receivers: + - vcenter/43.226.59.3 + processors: + - batch + - resource/43.226.59.3 + exporters: + - clickhouse + metrics/43.226.59.4: + receivers: + - vcenter/43.226.59.4 + processors: + - batch + - resource/43.226.59.4 + exporters: + - clickhouse + metrics/43.226.59.5: + receivers: + - vcenter/43.226.59.5 + processors: + - batch + - resource/43.226.59.5 + exporters: + - clickhouse + metrics/43.226.59.6: + receivers: + - vcenter/43.226.59.6 + processors: + - batch + - resource/43.226.59.6 + exporters: + - clickhouse