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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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】
技术图片

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

以上是关于使用prometheus和blackbox_exporte进行业务服务监控的主要内容,如果未能解决你的问题,请参考以下文章

使用Python和Flask编写Prometheus监控

使用 Prometheus 和 Grafana 监控 Scylla db

如何使用 Prometheus 和 Grafana 优雅的实现服务器可视化

使用Thanos实现Prometheus指标联邦

prometheus和node_exporter安装使用及基本配置

Prometheus 入门篇