一. 程序编写
- 导包
from flask import Flask,Response
import prometheus_client
from prometheus_client import Counter
- 在global编写变量
requests_total_get_answer=Counter('get_answer_total','Get answer requested.')
- 在请求内部递增变量
requests_total_get_answer.inc()
- 写prometheus接口
@app.route('/metrics')
def requests_count():
return Response(prometheus_client.generate_latest(requests_total_get_answer),mimetype="text/plain")
二. 配置prometheus
配置prometheus.yml
- job_name: 'flask_smart_system' # Prometheus 任务名称,自定义
metrics_path: '/metrics' # 指标获取路径
scrape_interval: 5s # 抓取指标的间隔时间
static_configs:
- targets: ['localhost:5000']
三. 配置grafana
prometheus查询语句为rate(get_answer_total[$__rate_interval]),故新建dashboard-新建panal,添加变量即可。