码迷,mamicode.com
首页 > 其他好文 > 详细

pmm系列~自定义插件监控

时间:2020-12-02 12:18:57      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:col   名称   auto   下划线   cto   一个   object   latest   expr   

一 环境准备
pip install flask
pip install --ignore-installed PyYAML
pip install prometheus_client
二 包引入
from prometheus_client import Gauge
from prometheus_client.core import CollectorRegistry
from flask import Response, Flask
三 关键函数和输出
1 Gauge()为metrics的一种 代表了某个指标当前的值 适用于健康检测 用法 Gauge(名称,用法描述)
2 函数说明 Gauge = init(name, documentation, labelnames=(), namespace=u‘‘, subsystem=u‘‘, registry=<prometheus_client.core.CollectorRegistry object>, **kwargs)
3 代码示例
Gauge("server_port_up", "Api response stats is:", ["sertype","host", "port"], registry=REGISTRY)
redis_sentinel{host="IP",port="PORT",type="REDIS"} 1.0
说明 REGISTRY = CollectorRegistry(auto_describe=False)//创建一个仓库用来存储数据
registry=REGISTRY //绑定仓库
”server_port_up“ 为输出key的命名 请注意不能有中横线可以有下划线
"Api response stats is:" 为key的描述,可以为任意,不会输出
["sertype","host", "port"] 为输出的标签名
muxStatus.labels(sertype,host, port).set(status) 设置健康状态关键值检测
输出值获取 prometheus_client.generate_latest(REGISTRY) 获取仓库最近的值,监控值
四 总结
1 利用flask框架提供WEN API接口服务,路径是/metrics
2 接下来还需要做两个事情
1 监控服务进行配置
scrape_configs: - job_name: ‘monitor-port‘ scrape_interval: 10s static_configs: - targets: - "ip:port"
3 报警进行配置
alert: Zookeeper 端口未探测到 expr: server_port_up{sertype=="zookeeper"} != 1//输出值判断是否为健康 for: 3m labels: severity: "非常严重" annotations: summary: "{{$labels.host}}:{{$labels.port}} 端口未探测到" //设定的标签在这里使用 description: "请到服务器查看"
 
 

pmm系列~自定义插件监控

标签:col   名称   auto   下划线   cto   一个   object   latest   expr   

原文地址:https://www.cnblogs.com/danhuangpai/p/14049362.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!