一、 概述

前言

在建设接口管理平台,需要对所有接口的连通性进行检测,监测平台接口情况,进行统计和预警,因接口数量众多,且后续可能也会进行可视化展示和分析,决定使用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监控实施方法相关推荐

  1. 巨详细的prometheus+grafana实现服务器(集群)性能监控,并学着调用prometheus的api

    目录 1.添加机器状态监控节点(node集群配置:每台要监控的服务器都需要安装一个node) 2.安装prometheus(只需要安装一个总控prometheus,yml配置文件中配置好各个node节 ...

  2. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  3. Prometheus监控学习笔记之360基于Prometheus的在线服务监控实践

    0x00 初衷 最近参与的几个项目,无一例外对监控都有极强的要求,需要对项目中各组件进行详细监控,如服务端API的请求次数.响应时间.到达率.接口错误率.分布式存储中的集群IOPS.节点在线情况.偏移 ...

  4. 作者领读 | Prometheus云原生监控

    撰文:朱政科 01 作者导读 昨天收到书,用了两天时间,我也亲自把这本书读完了一遍.今天写这篇文章的目的是带读者用正确的方式读这本书. <Prometheus云原生监控:运维与开发实战> ...

  5. Windows CE Notification API的使用方法

    1 引言      以Windows CE 为操作系统的掌上电脑(如PocketPC或HPC),除具备PC的功能外,还具备很强的自身控制能力.Windows CE API超越微软其他操作系统的 API ...

  6. Prometheus+Grafana PG监控部署以及自定义监控指标

    点击上方"蓝字" 关注我们,享更多干货! 1.前言 Prometheus:是从云原生计算基金会(CNCF)毕业的项目.Prometheus是Google监控系统BorgMon类似实 ...

  7. 用户领域 API 监控和代码注入检测

    原文地址:Userland API Monitoring and Code Injection Detection 原文作者:dtm 译文出自:掘金翻译计划 本文永久链接:github.com/xit ...

  8. Zabbix 通过 API 监控 k8s

    监控方式:python+zabbix _sender 原理:python的request库,请求k8s的api地址,对数据处理. 第一步:获取k8s的api地址 查看K8S的api地址的命令如下( 最 ...

  9. Jmeter+Prometheus+Grafana性能监控平台:将JMeter压测数据输出到Prometheus

    前言 1.小编之前写过一篇文章详细讲解了如何搭建一个HTTP接口性能实时监控测试平台,是用Grafana+Influxdb+Jmeter组合实现的,可以参考我写的这篇博客https://editor. ...

最新文章

  1. 迈向未来的那五种人,自古以来就很重要的人
  2. struct stat结构体简介
  3. 正则表达式:日期格式的校验(日期+时间)
  4. 手把手教你搭建自己的个人博客(图文教程)
  5. Python+tkinter不允许退出程序的思路和实现
  6. 服务器看端口信息命令行,服务器查看端口命令行
  7. 计算机考试要怎么学,计算机二级该如何自学备考?千万不能大意!
  8. RFID技术正助力物流行业进入新时代
  9. java informix_java informix
  10. 美萍足浴远程共享狗使用方法
  11. 防火墙的目标地址转换和源地址转换
  12. matplotlib.colors(ListedColormap)
  13. android 记事本上功能,安卓手机上有多功能记事本app吗?
  14. 使用Java处理键盘输入(DTMF)
  15. item_password-获得1688平台淘口令真实url,1688短链接搜索商品接口接入解决方案
  16. gitlab runner理解(未完)
  17. 无需工具:腾讯视频.qlv格式转换成.mp4格式的方法!
  18. 键盘上各按键对应的英文名(转载)
  19. H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码,实现了跳一跳的基本核心功能
  20. 表单Form提交数据和PHP数据处理

热门文章

  1. 面对顾客的疑问,导购要如何回答?
  2. OA and Ding
  3. 内存泄露与内存溢出的区别及解决方法
  4. 2023最新互联网公司时长排行榜出炉!
  5. 开关电源基础01:电源变换器基础(1)-关于缘起
  6. php 图片动画代码大全,超赞的jQuery图片滑块动画特效代码汇总_jquery
  7. 更多单词/词组/短语补充和总结(二)
  8. Halcon中已知一条直线计算它的垂线与延长线
  9. Linux基础之常用命令
  10. linnux同步方法多种锁介绍