概览
本脚本是一个可通过配置文件(config.ini)进行构造申明,对接云监控openapi,获取某类云资源的某些监控指标的通用代码(目前在获取ECS及20+个ECS监控指标上测试通过)。如需获取其他云资源及其监控指标,可自行测试改造。
本脚本可对接influxdb2,将获取的云监控指标入库,同时配合grafana,将influxdb2作为datasource,灵活配置相应的监控dashboard。
目录结构
├── getAllECSResources.py # 获取某类资源(如ECS)的所有实例
├── getALLMetrics.py # 获取config.ini中配置的所有监控指标
├── dbutil.py # 操作influxdb的工具类
├── loggerUtil.py # 日志工具类
├── volcengine # 该目录下是根据AK&SK生成Token的工具类
├── readConfigFile.py # 读取config.ini的工具类
├── markapp.log # 生成的日志文件
├── Dockerfile # docker images构建文件
├── requirement.txt
└── config.ini # 核心配置文件
config.ini说明
USER_CREDENTIALS:对应用户的AK及SK配置
FETCH_KINDOF_RESOURCES:获取某类云资源(如ECS)的所有资源清单(resourceid及name)
INFLUXDB:influxdb2的数据库链接信息
FETCH_METRIC_DATAS:获取云资源的监控指标配置,以ECS为例,MetricName可参照https://www.volcengine.com/docs/6408/68717,
增加所要获取的监控指标。详细配置参见配置文件内的注释。
启动服务
进入主目录
cd monitorMetricClient
使用python的包管理工具pip安装所有的第三方库:
pip install -r requirement.txt
运行程序:
cd callOpenApi
python getALLMetrics.py
Tips:本脚本针对获取ECS资源及ECS资源所支持的十多个监控指标测试通过,获取的监控指标根据MetricName所配置的指标名称自动生成influxdb2的
measurement并入库。
Influx测试基线版本为:2.1.1
Grafana测试基线版本为:8.3.3
构建docker镜像:
在根目录下执行如下命令,构建程序镜像
docker build -t <tag_name>:<version> .
构建好镜像后,如通过K8平台部署,建议将config.ini作为configmap挂载。本程序可配置为K8平台的cronJob定时调度.
如果您有其他问题,欢迎您联系火山引擎技术支持服务