介绍
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