Prometheus+blackbox_exporter监控url(get、post)及ssl证书

2023-10-30 06:30

本文主要是介绍Prometheus+blackbox_exporter监控url(get、post)及ssl证书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载

prometheus、blackbox_exporter:https://prometheus.io/download/
解压后可以看到prometheus.yml、blackbox.yml

启动

nohub ./prometheus --config.file=prometheus.yml &
nohub ./blackbox_exporter–config.file=blackbox.yml &

配置

vim prometheus.yml

- job_name: 'blackbox' #自定义job_namescrape_interval: 10s  #监测时间默认15smetrics_path: /probe  #指标,默认为metrics,这边采用probeparams:module: [http_2xx] #blackbox.yml中的模块(get)static_configs:- targets:- https://baidu.com  #监听地址relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.223.146:9115  #blackbox服务地址- job_name: 'blackbox-post'scrape_interval: 30smetrics_path: /probeparams:module: [http_post_2xx]  #此模块用于监听post请求static_configs:- targets:- https://test.com/labels:url_name: "POST 用户查询"  #标签用于区分relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.223.146:9115

vim blackbox.yml
需要修改该模块监听post请求 http_post_2xx

 http_post_2xx:prober: httptimeout: 30shttp:method: POSTheaders:Content-Type: application/jsontoken: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2Nzk4OTYzMTEsImV4cCI6MTY3OTk4MjcxMSwicGlkIjoxLCJwbmFtZSI6Iui_kOiQpeaAu-mDqCIsImVpZCI6MSwidWlkIjoxLCJyaWQiOjEsInV0eXBlIjoiMSIsIm5hbWUiOiLov5DokKXmgLvpg6giLCJjbGllbnQiOjF9.4ev-OoYsfW5DZ9xaDFMyfQw6qTbuah99yNgoo26FKMgbody: "isnew=1"  #body: {"isnew":"1"}

配置告警规则

下面是两个告警规则,因为有的url接口就是慢,也不影响业务,所以统一配置成超过1秒告警,会导致某些时间频繁报警,所以可以根据 =~ 和 = 的方法配置某一个规则大于1.5秒才告警;
vim /prometheus/rules/http_export-alert-rules.yml

groups:- name: nginx状态-监控告警rules:- alert: 状态码检测expr: probe_http_status_code{job="blackbox"} != 200for: 0mlabels:serverity: warningstatus: 非常严重annotations:summary: "请求URL状态码非200"description: "请求{{$.Labels.instance}}状态码非200"- alert: 证书过期时间检测expr: probe_ssl_earliest_cert_expiry {job="blackbox"} -time() < 86400 * 30for: 5mlabels:serverity: warningstatus: 警告annotations:summary: "证书过期时间不足30天"description: "{{$.Labels.instance}}证书还有30天到期,请及时更换"- alert: 页面响应时间检测expr: probe_duration_seconds{job="blackbox"} >= 1for: 1mlabels:serverity: warningstatus: 警告annotations:summary: "页面响应时间超过1秒"description: "{{$.Labels.instance}}页面响应时间超过1秒"- alert: post页面响应时间检测expr: probe_duration_seconds{job="blackbox-post"} >= 1for: 1mlabels:serverity: warningstatus: 警告annotations:summary: "{{$.Labels.instance}}页面响应时间超过1秒"description: "服务:{{$.Labels.url_name}}---响应时间>=1s,(当前:{{$value}})"

监控模板

模板直通车

Grafana模板编码 8587

效果图

这篇关于Prometheus+blackbox_exporter监控url(get、post)及ssl证书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306205

相关文章

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值