使用Prometheus + Blackbox-exporter快速监控一个网站性能和SSL过期时间

使用blackbox-exporter快速监控一个网站性能和SSL过期时间

  • 环境介绍
  • 什么是blackbox-exporter
  • 下载blackbox-exporter
  • 安装blackbox-exporter
  • 配置Prometheus服务端
  • 查看job上线
  • 监控面板
  • 参考文献

环境介绍

本文实验环境

  • 操作系统:Centos 7.9
  • Prometheus版本:2.28.0
  • Blackbox-exporter版本:0.25.0

什么是blackbox-exporter

Blackbox Exporter是Prometheus社区提供的官方黑盒监控解决方案。它允许用户通过HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。

黑盒监控是以用户的身份测试服务的外部可见性,常见的黑盒监控包括HTTP探针、TCP探针等用于检测站点或者服务的可访问性,以及访问效率等。黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向,当故障发生时,黑盒监控能快速发现故障,而白盒监控则侧重于主动发现或者预测潜在的问题。

运行Blackbox Exporter时,需要用户提供探针的配置信息,这些配置信息可能是一些自定义的HTTP头信息,也可能是探测时需要的一些TSL配置,也可能是探针本身的验证行为。在Blackbox Exporter每一个探针配置称为一个module,并且以YAML配置文件的形式提供给Blackbox Exporter。

下载blackbox-exporter

首先下载适合我们操作系统的软件包,可以通过Prometheus的官网获取,连接如下:
https://www.prometheus.io/docs/instrumenting/exporters/

安装blackbox-exporter

我下载了blackbox_exporter-0.25.0.linux-amd64.tar.gz 并上传到了服务器中解压到了/opt/blackbox-exporter中,这里最好规范一些,做一下重命名

mkdir blackbox-exporter
tar -zxvf blackbox_exporter-0.25.0.linux-amd64.tar.gz -C /opt

为了方便后续维护管理,我们注册一个blackbox-exporter service文件 使用systemd托管。
这里请根据你的实际情况做一下修改。

vi /usr/lib/systemd/system/blackbox-exporter.service

[Unit]
Description=Prometheus Blackbox Exporter
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/blackbox-exporter/blackbox_exporter \
--config.file=/opt/blackbox-exporter/blackbox.yml \
--web.listen-address=10.20.30.40:9115
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

这里重载一下服务,然后启动服务就可以了,同时设置一下自启动。

systemctl daemon-reload
systemctl start blackbox-exporter.service 
systemctl status blackbox-exporter.service 
netstat -tlunap |grep 9115
systemctl enable blackbox-exporter

配置Prometheus服务端

关于Prometheus的安装这里不再展开。
创建一个blackbox-exporter.json的文件(这个文件主要用于Prometheus基于文件的服务发现),我的json文件统一放到了/opt/prometheus_2.28.0/json/。这里需要根据你的实际情况做一下替换。
内容参考如下,修改实际的网站或ip地址,也可自定义label

cd /opt/prometheus_2.28.0/json/
cat blackbox-exporter.json 
[
    {
        "targets": ["www.baidu.cn"],
        "labels": {
            "job": "blackbox-exporter",
            "hostname": "WebServer-01",
            "group": "WWW",
            "env":"主数据中心"
        }
    }
]

编辑prometheus.yml,在适当位置添加如下,内容仅供参考
file_sd_configs这个地方需要指定上边json文件的位置。

  - job_name: 'blackbox-exporter'
    metrics_path: /probe
    params:
      module: [http_2xx]
    file_sd_configs:
      - refresh_interval: 60s
        files:
        - /opt/prometheus_2.28.0/json/blackbox-exporter.json
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 10.20.30.40:9115

重启或重载Prometheus
如果你的Prometheus配置了热加载配置文件,你需要执行以下命令:

curl -X POST http://10.20.30.40:9090/-/reload

否则你需要执行(前提是你已经注册过了prometheus.service)

systemctl restart prometheus

查看job上线

通过Prometheus 9090端口的WEBUI查看。

监控面板

方便起见,这里可以导入Grafana社区的面板。
模板来源于Grafana官网:https://grafana.com/grafana/dashboards/
在这里插入图片描述
我导入了ID为13659的模板。
https://grafana.com/grafana/dashboards/13659-blackbox-exporter-http-prober/

效果图如下:
在这里插入图片描述
有什么问题欢迎留言讨论。

参考文献

  1. https://cloud.tencent.com/developer/article/1600165

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/636114.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

局部直方图均衡化去雾算法

目录 1. 引言 2. 算法流程 3. 代码 4. 去雾效果 1. 引言 局部直方图算法是一种基于块的图像去雾方法,它将图像分割为若干个块,并在每个块内计算块的局部直方图。通过对各个块的直方图进行分析和处理,该算法能够更好地适应图像中不同区域的…

软件测评在项目中的作用

软件测评在项目中的作用至关重要,主要体现在以下几个方面: 确保软件质量:软件测评是确保软件质量的关键环节。通过对软件的功能、性能、安全性等方面进行全面测试,可以发现软件中的缺陷、错误或不符合需求的地方,从而…

使用OpenVINO™.CSharp.API.Extensions.PaddleOCR NuGet Package快速实现OCR文本识别

