[可以使用新的方案: 拨测API接口+监控方案_一直学下去的博客-优快云博客]
写在最前面
我心里也打鼓,是不是应该把这个文章写出来,因为这个项目里面的代码不能拿来就用,需要做修改(其实后端API监控本来就和业务相关,应该没有一个成品可以做到对每一个业务的API都能监控).其次文章里面涉及的知识点比较多,Prometheus,Prometheus-Operator,K8S,Python ,如果你已经具备这些基础,也愿意花时间来读这篇文章,请继续。如果按照步骤做了有问题,可以留言,我会回复的。
简介:
目前公司有一个项目,使用前后端分离。前端采样VUE,后端使用Java Spring全家桶,后端的接口为Restful API.为了能第一时间发现后端服务的故障和检测后端API的响应时间,自己使用Python+Prometheus_Client(python sdk) 写了一个exporter,然后对接prometheus,并配置告警。后端有故障的时候,可以第一时间发现,而不是等用户有感觉来才发现。
后端项目的接口认证采用在header中附加token的形式,用户第一次登录的时候会返回token。
PS: 前端项目运行在nginx容器中,已经使用blackbox的http模块监控
实施步骤:
1. 将代码克隆到本地,或者使用pycharm导入
git clone https://gitee.com/kevinliu_CQ/api-monitoring.git
2. 修改代码中的配置
a. 修改config_dir 下面的app.yaml文件。里面的域名和接口地址都需要修改,以我的项目为例,请查看描述信息
config:
testset: 'APP API monitoring' #描述性信息,代码中未使用
timeout: 15 #调用API的超时时间
scrape_interval: 15 #检测API的时间间隔,单位为秒
base_url: 'https://app.×××.com/app' #API接口的URL,我的项目是微服务,这个app是微服务的url前缀
token:
base_url: 'https://app.××××.com/app' #获取token的URL地址
url: '/login/pwdLogin' #获取token的接口地址
method: "POST" #获取接口的HTTP方法
body: '' #获取接口时在post请求的payload内容
params: {"mobile": "17320491234","pwd": "your_password"} #这个是在请求的URL中

本文介绍了一种使用Python和Prometheus_Client库构建的exporter,用于监控后端API状态及响应时间的方法。通过集成Prometheus并配置告警,实现对后端服务健康状况的实时监测。
最低0.47元/天 解锁文章
1071

被折叠的 条评论
为什么被折叠?



