使用prometheus和blackbox_exporte进行业务服务监控

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

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

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

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

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

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

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

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

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

假设我们这里有现成的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】

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

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部