介绍

qcloud_exporter 是腾讯云官方开源的 Prometheus Exporter 组件,将腾讯云监控数据转化为 Prometheus 可是别的 Metrics, 但是由于腾讯云本身提供 Prometheus,这个组件很早就停更了,但是在某种场景需求下还是可以用的。

以下介绍如何构建 qcloud_exporter Docker image 以及如何使用。

GitHub: QCloud Exporter Github

构建版本:v2.24.0

已经构建出来的镜像地址 Docker Hub: staugur/qcloud-exporter

构建

编写 Dockerfile

ARG buildos=alpine
ARG runos=scratch

# -- build dependencies with alpine --
FROM $buildos AS builder
WORKDIR /data
ARG ghmirror
RUN wget -c -O qcloud_exporter.tgz ${ghmirror}https://github.com/tencentyun/tencentcloud-exporter/releases/download/v2.24.0/qcloud-exporter-v2.24.0-linux-amd64.tar.gz && tar zxf qcloud_exporter.tgz -C /data

# -- run application with a small image --
FROM $runos
COPY --from=builder /data/qcloud_exporter /bin/
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
ENV TZ=Asia/Shanghai LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
EXPOSE 9123
ENTRYPOINT ["qcloud_exporter"]
CMD ["--config.file=/qcloud.yml"]

构建

docker build -t qcloud-exporter .

如果 GitHub 网速慢,可以使用 –build-arg ghmirror=<加速域名> 构建; 由于系统原因,直接采用下载 AMD64 方式,并不构建多架构镜像。

使用

qcloud_exporter 需要一个 yaml 格式的配置文件,挂载到容器 /qcloud.yml 路径,暴露端口 TCP/9123。

例如 qcloud.yml 如下:

credential:
  access_key: <可传递环境变量 TENCENTCLOUD_SECRET_ID>
  secret_key: <可传递环境变量 TENCENTCLOUD_SECRET_KEY>
  region: <可传递环境变量 TENCENTCLOUD_REGION>

rate_limit: 15

products:
  - namespace: QCE/LIGHTHOUSE
    all_instances: true
    all_metrics: true
    extra_labels: [InstanceName,]

具体(更多)配置项参考项目 GitHub 文档。

配置准备完成,启动容器:

docker run -d --name qcloud_exporter -p 9123:9123 -v qcloud.yml:/qcloud.yml:ro qcloud-exporter

附录

可以直接使用已经构建的镜像:

docker run -d --name qcloud_exporter --net=host --restart=always -v qcloud.yml:/qcloud.yml:ro staugur/qcloud-exporter

·End·