Prometheus实现API监控实施方法
一、 概述
前言
在建设接口管理平台,需要对所有接口的连通性进行检测,监测平台接口情况,进行统计和预警,因接口数量众多,且后续可能也会进行可视化展示和分析,决定使用prometheus监控体系进行监测。前后调研和实验最终决定方案如下,进行记录和分享
架构示意图
blackbox_exporter模块
blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http、dns、tcp、icmp 的监控数据采集,可用于检测接口连通性
Consul 实现target动态化
因 Prometheus添加 target默认使用文件方式进行配置,只适用于固定target方式,针对需要动态新增检测目标的情况,官方提供了多种目标发现的支持,考虑到可以使用API进行灵活添加数据,选用Consul作为服务发现中间件。
二、安装和配置
安装Consul
下载地址:https://www.consul.io/downloads
下载后进行解压
启动
./consul agent -dev -ui -node=consul-dev -client=192.168.119.128 -advertise 192.168.119.128
随后访问 http://ip:8500/ 可以进入web管理界面
通过API方式管理服务
我新增一个 http://10.10.3.27:81
服务用于测试
curl -X PUT -d
'{
"id":"testnode",
"name":"test",
"address":"10.10.3.27",
"port":81,"tags":["prometheus-target"],
"checks":[{"http":"10.10.3.27:81","interval":"15s"}]
}'
http://192.168.119.128:8500/v1/agent/service/register
删除服务的请求为
curl -X PUT http://192.168.119.128:8500/v1/agent/service/deregister/{id}
也可在Consul web看到服务情况
安装blackbox_exporter
下载地址: https://prometheus.io/download/
下载后解压,进入文件夹后 直接运行 ./blackbox_exporter
默认监听端口为9115
编辑prometheus.yml 加入blackbox_exporter配置
- job_name: 'blackbox_http_2xx' # 配置get请求检测scrape_interval: 30smetrics_path: /probeparams:module: [http_2xx]consul_sd_configs:#consul 地址- server: '192.168.119.128:8500'relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.119.128:9115
注意:172.19.155.133:9115 为blackbox_exporter的服务地址
重启prometheus
访问http://ip:9990/api/v1/query?query=probe_success
返回如下:
{"status": "success","data": {"resultType": "vector","result": [{"metric": {"__name__": "probe_success","instance": "10.10.3.27:81","job": "blackbox_http_2xx"},"value": [1650266997.219,"1"]},{"metric": {"__name__": "probe_success","instance": "192.168.119.128:8300","job": "blackbox_http_2xx"},"value": [1650266997.219,"0"]}]}
}
得到 instance 10.10.3.27:81的连接状态 为 “1”,处于活动状态
可以安装grafana后进行数据可视化监控
Prometheus实现API监控实施方法相关推荐
- 巨详细的prometheus+grafana实现服务器(集群)性能监控,并学着调用prometheus的api
目录 1.添加机器状态监控节点(node集群配置:每台要监控的服务器都需要安装一个node) 2.安装prometheus(只需要安装一个总控prometheus,yml配置文件中配置好各个node节 ...
- 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践
欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...
- Prometheus监控学习笔记之360基于Prometheus的在线服务监控实践
0x00 初衷 最近参与的几个项目,无一例外对监控都有极强的要求,需要对项目中各组件进行详细监控,如服务端API的请求次数.响应时间.到达率.接口错误率.分布式存储中的集群IOPS.节点在线情况.偏移 ...
- 作者领读 | Prometheus云原生监控
撰文:朱政科 01 作者导读 昨天收到书,用了两天时间,我也亲自把这本书读完了一遍.今天写这篇文章的目的是带读者用正确的方式读这本书. <Prometheus云原生监控:运维与开发实战> ...
- Windows CE Notification API的使用方法
1 引言 以Windows CE 为操作系统的掌上电脑(如PocketPC或HPC),除具备PC的功能外,还具备很强的自身控制能力.Windows CE API超越微软其他操作系统的 API ...
- Prometheus+Grafana PG监控部署以及自定义监控指标
点击上方"蓝字" 关注我们,享更多干货! 1.前言 Prometheus:是从云原生计算基金会(CNCF)毕业的项目.Prometheus是Google监控系统BorgMon类似实 ...
- 用户领域 API 监控和代码注入检测
原文地址:Userland API Monitoring and Code Injection Detection 原文作者:dtm 译文出自:掘金翻译计划 本文永久链接:github.com/xit ...
- Zabbix 通过 API 监控 k8s
监控方式:python+zabbix _sender 原理:python的request库,请求k8s的api地址,对数据处理. 第一步:获取k8s的api地址 查看K8S的api地址的命令如下( 最 ...
- Jmeter+Prometheus+Grafana性能监控平台:将JMeter压测数据输出到Prometheus
前言 1.小编之前写过一篇文章详细讲解了如何搭建一个HTTP接口性能实时监控测试平台,是用Grafana+Influxdb+Jmeter组合实现的,可以参考我写的这篇博客https://editor. ...
最新文章
- 迈向未来的那五种人,自古以来就很重要的人
- struct stat结构体简介
- 正则表达式:日期格式的校验(日期+时间)
- 手把手教你搭建自己的个人博客(图文教程)
- Python+tkinter不允许退出程序的思路和实现
- 服务器看端口信息命令行,服务器查看端口命令行
- 计算机考试要怎么学,计算机二级该如何自学备考?千万不能大意!
- RFID技术正助力物流行业进入新时代
- java informix_java informix
- 美萍足浴远程共享狗使用方法
- 防火墙的目标地址转换和源地址转换
- matplotlib.colors(ListedColormap)
- android 记事本上功能,安卓手机上有多功能记事本app吗?
- 使用Java处理键盘输入(DTMF)
- item_password-获得1688平台淘口令真实url,1688短链接搜索商品接口接入解决方案
- gitlab runner理解(未完)
- 无需工具:腾讯视频.qlv格式转换成.mp4格式的方法!
- 键盘上各按键对应的英文名(转载)
- H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码,实现了跳一跳的基本核心功能
- 表单Form提交数据和PHP数据处理