背景
公司服务器ng-ec-pay-1
到 三方VPN
多次中断,由于没有监控及告警,均没能再第一时间处理故障。为了及时发现问题并处理,因此需要通过 Prometheus
对 VPN
链路进行监控。
思路
经调研blackbox exporter
可以实现对 http
,https
,tcp
,icmp
,dns
的探测。
可在 ng-ec-pay-1
上通过 blackbox_exporter
探测三方 172.27.5.41
的 443
端口,当返回值正常时,则视为 VPN
链路正常。
安装blackbox_exporter
在 ng-ec-pay-1
服务器上部署 blackbox_exporter
|
|
通过 systemd
对服务进行管理
|
|
若为 ICMP探测,务必使用root用户启动服务。否则返回
probe_success
为0,并有如下报错ts=2021-09-25T15:45:39.601164346Z caller=main.go:130 module=icmp target=192.168.199.213 level=debug msg=“Unable to do unprivileged listen on socket, will attempt privileged” err=“socket: permission denied” ts=2021-09-25T15:45:39.601271144Z caller=main.go:130 module=icmp target=192.168.199.213 level=error msg=“Error listening to socket” err=“listen ip4:icmp 0.0.0.0: socket: operation not permitted” ts=2021-09-25T15:45:39.601360342Z caller=main.go:320 module=icmp target=192.168.199.213 level=error msg=“Probe failed” duration_seconds=0.00092078
服务启动
启动服务并加入开机自启
|
|
验证服务
|
|
Prometheus
在 Prometheus
的配置文件中添加如下内容
|
|
重新加载配置文件。
supervisorctl signal HUP prometheus
访问 10.139.7.192:9115
时,可看到主机探测记录及日志。
告警配置
添加告警规则,当 probe_success
的值为 1
时,表示返回正常。当值为 0
时,表示返回不正确。
- alert: wemabank_vpn
annotations:
description: 'wemabank vpn is down for more than 2mins'
expr: probe_success{node="ali-microloan-ng-ec-pay-1"} == 0
for: 2m
labels:
severity: critical
由于已加 hostgroup
标签,告警会通过 Alertmanager
发送给相应的业务人员。