Python自定义变量,Python自定义模块
1.Django1.1环境姜戈3.1.1
python 3.6.6
姜戈-普罗米修斯2.1.01.2安装姜戈-普罗米修斯皮安装django-Prometheus 1.3公制设置。巴拉圭
INSTALLED_APPS=[
.
姜戈_普罗米修斯,
]
urls.py
#这是一个/指标的全球资源定位器(统一资源定位器)请求
路径(),包含( django_prometheus.urls ),
#测试请求
path(test ,Test.as_view()),
__init__ .py(也可以写在settings.py)
关键点:同一个指标的定义只能定义一次,定义多次会报错
从普罗米修斯_客户端导入计数器、直方图、仪表、摘要
Counter=Counter( python _ Counter _ one , url请求总数,[应用程序,方法,端点])
计量器=计量器( python_gauge_one , url请求时间,[应用程序,方法,端点])
直方图=直方图( python_histogram_one , url请求时间分布,
[应用程序,方法,端点],桶=[0,50,60,70])
Summary=Summary( python _ Summary _ one , url请求时间分布,[应用程序,方法,端点])
views.py
从django.http导入HttpResponse
从django.views导入视图
从djangoPrometheusExporter导入计数器、仪表、直方图、摘要
类测试(视图):
定义获取(自身,请求):
#计数器指标
counter.labels(app1 , get ,/).公司(4)
#仪表指标
gauge.labels(app1 , get ,/).第四十集
#直方图指标
直方图. labels(app1 , get ,/).观察(40)
直方图. labels(app1 , get ,/).观察(50)
直方图. labels(app1 , get ,/).观察(60)
#摘要指标
summary.labels(app1 , get ,/).观察(50)
返回HttpResponse(content=test )
启动姜戈,先请求一次/测试,在访问/公制
访问/公制(http://127 .0 .0 .1:8080/公制)
# HELP python _ counter _ one _ total URL请求总数
# TYPE python_counter_one_total计数器
python _ counter _ one _ total { application= app 1 ,endpoint=/,method=get} 4.0
# HELP python _ counter _ one _ created URL请求总数
# TYPE python _ counter _ one _ created仪表
python _ counter _ one _ created { application= app 1 ,endpoint=/,method= get } 1.59635106319964 e 09
# HELP python_gauge_one url请求时间
python _ gauge _ one仪表类型
python _ gauge _ one { application= app 1 ,endpoint=/,method=get} 40.0
#帮助python_histogram_one url请求时间分布
# TYPE python_histogram_one直方图
python _ histogram _ one _ bucket { application= app 1 ,endpoint=/,le=0.0 ,method=get} 0.0
python _ histogram _ one _ bucket { application= app 1 ,endpoint=/,le=50.0 ,method=get} 2.0
python _ histogram _ one _ bucket { application= app 1 ,endpoint=/,le=60.0 ,method=get} 3.0
python _ histogram _ one _ bucket { application= app 1 ,endpoint=/,le=70.0 ,method=get} 3.0
python _ histogram _ one _ bucket { application= app 1 ,endpoint=/,le= Inf ,method=get} 3.0
python _ histogram _ one _ count { application= app 1 ,endpoint=/,method=get} 3.0
python _ histogram _ one _ sum { application= app 1 ,endpoint=/,method=get} 150.0
# HELP python _ histogram _ one _ created URL请求时间分布
# TYPE python _ histogram _ one _ created仪表
python _ histogram _ one _ created { application= app 1 ,endpoint=/,method= get } 1.5963106319995 e 09
# HELP python_summary_one url请求时间分布
# TYPE python_summary_one summary
python _ summary _ one _ count { application= app 1 ,endpoint=/,method=get} 1.0
python _ summary _ one _ sum { application= app 1 ,endpoint=/,method=get} 50.0
# HELP python _ summary _ one _ created URL请求时间分布
# TYPE python _ summary _ one _ created仪表
python _ summary _ one _ created { application= app 1 ,endpoint=/,method= get } 1.59633106320102 e 09
.还有一些其他默认指标2.烧瓶2.1环境python 3.6.6
姜戈-普罗米修斯2.1.0
烧瓶1.1.2
2.2安装姜戈-普罗米修斯安装姜戈-普罗米修斯
2.3米关键点:同一个指标的定义只能定义一次,定义多次会报错
# !/usr/bin/env python
# -*-编码:utf-8 -*-
从烧瓶导入烧瓶,响应
从普罗米修斯_客户端导入计数器、仪表、直方图、摘要,\
生成_最新,收集器注册表
app=Flask(__name__)
注册表=CollectorRegistry()
Counter=Counter( flask _ Counter _ one , url请求总数,[应用程序,终结点,方法],注册表=注册表)
计量器=计量器( flask_gauge_one , url请求总数,[应用程序,终结点,方法],注册表=注册表)
bucket=(50,60,70,float(inf ))
直方图=直方图(我的直方图, url请求时间分布,
[应用程序,端点,方法],注册表=注册表,存储桶=存储桶)
summary=Summary(my_summary , url请求时间分布,[应用程序,终结点,方法],注册表=注册表)
@app.route(/metrics )
定义度量():
返回响应(generate_latest(registry),mimetype=text/plain )
@app.route(/test )
定义测试():
counter.labels(app1 , get ,/).公司(4)
gauge.labels(app1 , get ,/).第四十集
直方图. labels(app1 , get ,/).观察(40)
直方图. labels(app1 , get ,/).观察(50)
直方图. labels(app1 , get ,/).观察(60)
summary.labels(app1 , get ,/).观察(50)
返回响应(“测试”,mime type="text/plain ")
if __name__==__main__ :
app.run(主机=127.0.0.1 ,端口=8080)
启动烧瓶,先请求一次/测试,在访问/公制
访问/公制(http://127 .0 .0 .1:8080/公制)
# HELP flask _ counter _ one _ total URL请求总数
#型烧瓶_计数器_一个_总计数器
flask _ counter _ one _ total { application= app 1 ,endpoint=get ,method=/} 4.0
# HELP flask _ counter _ one _ created URL请求总数
# TYPE flask_counter_one_created计量器
flask _ counter _ one _ created { application= app 1 ,endpoint=get ,method=/ } 1.5692649268 e 09
# HELP flask_gauge_one url请求总数
#型烧瓶_量规_一个量规
flask _ gauge _ one { application= app 1 ,endpoint=get ,method=/} 40.0
#帮助我的直方图网址请求时间分布
#键入我的直方图直方图
my _ histogram _ bucket { application= app 1 ,endpoint=get ,le=50.0 ,method=/} 2.0
my _ histogram _ bucket { application= app 1 ,endpoint=get ,le=60.0 ,method=/} 3.0
my _ histogram _ bucket { application= app 1 ,endpoint=get ,le=70.0 ,method=/} 3.0
my _ histogram _ bucket { application= app 1 ,endpoint=get ,le= Inf ,method=/} 3.0
my _ histogram _ count { application= app 1 ,endpoint=get ,method=/} 3.0
my _ histogram _ sum { application= app 1 ,endpoint=get ,method=/} 150.0
#帮助我的直方图创建的全球资源定位器(Uniform Resource Locator)请求时间分布
#键入我的直方图创建的仪表
my _ histogram _ created { application= app 1 ,endpoint=get ,method=/ } 1.5926493351 e 09
#帮助我的摘要网址请求时间分布
#键入我的摘要摘要
my _ summary _ count { application= app 1 ,endpoint=get ,method=/} 1.0
my _ summary _ sum { application= app 1 ,endpoint=get ,method=/} 50.0
#帮助我的摘要创建的全球资源定位器(Uniform Resource Locator)请求时间分布
#键入我的摘要创建的量表
my _ summary _ created { application= app 1 ,endpoint=get ,method=/ } 1.5926494222 e 09
3.官网https://github.com/prometheus/client_python
https://github.com/korfuri/django-prometheus
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。