Flask使用prometheus+grafana

一. 程序编写

  1. 导包
from flask import Flask,Response
import prometheus_client
from prometheus_client import Counter
  1. 在global编写变量
requests_total_get_answer=Counter('get_answer_total','Get answer requested.')
  1. 在请求内部递增变量
requests_total_get_answer.inc()
  1. 写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,添加变量即可。

四. 参考

使用Python和Flask编写Prometheus监控_JackLiu16的博客-CSDN博客

prometheus定义counter指标_蜜蜜不吃糖的博客-CSDN博客_counter prometheus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Prometheus是一个开源的监控系统,它通过收集和存储时间序列数据来实现对系统和服务的监控。在Prometheus中,指标(Metrics)是用于描述系统状态的基本单位。 指标收集是指通过在应用程序或系统中插入代码,将关键的性能指标和状态信息暴露给Prometheus进行监控。以下是一些常见的指标收集方法: 1. 客户端库:Prometheus提供了多种语言的客户端库,如Java、Go、Python等,可以在应用程序中使用这些库来暴露指标。通过调用相应的函数,可以将指标的值注册到Prometheus中。 2. Exporter:Exporter是一种特殊的应用程序,用于从其他系统或服务中提取指标数据,并将其转换为Prometheus可识别的格式。Prometheus提供了一些常见的Exporter,如Node Exporter(用于主机监控)、Blackbox Exporter(用于网络监控)等。 3. Instrumentation库:一些框架和库提供了内置的指标收集功能,可以直接使用这些功能来暴露指标。例如,Spring Boot框架提供了Actuator模块,可以方便地暴露应用程序的健康状况、请求统计等指标。 4. Pushgateway:Pushgateway是一种中间代理,允许临时性的任务将指标推送到Prometheus。这对于一些短暂的任务或者无法直接与Prometheus通信的任务非常有用。 5. Service Discovery:Prometheus支持多种服务发现机制,如静态配置、文件发现、Consul等。通过服务发现,Prometheus可以自动发现并监控新的目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值