使用blackbox-exporter实现针对url的可访问性监控

笔者想实现对一部分URL进行可访问性监控,周期性访问获取每次访问的时延以及可达性记录。实际上如果自己编程的话应该很容易实现,但是考虑到后续扩容(增加URL数量)以及想将相关监控记录及时写入后台的对象存储中,所以此处笔者采用Blackbox_exporter+Prometheus的方式予以实现,以Ubuntu系统中部署为例:

1、下载最新blackbox-exporter

​从https://github.com/prometheus/blackbox_exporter/releases/选择合适的版本,例如ubuntu系统中选择linux-amd64版本进行下载:​

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

之后解压缩 tar zxvf blackbox_exporter-0.23.0.linux-amd64.tar.gz​

mv blackbox_exporter-0.23.0.linux-amd64 blackbox_exporter​

mv blackbox_exporter /usr/local/​

2、配置blackbox-exporter开机启动​

vim /etc/systemd/system/blackbox-exporter.service​​

具体内容为:

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

[Service]
Type=simple
User=root
Group=root

ExecStart=/usr/local/blackbox_exporter/blackbox_exporter \
--config.file=/usr/local/blackbox_exporter/blackbox.yml \
--web.listen-address=:9115
Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl enable –now blackbox-exporter.service​

至此就可以通过 ps aux|grep blackbox 查看到blackbox-exporter已经启动了​

也可以直接访问 http:/127.0.0.1:9115 进行查看相关状态​

3、利用blackbox-exporter 实现对URL 可访问性以及访问时延的监控​

首先安装prometheus​

apt-getinstall prometheus​

具体配置文件位置在: /etc/prometheus/prometheus.yaml文件

 - job_name: 'http_status'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
        - 'http://www.xiaomi.com'
        - 'http://www.magedu.com'
        - 'http://www.baidu.com'
        labels:
          instance: http_status
          group: web
    relabel_configs:
      - source_labels: [__address__] # 将__address__(当前监控目标URL地址的标签)修改为__param_target,用于传递给blackbox_exporter
        target_label: __param_target #标签key为__param_target、value为www.xiaomi.mkey为__param_target、value为www.magedu.com
      - source_labels: [__param_target] #基于__param_target获取监控目标
        target_label: url #将监控目标的值与 url 创建一个label
      - target_label: __address__ #新添加一个目标__address__,指向blackbox_exporter服务器地址,用于将监控请求发送给指定的blackbox_exporter服务器
        replacement: 127.1.1.1:9115 #指定blackbox_exporter服务器地址

将上面配置中的 最后一行 127.1.1.1换成blackbox-exporter所在服务器的IP地址即可。​

然后即可通过 http://127.0.0.1:9090查看监控url的状态信息

​​

此条目发表在智能运管分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表回复