云拨测支持 Prometheus Exporter。通过这个工具,您可以方便地将云拨测数据导入 Prometheus,并通过可视化工具 Grafana 进行统一的监控和分析。
安装 Docker。
云拨测 Exporter 通过 Docker 容器运行。请确保您的机器上已经安装了 Docker。如未安装,请参考安装Docker。
Exporter 镜像地址:cloud-detect-bj-cn-beijing.cr.volces.com/public/cloud-detect-exporter
配置文件说明。
在使用 Exporter 镜像创建容器之前,您需要先准备以下配置文件。
access_key_id: "" secret_access_key: "" path: "/metrics" listen: ":8080" endpoint: "https://cloud-detect.volcengineapi.com" time_offset: 30s query_period: 1m query_timeout: 10s log_level: "info" metrics_prefix: "cloud_detect_"
参数 | 说明 | 配置示例 |
---|---|---|
access_key_id | 火山引擎的 API 访问密钥,包含 **** Access Key ID **** 和 **** Secret Access Key。获取方式请参见获取Access Key。 说明 请您妥善保管并定期轮换密钥,不要将密钥信息共享至公开环境,以保障云资源的安全性。 | "xxxxxxxxxxxxxxxxxxx" |
secret_access_key | "xxxxxxxxxxxxxxxxxxx" | |
path | 定义了 Exporter 暴露监控数据的路径和监听的端口,使 Prometheus 能够通过特定的 URL 访问 Exporter。 | 默认为 |
listen | 默认为 | |
endpoint | 云拨测服务 OpenAPI 的 URL。Exporter 将通过这个 URL 向云拨测服务发起请求以获取指标数据。 | 固定配置: |
time_offset | 查询时间偏移量。用来控制数据从生成到实际存储在数据库之间的延迟。该参数与 |
|
query_period | 查询时间长度。
最终的查询时间范围就是 |
|
query_timeout | 数据查询的超时时间。如果 API 请求在这个时间范围内未能完成,则请求将被中断。 |
|
log_level | 日志等级。可以设置为 debug、info、warn、error。 |
|
metrics_prefix | Prometheus 指标前缀。 |
|
这里以一个简单的 demo 示例,为您介绍使用 Exporter 将云拨侧数据导入自建 Prometheus 和 Grafana 的操作和配置方法。
本 demo 示例通过 Docker Compose 实现。请确保您的机器上已经安装了 Docker Compose。如未安装,请参考安装 Docker Compose。
参考准备工作中关于配置文件的说明,创建一个名为config.yaml
的配置文件。具体内容如下:
access_key_id: "xxxxxxxxxxxxxxxxxxxx" secret_access_key: "xxxxxxxxxxxxxxxxxxxx" path: "/metrics" listen: ":8080" endpoint: "https://cloud-detect.volcengineapi.com" time_offset: 30s query_period: 1m query_timeout: 10s log_level: "info" metrics_prefix: "cloud_detect_"
创建一个 docker-compose.yml
文件,内容如下。
该文件定义了一个最小化的实例,包括 Prometheus、Grafana,以及云拨测的 Exporter。
version: '3' # 启动一个Prometheus实例 services: prometheus: image: prom/prometheus:v2.52.0 ports: - 9090:9090 restart: unless-stopped volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus_data:/prometheus # 启用一个Grafana实例 grafana: image: grafana/grafana:11.0.0 ports: - 3000:3000 restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro - ./grafana_data:/var/lib/grafana # 启用云拨测的Exporter实例 cloud-detect-exporter: image: cloud-detect-bj-cn-beijing.cr.volces.com/public/cloud-detect-exporter ports: - 8080:8080 restart: unless-stopped volumes: - ./config.yaml:/app/config.yaml
cloud-detect-exporter
相关配置说明:
8080
端口映射到宿主机的8080
端口。说明
容器内监听的端口配置需要与步骤1配置文件中listen
的端口保持一致。
./config.yaml:/app/config.yaml
表示将宿主机当前目录下的config.yaml
文件挂载到容器内的/app/config.yaml
路径。执行以下命令,拉取 Docker 镜像并启动服务。
# 拉取所有镜像 docker compose pull # 后台运行所有服务 docker compose up -d # 使用以下命令查看日志,确保所有服务正常启动: docker compose logs -f --since 10m
访问 Prometheus 和 Grafana。
http://localhost:9090
,进入 Prometheus 的界面。http://cloud-detect-exporter:8080/metrics
这个Target。http://localhost:3000
进入 Grafana 界面,可以看到来自 Prometheus 中的数据。