全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python性能监控项目教程_PrometheusGrafana结合实践

用 Prometheus + Grafana 监控 Python 应用的核心是定义、暴露和查询指标;常用 prometheus-client 库通过 /metrics HTTP 接口暴露 Counter、Gauge 等指标,Prometheus 抓取后由 Grafana 可视化,支持 rate() 处理重启断点。

用 Prometheus + Grafana 监控 Python 应用,核心是暴露指标、采集数据、可视化展示。关键不在堆工具,而在理清指标怎么定义、怎么暴露、怎么查。

Python 服务如何暴露指标

最常用的是 prometheus-client 库,它提供 HTTP 接口(默认 /metrics),返回符合 Prometheus 格式的文本指标。

安装与基础用法:

  • pip install prometheus-client
  • 在 Flask/FastAPI 中启动一个 MetricsEndpoint 或直接集成 start_http_server(8000)
  • 定义指标类型:Counter(计数)、Gauge(瞬时值)、Histogram(分布)、Summary(分位数)

例如统计请求次数:

from prometheus_client import Counter
request_count = Counter('http_requests_total', 'Total HTTP Requests')

# 在请求处理逻辑中调用
request_count.inc()

Prometheus 怎么抓取 Python 指标

修改 Prometheus 配置文件 prometheus.yml,添加 job:

scrape_configs:
- job_name: 'python-app'
static_configs:
- targets: ['localhost:8000']

确保 Python 进程已运行且端口可访问(如用 curl http://localhost:8000/metrics 能看到指标文本)。Prometheus 默认每 15 秒拉取一次。

注意点:

  • 生产环境建议用 service discovery(如 Consul、Kubernetes)动态发现目标
  • 避免将 Python 指标端口直接暴露公网;可通过反向代理或 sidecar 方式接入

Grafana 如何连接和画图

在 Grafana 中添加 Prometheus 数据源(URL 填 http://localhost:9090),然后新建 Dashboard。

写查询语句示例:

  • http_requests_total —— 查看原始计数
  • rate(http_requests_total[5m]) —— 每秒平均请求数
  • python_gc_collection_seconds_sum —— GC 耗时(需启用 Python 的 GC 指标)

推荐组合图表:

  • Requests per second(rate + graph)
  • Response time histogram(用 histogram_quantile 计算 P90/P99)
  • Memory usage(Gauge 类型,如 process_resident_memory_bytes

进阶:自动埋点与错误追踪

手动打点易遗漏。可用以下方式增强:

  • 中间件自动记录 HTTP 请求耗时、状态码(FastAPI/Starlette 自带 BaseHTTPMiddleware
  • prometheus_client.values.MultiProcessValue 支持多进程(如 Gunicorn 启动多个 worker)
  • 结合 loggingCounter,把异常日志转为指标(如 error_count.inc()

不复杂但容易忽略:Python 进程重启后 Counter 会重置,Prometheus 的 rate() 函数能自动处理断点,无需额外干预。


# python  # app  # 端口  # 工具  # curl  # 配置文件  # kubernetes  # 状态码  # igs 


相关文章: 建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站之星备案流程有哪些注意事项?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  网页设计网站制作软件,microsoft office哪个可以创建网页?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  制作营销网站公司,淘特是干什么用的?  代购小票制作网站有哪些,购物小票的简要说明?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何高效配置香港服务器实现快速建站?  如何通过山东自助建站平台快速注册域名?  建站之星会员如何解锁更多建站功能?  常州自助建站工具推荐:低成本搭建与模板选择技巧  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  如何获取PHP WAP自助建站系统源码?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  建站之星免费模板:自助建站系统与智能响应式一键生成  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何用PHP工具快速搭建高效网站?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  高端云建站费用究竟需要多少预算?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何设置并定期更换建站之星安全管理员密码?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  招贴海报怎么做,什么是海报招贴?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  c# await 一个已经完成的Task会发生什么  实例解析angularjs的filter过滤器  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网站制作服务平台,有什么网站可以发布本地服务信息?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何在腾讯云免费申请建站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  C++时间戳转换成日期时间的步骤和示例代码  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何选择美橙互联多站合一建站方案?  如何快速重置建站主机并恢复默认配置?  如何快速查询网站的真实建站时间?  简单实现Android文件上传  如何通过NAT技术实现内网高效建站?  南京网站制作费用,南京远驱官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。