没有合适的资源?快使用搜索试试~ 我知道了~
首页使用 prometheus python 库编写自定义指标的方法(完整代码)
使用 prometheus python 库编写自定义指标的方法(完整代码)
824 浏览量
更新于2023-05-30
评论
收藏 63KB PDF 举报
主要介绍了使用 prometheus python 库编写自定义指标的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
资源详情
资源评论
资源推荐

使用使用 prometheus python 库编写自定义指标的方法库编写自定义指标的方法(完整代完整代
码码)
主要介绍了使用 prometheus python 库编写自定义指标的方法,本文给大家介绍的非常详细,对大家的学习或
工作具有一定的参考借鉴价值,需要的朋友可以参考下
虽然 prometheus 已有大量可直接使用的 exporter 可供使用,以满足收集不同的监控指标的需要。例如,node exporter 可以
收集机器 cpu,内存等指标,cadvisor 可以收集容器指标。然而,如果需要收集一些定制化的指标,还是需要我们编写自定义
的指标。
本文讲述如何使用 prometheus python 客户端库和 flask 编写 prometheus 自定义指标。
安装依赖库安装依赖库
我们的程序依赖于flask 和prometheus client 两个库,其 requirements.txt 内容如下:
flask==1.1.2
prometheus-client==0.8.0
运行运行 flask
我们先使用 flask web 框架将 /metrics 接口运行起来,再往里面添加指标的实现逻辑。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route('/metrics')
def hello():
return 'metrics'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
打开浏览器,输入 http://127.0.0.1:5000/metrics,按下回车后浏览器显示 metrics 字符。
编写指标编写指标
Prometheus 提供四种指标类型,分别为 Counter,Gauge,Histogram 和 Summary。
Counter
Counter 指标只增不减,可以用来代表处理的请求数量,处理的任务数量,等。
可以使用 Counter 定义一个 counter 指标:
counter = Counter('my_counter', 'an example showed how to use counter')
其中,my_counter 是 counter 的名称,an example showed how to use counter 是对该 counter 的描述。
使用 counter 完整的代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask, Response
from prometheus_client import Counter, generate_latest
app = Flask(__name__)
counter = Counter('my_counter', 'an example showed how to use counter')
@app.route('/metrics')
def hello():
counter.inc(1)
return Response(generate_latest(counter), mimetype='text/plain')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
访问 http://127.0.0.1:5000/metrics,浏览器输出:
# HELP my_counter_total an example showed how to use counter
# TYPE my_counter_total counter
my_counter_total 6.0
















weixin_38688956
- 粉丝: 4
- 资源: 967
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0