You need to enable JavaScript to run this app.
导航
云拨测 Prometheus Exporter 使用指南
最近更新时间:2024.09.02 19:26:45首次发布时间:2024.08.23 14:31:39

云拨测支持 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。

    默认为/metrics

    listen

    默认为:8080

    endpoint

    云拨测服务 OpenAPI 的 URL。Exporter 将通过这个 URL 向云拨测服务发起请求以获取指标数据。

    固定配置:
    https://cloud-detect.volcengineapi.com

    time_offset

    查询时间偏移量。用来控制数据从生成到实际存储在数据库之间的延迟。该参数与query_period配合使用,用来确定查询时间范围。

    30s(30 秒)。

    query_period

    查询时间长度。
    根据time_offsetquery_period,可以计算出 Exporter 的查询时间范围。
    例如,假设当前时间为 12:00,time_offset=30s,query_period=1m,那么计算出的时间范围为:

    • 开始时间:12:00 - 30s - 1m = 11:58:30
    • 结束时间:12:00 - 30s = 11:59:30

    最终的查询时间范围就是 [11:58:30, 11:59:30)

    1m(1 分钟)。

    query_timeout

    数据查询的超时时间。如果 API 请求在这个时间范围内未能完成,则请求将被中断。

    10s(10 秒)。

    log_level

    日志等级。可以设置为 debug、info、warn、error。

    info

    metrics_prefix

    Prometheus 指标前缀。
    例如,设置为cloud_detect_,表示所有由 Exporter 导出的指标都会加上这个前缀,以便于在 Prometheus 中管理和识别。

    cloud_detect_

使用说明

这里以一个简单的 demo 示例,为您介绍使用 Exporter 将云拨侧数据导入自建 Prometheus 和 Grafana 的操作和配置方法。

前提条件

本 demo 示例通过 Docker Compose 实现。请确保您的机器上已经安装了 Docker Compose。如未安装,请参考安装 Docker Compose

操作步骤

  1. 参考准备工作中关于配置文件的说明,创建一个名为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_"
    
  2. 创建一个 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相关配置说明:

    • image:Exporter 服务所使用的镜像的地址。
    • ports:表示将容器内部监听的8080端口映射到宿主机的8080端口。

      说明

      容器内监听的端口配置需要与步骤1配置文件中listen的端口保持一致。

    • volumes:将宿主机的文件或目录挂载到容器内部。./config.yaml:/app/config.yaml表示将宿主机当前目录下的config.yaml文件挂载到容器内的/app/config.yaml路径。
  3. 执行以下命令,拉取 Docker 镜像并启动服务。

    # 拉取所有镜像
    docker compose pull 
    # 后台运行所有服务
    docker compose up -d  
    # 使用以下命令查看日志,确保所有服务正常启动:
    docker compose logs -f --since 10m
    
  4. 访问 Prometheus 和 Grafana。

    1. 打开浏览器并访问 http://localhost:9090,进入 Prometheus 的界面。
      您可以在 Targets 页面中看到 http://cloud-detect-exporter:8080/metrics 这个Target。
      图片
    2. 访问 http://localhost:3000 进入 Grafana 界面,可以看到来自 Prometheus 中的数据。
      图片