使用python测试prometheus的实现
程序员文章站
2022-03-02 12:33:42
为了更直观的了解prometheus如何工作,本文使用prometheus的python库来做一些相应的测试。python库的github地址是https://github.com/prometheu...
为了更直观的了解prometheus如何工作,本文使用prometheus的python库来做一些相应的测试。
python库的github地址是https://github.com/prometheus
根据提示,使用pip安装prometheus_client
pip3 install prometheus_client
然后根据文档中的示例文件并简单修改,运行一个client
文件命名为prometheus_python_client.py
from prometheus_client import start_http_server, summary import random import time import sys # create a metric to track time spent and requests made. request_time = summary ('request_processing_seconds', 'time spent processing request') # decorate function with metric. @request_time.time ( ) def process_request(t): """a dummy function that takes some time.""" time.sleep (t) if __name__ == '__main__': try: if sys.argv[1].isdigit(): port = sys.argv[1] else: port = 8080 except: port = 8080 # start up the server to expose the metrics. start_http_server (8080) # generate some requests. while true: process_request (random.random ( ))
在后台运行client
pytho3 prometheus_python_client.py 8080 &
此时可以访问本机的8080端口,可以看到相应的metric
curl 127.0.0.1:8080/metrics
得到如图所示结果
为了能监控到这个端口为8080的目标,需要在prometheus的配置文件prometheus.yml进行一些修改
在scrape_configs块部分加上一个新的job
scrape_configs: # the job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] - job_name: 'python-client' scrape_interval: 5s static_configs: - targets: ['localhost:8080'] labels: group: 'python-client-group'
重启prometheus,并访问其web页面,在expression中输入一个python client的metric并执行
可以看到对应的结果正如在scrape_configs中所配置的相一致。
到此这篇关于使用python测试prometheus的实现的文章就介绍到这了,更多相关python测试prometheus内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
iOS使用xib手动实现动画效果的方法
-
C#使用GZipStream实现文件的压缩与解压
-
Python使用functools模块中的partial函数生成偏函数
-
Python使用poplib模块和smtplib模块收发电子邮件的教程
-
Python使用ntplib库同步校准当地时间的方法
-
快速排序的算法思想及Python版快速排序的实现示例
-
Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例
-
Android开发使用自定义view实现ListView下拉的视差特效功能
-
详解Python中使用base64模块来处理base64编码的方法
-
python判断字符串编码的简单实现方法(使用chardet)