本文将以Minio为例,展示在新炬AMP中制作监控模板的过程。
说明:
mc admin prometheus generate local

【参数分析】
job_name:放在prometheus配置文件里的显示名;
bearer_token:调用minio监控接口使用的token;
metrics_path:API参数路径;
scheme:访问协议;
static_configs:minio服务列表。
请求测试:
格式:curl -H "参数类型" -d "bearer_token参数数据" URL。
URL构成:scheme://static_configs/metrics_path
如:http://127.0.0.1:9000/minio/v2/metrics/cluster
完整请求示例如下:
curl -H "Content-Type: application/json" -d
'{"bearer_token": "******token_test**********"}' http://127.0.0.1:9000/minio/v2/metrics/cluster

3.1 创建模板
【模板名称】需要全英文名,不可用中划线:

3.2 划分监控集
根据API展示的监控信息,对每条指标进行分类:

3.3 添加Agent指标
一个模板有且仅有一条Agent指标,代表agent和proxy的活动连接。

注意:
若模板中没有Agent指标也可以,代表可以作为附加模板,例如OGG监控模板。
同一台实例不可添加2个都带有Agent指标的模板。
3.4 添加可用性指标
这条指标原理是proxy端发起请求测试agent端是否通畅,需要zabbix proxy端安装fping工具。

3.5 配置采集信息
使用Agent采集,shell脚本的方式:

3.6 创建依赖项
采集方式为Dependent Item,主要项选第5步的监控项:

由于脚本中做了json格式输出,所以可以直接用json的方式取数:

JSON路径的取值【$.minio_node_disk_free_inodes】中的minio_node_disk_free_inodes就是json输出的key。
脚本处理:


3.7 创建自发现
1)创建自发现类别
minio中的bucket信息和api信息由于不是唯一性,故做成自发现指标,在自发现规则里创建。

以Bucket信息举例:
先用脚本获取所有bucket名称,配置在平台上

脚本样式

执行结果
没有bucket信息的输出:

有bucket信息的输出:

2)创建自发现指标
使用自发现类别提供的参数,获取具体信息

脚本样式

执行结果,最后的参数会自动获取{#BUCKETNAME}的值

3)创建自发现依赖项
和监控依赖性一样,主要项时需要选择【选择原型】,键值[]里携带变量【{#BUCKETNAME}】

预处理也是json取值


4.2 脚本修改


本文作者:中北事业三部-产品支撑组(上海新炬中北团队)
本文来源:“IT那活儿”公众号





