Python Web集成Prometheus
本文分享Python集成Prometheus的方法。
主要内容:
- FastApi/Starlette集成Prometheus
- 通用方法集成Prometheus
FastApi/Starlette集成Prometheus
使用FastApi开发的Web应用,想要添加监控指标,主流方案是对接Prometheus。
寻找解决方案时,发现Starlette有一个中间件 Starlette Prometheus。
FastApi继承自Starlette,可以直接使用其中间件。
这个中间件的官方文档描述的使用说明是以Starlette应用为例的,这里简单描述FastApi的使用方法。
一、安装
pip install starlette-prometheus
二、添加中间件
from fastapi import FastAPI
from starlette_prometheus import metrics, PrometheusMiddleware
app = FastAPI()
app.add_middleware(PrometheusMiddleware, filter_unhandled_paths=True) # filter_unhandled_paths=True将过滤掉不属于starlette应用的path
app.add_route('/metrics', metrics) # 设置metrics path
# app.add_route('/prometheus/metrics', metrics) # 设置metrics path
三、配置Prometheus
暴露prometheus metrics path后,在prometheus.yml文件中进行配置即可。
假设应用地址为 localhost:8000,配置示例如下:
scrape_configs:- job_name: "fastapi"# metrics_path: "/prometheus/metrics" # 设置metrics path,默认为 /metricsstatic_configs:- targets: ["localhost:8000"]
通用方法集成Prometheus
在使用 Starlette Prometheus中间件时,发现其底层使用的是Prometheus Python Client。这个库是Prometheus官方提供的Python Client,是Python集成Prometheus的通用方案,不过这个库默认只收集了通用的系统指标数据,想要收集应用的请求、响应等指标就需要自己开发了,如果实在没有可用的第三方库,也只能使用这个库开发指标了。
使用方法详见Prometheus Python Client。
通用指标如下图:
Python Web集成Prometheus相关推荐
- python最流行的框架_2020年最流行Python web开发框架(下)
11种2020年流行的Web开发Python框架,接上文 2020年最流行Python web开发框架(上)介绍的,剩下部分在本文里继续详细介绍.当然,Python框架很多很棒,学好Python是打开 ...
- windows7下载python教程-Windows 7下Python Web环境搭建图文教程
最近想尝试一下在IBM Bluemix上使用Python语言创建Web应用程序,所以需要在本地搭建Python Web的开发测试环境. 关于Python的版本 进入Python的网站,鼠标移到导航条上 ...
- pythonweb开发-5个最好的Python Web开发框架
原标题:5个最好的Python Web开发框架 Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开 ...
- python软件包自带的集成开发环境-实验一 熟悉Python的集成开发环境
实验一 熟悉Python的集成开发环境 一.实验目的与要求 1.了解什么是Python: 2.了解Python的特性: 3.掌握下载和安装Python的方法: 4.学习执行Python命令和脚本文件的 ...
- python的web框架哪个最好学_2018年要学习的10大Python Web框架
通过为开发人员提供应用程序开发结构,框架使开发人员的生活更轻松.他们自动执行通用解决方案,缩短开发时间,并允许开发人员更多地关注应用程序逻辑而不是常规元素. 在本文中,我们分享了我们自己的前十大Pyt ...
- python web开发第三方库_Python Web开发中常用的第三方库
Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...
- python web应用_如何使用Python将通知发送到Web应用
python web应用 by Lucas Hild 卢卡斯·希尔德(Lucas Hild) 如何使用Python将通知发送到Web应用 (How to send notifications to y ...
- Django Python Web应用程序框架简介
在这个由四部分组成的系列文章的前三篇文章中,比较了不同的Python Web框架,我们介绍了Pyramid , Flask和Tornado Web框架. 我们已经构建了同一个应用程序3次,最终进入了D ...
- python web环境傻瓜搭建_Python 环境搭建以及神器推荐,果断收藏!
原标题:Python 环境搭建以及神器推荐,果断收藏! 导读:今天给大家讲一下如何搭建一个舒适的 Python 环境,包括本地环境和远程调试环境,然后再附送给大家两套好用的 Python Web 框架 ...
最新文章
- BZOJ1396:识别子串(SAM)
- [恢]hdu 2015
- 2015年12月书单推荐
- YOLOv3 学习笔记:大神好贴汇总+自身经验记录
- WordPress的Kyma plugin HTML发送的connect请求是怎么投递到PHP的
- xml json 比较_JSON和XML:它们如何比较?
- LWCOPY为前端代码提供复制功能的插件
- 1014.修改clion的工具链
- H.264的编解码流程
- 设计模式--工厂方法模式
- [前端]如何让图片等比例缩放,同时撑满父级容器的长或宽
- ENVI5.1中Landsat 8数据大气校正
- APT入门知识:抗击APT和针对性攻击
- matlab 绘制对数曲线图,大神经验!教你用matlab画对数坐标!
- js打印倒三角形和正三角形
- 知乎上看到一篇有关三门问题比较好的讲解
- SAP web 开发 (第二篇 bsp 开发 mvc模式 Part1 )
- 网站收录查询-批量网站收录查询软件
- 【BZOJ3940】[USACO2015 Feb] Censoring (AC自动机的小应用)
- 循环世界模型(Recurrent World Models)——真实世界建模的强化学习利器
热门文章
- Jupyter notebook运行后打不开网页
- 【Pytorch项目实战】之迁移学习:特征提取、微调、特征提取+微调、雾霾清除
- 当众社死,涨粉百万,社交牛逼症成新晋流量密码
- 游戏开发 excel导出工具
- 大型项目如何进行项目管理?
- note、remark、memo 这三次表示备注有什么区别?
- nginx安全下载模块ngx_http_secure_link_module
- html5第五章简答题4,2020自考思修考试简答题重点归纳:第五章
- 仙剑奇侠传5保存文件的简单分析:让雨柔复活打最终BOSS吧
- AppWidget开发