Prometheus+Blackbox_exporter实现监控网络探测活性

Blackbox_exporter简介

Blackbox_exporter是以HTTP、HTTPS、DNS、TCP、ICMP等方式对目标进行检测,可在应用外部进行探测的黑盒监控。
官网下载地址:
https://github.com/prometheus/blackbox_exporter

适用场景:

1. HTTP/HTTPS:URL/API可用性检测
2. ICMP:主机存活检测(服务探活)
3. TCP:端口活性检测
4. DNS:域名解析
5. SSL证书过期时间

部署Blackbox_exporter

下载软件包:

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz

解压、重命名、授权

tar  -xzf blackbox_exporter-0.23.0.linux-amd64.tar.gz   -C /opt/
cd  /opt
mv   blackbox_exporter-0.23.0.linux-amd64/   blackbox_exporter
chown -R root.root /opt/blackbox_exporter

配置systemd启动

cat  > /usr/lib/systemd/system/blackbox_exporter.service  << EOF

[Unit]
Description=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=:9115
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

启动并设置开机自启

systemctl daemon-reload 
systemctl start blackbox_exporter.service 
systemctl enable blackbox_exporter.service
systemctl status blackbox_exporter.service

blackbox-exporter的配置文件使用默认的即可(/opt/blackbox_exporter/blackbox.yml),文件里定义了进行目标检测时要使用的模块和模块参数。至于要检测哪些目标是定义在Prometheus 的Job配置中

modules:
  http_2xx:
    prober: http
    http:
      preferred_ip_protocol: "ip4"
  http_post_2xx:
    prober: http
    http:
      method: POST
  tcp_connect:
    prober: tcp
  pop3s_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^+OK"
      tls: true
      tls_config:
        insecure_skip_verify: false
  grpc:
    prober: grpc
    grpc:
      tls: true
      preferred_ip_protocol: "ip4"
  grpc_plain:
    prober: grpc
    grpc:
      tls: false
      service: "service1"
  ssh_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^SSH-2.0-"
      - send: "SSH-2.0-blackbox-ssh-check"
  irc_banner:
    prober: tcp
    tcp:
      query_response:
      - send: "NICK prober"
      - send: "USER prober prober prober :prober"
      - expect: "PING :([^ ]+)"
        send: "PONG ${1}"
      - expect: "^:[^ ]+ 001"
  icmp:
    prober: icmp
  icmp_ttl5:
    prober: icmp
    timeout: 5s
    icmp:
      ttl: 5

访问ip+9115,出现以下状态,即成功
在这里插入图片描述

blackbox-exporter实现url监控,修改prometheus.yml,内容如下:

参考https://prometheus.io/docs/guides/multi-target-exporter/

  - job_name: http_check
    metrics_path: /probe	#指定指标接口
    params:	#指定查询参数,在Prometheus向target发送Get请求获取指标数据时,会传递到url上
      module: [http_2xx]
    static_configs:
    - targets:
      - http://www.jd.com
      labels:	#自定义标签,附加在target上
        group: web
    relabel_configs:
    #将标签__address__的值赋值给__param_target标签,以__param开头的标签也会作为查询参数传递Prometheus的Get请求,作用和上面的params配置类似
    - source_labels: [__address__]
      target_label: __param_target
    #将标签__param_target的值赋值给instance标签
    - source_labels: [__param_target]
      target_label: instance
    #将标签__address__的值修改给balckbox-expoter的地址
    - target_label: __address__
      replacement: 192.168.x.x:9115
   #以 http://www.baidu.com为例,最后其对应target的地址就是http://192.168.x.x:9115/probe?module=http_2xx&target=http://www.jd.com

配置修改完成后重启Prometheus,在prometheus界面查看target状态
在这里插入图片描述
访问blackbox-exporter界面查看数据

在这里插入图片描述

blackbox-exporter实现ICMP监控,修改prometheus.yml

  - job_name: icmp-status
    metrics_path: /probe
    params:
      module: [icmp]
    static_configs:
    - targets:
      - 192.168.122.5
      - 192.168.122.11
      labels:
        group: icmp
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.x.x:9115

访问blackbox-exporter界面查看数据(同上)

blacbox-exporter实现端口监控,修改prometheus.yml

  - job_name: tcp-port-status
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
    - targets:
      - 192.168.122.23:3306
      - 192.168.122.5:6443
      labels:
        group: tcp-port-status
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.x.x:9115

Grafana导入模板

模板ID: 9965
导入模板,查看数据。
在这里插入图片描述

撒花!!!

请添加图片描述

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值