Prometheus监控http应用

0    10    1

Tags:

👉 本文共约2166个字,系统预计阅读时间或需9分钟。

简介

HTTP(Hypertext Transfer Protocol)是一种基于C/S模型的应用层协议,常用于 Web 数据通信。HTTP相关的应用在互联网世界有着最广泛的存在,不管是Web网站还是API,都离不开HTTP的支持。对于运维人员而言,在工作中不可避免需要维护HTTP的业务,而掌握监控能力则是解决问题的一项重要手段。

本文将介绍如何通过Prometheus结合Blackbox exporter,实现对于HTTP应用的监控。

Blackbox Exporter

Blackbox Exporter是一个用于监控网络服务的开源软件,它由Prometheus社区开发和维护。Blackbox Exporter通过发送请求到目标服务并检查其响应来监控网络服务的可用性和性能指标。

它可以监控多种类型的网络服务,包括HTTP/HTTPS、TCP、DNS、ICMP等,并提供了一系列的配置选项和参数,可以对探测的方式和结果进行更加精细的控制和管理。

Blackbox Exporter的使用方式与其他Exporter不太一样,在其配置文件需要定义好检查的模块,如HTTP检测模块。Prometheus将目标和模块名作为URL的参数传递给Blackbox Exporter,再由其负责生成对应的探测请求到目标端点,并根据返回的请求状态生成对应的时间序列指标,最终传递给Prometheus。

Prometheus监控http应用

这种基于探针的检测方式非常有用,比如可以在多个地区发起检测,来了解公司对外提供服务的Web站点在各个区域的访问是否正常。目前也有不少商业机构在提供类似的专业服务,如听云、博睿、监控宝等。当然 ,你也可以通过Blackbox Exporter来搭建自己的检测平台。

安装配置

Blackbox Exporter支持不同平台的安装 ,包括Linux、Windows、Max OS等,本文我们使用Linux版本的安装文件来演示。

1. 安装exporter

下载二进制文件

解压安装包,并拷贝执行命令到bin目录

查看版本

2. 配置exporter

Blackbox Exporter需要在配置文件中定义模块,每个模块有特定的名称和探针,如用于检查HTTP服务的http探针、用于检查TCP连接的TCP探针等。

此处我们以HTTP模块为例,来演示配置的操作。(其他更多配置,可参见Prometheus的示例文件 :https://github.com/prometheus/blackbox_exporter/blob/master/example.yml。)

创建 blackbox.yml配置文件,包含以下内容:

注释:此处我们定义了一个模块名为http_2xx,使用http探针,探针检测超过5秒会被当成超时;valid_status_codes定义返回的响应码;valid_http_versions定义探针的http版本;method则定义了请求模式,可支持GET和POST。

3. 启动exporter

启动exporter,并加载指定配置文件。

配置Prometheus

我们在Prometheus上面配置一个示例任务,以百度和163网站为例,演示对于网站的HTTP检测 。

注:这里我们定义了一个名为blackbox_http的job,并通过标签重写功能,将目标地址改为192.168.214.108:9115,也即是Blackbox Exporter的地址端口。(关于标签重写的介绍,可以查看前面的Prometheus教程)

配置完成后,等Prometheus加载新配置后,可看到相关的Targets已生成。

Prometheus监控http应用

在任务生效后,可以看到与该任务相关的探测指标。

Prometheus监控http应用

Grafana展示

  1. 选择"Create"-"Import"

Prometheus监控http应用

  1. 填写Dashboard模板ID号,点击Load

Prometheus监控http应用

  1. 选择对应的Prometheus 数据源,点击import

Prometheus监控http应用

  1. 导入完成后,即可在新的Dashboard查看数据指标。

Prometheus监控http应用

告警规则

Grafana的展示让我们可以了解网站的运行情况,而配置告警则可以及时发现故障,并作出响应。

在告警规则的配置上,需要使用Blackbox Exporter返回的指标数据。以下是一些部分常用的指标,它们可以帮助你及时发现HTTP应用的问题:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

下面是一条告警规则的示例:

注: 这里我们定义了一条关于返回码的告警规则,如果返回的状态码非2xx或3xx,例如404、503等,则会触发该规则。

更多的告警规则,大家可以根据业务需求自行定制,并通过Alertmanager进行警报管理。

结语

本文介绍了Prometheus与Blackbox Exporter结合获取HTTP应用信息,并与Grafana等结合实现展示和告警功能,使我们可以获得有关HTTP的实时性能数据,并及时发现和解决问题。

参考

https://mp.weixin.qq.com/s/O_RSl13LfH42r0NnyTfAvA

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部