Blackbox_exporter黑盒监测

一、概述

blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http、dns、tcp、icmp 的监控数据采集。
Blackbox_exporter 应用场景

  • HTTP 测试

          定义 Request Header 信息
          判断 Http status / Http Respones Header / Http Body 内容

  • TCP 测试

          业务组件端口状态监听
           应用层协议定义与监听

  • ICMP 测试

           主机探活机制

  • POST 测试

          接口联通性

  • SSL 证书过期时间

 

二、安装

环境说明

操作系统:centos 6.9

下载解压

各个版本的blackbox_exporter https://github.com/prometheus/blackbox_exporter/releases
以linux系统为例,下载编译好的二进制包,解压使用:

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.16.0/blackbox_exporter-0.16.0.linux-amd64.tar.gz
tar -zxvf blackbox_exporter-0.16.0.linux-amd64.tar.gz -C /data
mv /data/blackbox_exporter-0.16.0.linux-amd64 /data/blackbox_exporter

 

验证是否安装成功

# cd /data/blackbox_exporter/
# ./blackbox_exporter --version
blackbox_exporter, version 0.16.0 (branch: HEAD, revision: 991f89846ae10db22a3933356a7d196642fcb9a9)
  build user:       root@64f600555645
  build date:       20191111-16:27:24
  go version:       go1.13.4

 

启动blackbox_exporter

nohup ./blackbox_exporter &

 

验证是否启动成功

默认监听端口为9115

# ss -tunlp|grep 9115
tcp    LISTEN     0      32768                  *:9115                  *:*      users:(("blackbox_export",29880,3))

 

三、prometheus.yml中加入blackbox_exporter

监控主机存活状态

编辑prometheus配置文件

vi /data/prometheus/prometheus.yml

最后一行添加

复制代码
  - job_name: node_status
    metrics_path: /probe
    params:
      module: [icmp]
    static_configs:
      - targets: ['10.165.94.31']
        labels:
          instance: node_status
          group: 'node'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - target_label: __address__
        replacement: 172.19.155.133:9115
复制代码

注意:10.165.94.31是被监控端ip,172.19.155.133是Blackbox_exporter

 

监控主机端口存活状态

复制代码
  - job_name: 'prometheus_port_status'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets: ['172.19.155.133:8765']
        labels:
          instance: 'port_status'
          group: 'tcp'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 172.19.155.133:9115
复制代码

 

监控网站状态

复制代码
  - job_name: web_status
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets: ['http://www.baidu.com']
        labels:
          instance: user_status
          group: 'web'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - target_label: __address__
        replacement: 172.19.155.133:9115
复制代码

 

检查配置文件是否书写正确

cd /data/prometheus
./promtool check config prometheus.yml

 

重启prometheus

service restart prometheus

 

访问targets界面

访问 http://127.0.0.1:9090/targets 查看加入的监控信息。

 

 

 

确保状态为 UP 

 

四、grafana中加入blackbox_exporter监控数据

导入blackbox_exporter模板

此模板为9965号模板,数据源选择Prometheus 模板下载地址 https://grafana.com/grafana/dashboards/9965

 

 

此模板需要安装饼状图插件 下载地址 https://grafana.com/grafana/plugins/grafana-piechart-panel
安装插件,重启grafana生效。

grafana-cli plugins install grafana-piechart-panel
service grafana-server restart

 

访问grafana

访问 http://127.0.0.1:3000,查看数据。

 

 

 

本文参考链接:

https://blog.csdn.net/qq_43190337/article/details/100577728

posted @   肖祥  阅读(13028)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示