PP-OCR是PaddleOCR自研的实用的超轻量OCR系统,可以实现端到端的图像文本检测。为了在C#平台实现使用OpenVINO™部署PP-OCR模型实现文本识别,让更多开发者快速上手PP-OCR项目,基于此,封装了OpenVINO.CSharp.API.Extensions.PaddleO…

selenium环境安装和web自动化基础

webUI自动化背景 因为web页面经常会变化,所以UI自动化测试的维护成本很高。不如接口的适用面广,所以大部分公司会做接口自动化测试,但是未必会做UI自动化测试; UI自动化测试要做也是覆盖冒烟测试,不会到很高的覆盖率&a…

mysql实战——xtrabackup问题

备份恢复后启动不成功。 我测试了很多遍,最开始我以为备份后的数据文件没有pid造成的,所以一直测试 后来发现上图这样是正常的,mysqld_safe后就出现pid和sock文件 那启动失败的原因我认为是权限的问题,把数据文件目录权限全部设置…

利用kubeadm安装k8s集群 以及跟harbor私有仓库下载镜像

目录 环境准备 master(2C/4G) 192.168.88.3 docker、kubeadm、kubelet、kubectl、flannel node01(2C/2G) 192.168.88.4 docker、kubeadm、kubelet、kubectl、flannel node02(…

DreamerV3阅读笔记

DreamerV3 文章希望解决的一个挑战是用固定的hyperparameter来同时处理不同domain的任务。文章发现,通过结合KL balancing 和free bits可以使得world model learn without tuning(是指上面这件事,即不需要对不同任务改变hyperparameter&#…

六.逼格拉满-Prometheus+Grafana微服务监控告警

前言 微服务架构是一个分布式系统,由多个独立的服务组成,每个服务可能运行在不同的容器、虚拟机或物理机上,那么在生产环境中我们需要随时监控服务的状态,以应对各种突发情况,比如:内存爆满,CP…

通过短信群发平台拓客引流营销的效果好不好?

通过短信群发平台进行营销拓客引流的效果可以是非常显著的,但具体效果会受到多种因素的影响,如目标受众的选择、短信内容的吸引力、发送时间和频率的合理性等。 以下是一些短信群发平台营销拓客引流的优势: 1.广泛覆盖:短…

Linux|ubuntu22.04安装CUDA最新完整教程

文章目录 一、安装前准备工作查看GPU和型号查看GCC版本*下载gcc12 *检查驱动 二、安装CUDA Toolkit*安装驱动 三、安装后的工作必要操作推荐的操作开启守护进程模式删除本地下载安装包 四、验证删除CUDA常见问题及解决方案还需要安装cuDNN吗?nvcc: No such file or …

Java-常见面试题收集(十六)

二十五 RocketMQ 1 消息队列介绍 消息队列,简称 MQ(Message Queue),它其实就指消息中间件,当前业界比较流行的开源消息中间件包括:RabbitMQ、RocketMQ、Kafka。(一个使用队列来通信的组件&…

信捷XD系列PLC通讯失败程序无法下载如何设置

如题:最近在使用信捷PLC,有时会出现通讯不上的问题,下面将通讯配置步骤及注意事项分享。 一、确保PLC通电,电脑使用USB通讯线和PLC连接。 二、打开程序,点击串口标识,会弹出通信配置窗口。 三、双击USB通讯这条进行设…

【AI如何帮你编写测试用例并输出表格格式】

1、工具:顺便使用一款生成式AI即可,此处用的是ChatGPT,Kimi这两个工具试验。 2、首先要拿到需求文档,根据需求文档向AI发出如下指令(Prompt) “请根据下面这段需求,编写测试用例: …

Spark-键值对RDD数据分区

Spark概述 Spark-RDD概述 在Spark中,键值对RDD数据分区是指将键值对RDD中的数据分布到集群中的不同节点上的过程。 Spark目前支持Hash分区、Range分区和用户自定义分区。Hash分区为当前的默认分区。 分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle后…

【Docker系列】 Docker容器具体信息查询

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

TCP通信流程

TCP通信流程 TCP和UDP的区别 TCP(传输控制协议) 面向连接的:在数据传输之前,TCP 需要三次握手来建立连接。可靠的传输:通过序列号、确认响应、重传机制、流量控制和拥塞控制来保证数据正确传输。基于字节流&#xf…

Redis崩溃后,如何进行数据恢复的?no.24

本课时我们主要学习通过 RDB、AOF、混合存储等数据持久化方案来解决如何进行数据恢复的问题。 Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF,以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在…

MongoDB基础入门到深入(八)MongoDB整合SpringBoot、Chang Streams

文章目录 系列文章索引十五、MongoDB整合SpringBoot1、环境准备2、集合操作3、文档操作(1)相关注解(2)创建实体(3)添加文档(4)查询文档(5)更新文档&#xff0…

Science| 单体耦合纤维实现无芯片纺织电子(纤维器件/智能织物/柔性可穿戴电子)

东华大学Hongzhi Wang,Chengyi Hou和Qinghong Zhang团队在《Science》上发布了一篇题为“Single body-coupled fiber enables chipless textile electronics”的论文。论文内容如下: 一、 摘要 智能纺织品为将技术融入日常生活中提供了理想的平台。然而,目前的纺织电子系统…