用Prometheus对业务服务进行监控

这里分享一个用于黑盒监控的blackbox_exporter, 可以用于对http,https,tcp,dns以及ICMP协议进行探测,从而抓取数据进行监控。但是,这些对于我们来说究竟能解决什么用处。

我们可以通过blackbox_exporter对服务进行状态码监测,我们可以在代码中查看返回成功的状态码是哪些,状态码监测规则可以通过下图看出。
blackbox_exporter

这样的话,我们就可以判断服务是否还在正常的工作,网站有没有出现不可访问,站在用户的角度上进行对服务资源监控。当然这里还可以对支持https的证书的有效期进行监控,看下图,有两个域名的证书还有一年半的时间到期。只要数据采集到了,我们就可以通过数据进行有效的告警,不用专门的再去写拓展服务区监控证书到期时间了。

blackbox_exporter dns

同样的Blackbox_exporter也可以为域名的DNS做解析的探测,尝试不同的DNS对域名服务解析是否出现问题,比如我这里做的效果图。

同样的,blackbox_exporter如Github中介绍所说的,可以做http,https,tcp,icmp,DNS等探测,所以你可以通过自己的需求进行数据的采集,让系统的数据说话。

下面我们讲讲如何实现这些数据采集以及监控:第一步还是安装,准备一个blackbox_exporter的Agent,让它作为代理去为我们采集数据。

首先我们应该准备一个探针模块作为blackbox_exporter的配置文件blackbox_exporter.yml,这里我们使用HTTP、DNS两个模块作为演示案例

配置文件准备好之后,我们就可以开始运行blackbox_exporter 容器了。

docker run --restart=always -d -p 9130:9115 --name blackbox_exporter -v `pwd`/blackbox_exporter.yml:/config/blackbox.yml prom/black-exporter:master --config.file=/config/blackbox.yml 

运行起来之后,查看一些容器的运行日志

假设我们这里有现成的Promtheus服务。我们现在就可以将blackbox_exporter写进promtheus服务

仔细看一下prometheus的配置文件,我们会发现检查项都是通过动态文件来发现的,其中blackbox_dns.json用于发现待需检查的域名,blackbox_http.json用于发现使用http模块嗅探服务正常的配置文件,下面我们需要在prometheus的配置文件的同级目录下加入这两个文件。

blackbox_dns.json

blackbox_http.json

这样我们实现了针对DNS,http两种探测指针的演示,我们看一下Prometheus中Http模块监测状态

同样的,我这里使用了Grafana用于对HTTP监测的数据进行图标的展示,这里分享Dashboard的ID为9965和7587

【7587】

【9965】

我们会不定期的分享一些技术文章,有需要的可以关注一下哦。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值