searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

prometheus+黑盒监控

2024-09-10 09:23:18
1
0

概述​: 监控体系介绍

image.png
什么是白盒与黑盒监控?

墨盒监控 黑盒监控指的是以用户的身份测试服务的运行状态。常见的黑盒监控手段包括 HTTP 探针、TCP 探针、DNS 探测、ICMP 等。黑盒监控常用于检测站点与服务可用性、连通性,以及访问效率等。 白盒监控 白盒监控一般指的是我们日常对服务器状态的监控,如服务器资源使用量、容器的运行状态、中间件的稳定情况等一系列比较直观的监控数据,这些都是支撑业务应用稳定运行的基础设施。

Prometheus 黑盒监控组件Blackbox_exporter 介绍:

Blackbox Exporter 在黑盒健康方面。Blackbox Exporter 是 Prometheus 社区提供的官方黑盒监控解决方案,其允许用户通过:HTTP、HTTPS、DNS、TCP 以及 ICMP 的方式对网络进行探测,目前我司相关业务监控接口也是基于 Blockbox 来进行的,下面我们开始介绍下相关的应用场景

Blackbox_exporter 应用场景

HTTP 测试

定义 Request Header 信息

  判断 Http status / Http Respones Header / Http Body 内容

TCP 测试

业务组件端口状态监听

  应用层协议定义与监听

ICMP 测试

主机探活机制

POST 测试

接口联通性

SSL 证书过期时间

Blackbox_exporter 模块ICMP 场景

可以通过 ping(icmp) 检测服务器的存活,在 blackbox.yml 配置文件中配置使用 icmp module:

modules:

icmp:

prober: icmp

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job_name: 'blackbox-ping’

metrics_path:/probe

params:

modelus: [icmp]

static_configs:

-targets:

-_172.16.1.6 #被监控设备端ip

-_172.16.1.7 #被监控设备端ip

relabel configs:

-source_labels:[​address​]

target_label: param_target

-source_labels:[ param_target]

target_label: instance

target_label:address

replacement: 127.0.0.1:9115 #blackbox-exporter 所在的机器和端囗

Blackbox Exporter 使用案例:TCP 场景

TCP 测试(监控主机端口存活状态) 在 blackbox.yml 配置文件中配置使用 tcp module

modules:

tcp_connect:

prober: tcp

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job_name: 'blackbox-tcp’

metrics_path: /probe

params:

modelus: [tcp_connect]

static_configs:

-targets:

-_172.16.1.6:6443

-_172.16.1.7:6443

relabel_configs:

-source_labels:[​address​]

target_label:_param_target

-source labels: [_param_target]

target_label: instance

-target label: address

replacement: 172.16.1.4:9115

Blackbox Exporter 使用案例:HTTP 场景

在 blackbox.yml 配置文件中配置使用 http module

modules:

http_2xx:

prober: httphttp:

method: GET

http_post_2xx:

prober: http

http:

method: POST

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job name:'blackbox-http’

metrics_path: /probe

params:

modelue: [http_2xx]

static configs:

-targets:

-访问monitor.a.com/login

relabel_configs:

-source_labels: address

target_label: param_target

source_labels:[param_target]

target_label: instance

target_label: address

replacement: 172.16.1.4:9115 #blackbox-exporter所在的机器和端口

Blackbox Exporter 获取监控数据含义解读

#DNS解析时间,单位s

probe_dns_lookup_time_seconds 0.000199211

#探测从开始到结束的时间,单位s,请求这个页面响应时间

probe_duration_seconds 0.010889013

HELP probe failed due to regex Indicates if probe failed due to regex

#TYPE probe failed due to regex gauge

probe_failed_due to regex 0

#HTTP内容响应的长度

probe_http_content_length -1

#按照阶段统计每阶段的时间

probe_http_duration_seconds{phase="connect"}0.001083552 #连接时间

probe_http_duration_seconds{phase="processing"}0.008365783 #处理请求的时间

probe_http_duration_seconds{phase="resolve"}0.000199123 #响应时闻

#校验证书的时间probe_http_duration_seconds{phase="tls"} 0

probe_http_duration_secondsiphase="transfer"10.000446111 #传输时间

#重定向的次数

probe_http_redirects 0

#ssl指示是否将SSL用于最终重定向

probe_http_ssl 0

#返回的状态码

probe_http_status_code 200

#未压缩的响应主体长度

probe_http_uncompressed_body_length 1766

#http协议的版本

probe_http_version_1.1## HELP probe ip addr hash Specifies the hash of iP address. it's useful to detect if the iP address changes.probe ip addr hash 3.24030434e+09

#使用的ip协议的版本号

probe_ip_protocol 4

#是否探测成功

probe_success 1

总结:

黑盒监控与白盒健康检查的最大不同点在于它们监测系统健康状态的角度和深度。

·黑盒监控:

1、黑盒监控是从外部观察系统的运行状态,就像一个真实的用户或客户端一样。它通过发送请求并接收响应来判断系统是否正常运作,而不考虑系统的内部架构或具体实现。

2、这种监控方式主要关注系统的可用性和响应时间,例如,能否成功访问网站、API接口是否能正确响应等

3、黑盒监控的优点是实施简单,不需要深入理解系统内部,可以快速部署,但缺点是可能无法发现深层次的性能瓶颈或内部错误。

·白盒健康检查:

1、白盒健康检查则深入系统内部,检查其内部状态和资源使用情况。这包括但不限于内存使用、CPU负载、磁盘I/0、网络流量、线程状态、数据库连接数等。

2、这种检查方式能够更全面地评估系统的健康状况,及时发现潜在的性能问题或配置错误。

3、白盒健康检査的优点是可以提前预警系统可能出现的问题,避免故障发生:但需要对系统有深入的理解,目可能涉及更多的系统资源消耗。

总的来说,黑盒监控更适合于快速验证系统的外部表现,而白盒健康检查则更侧重于深入系统内部,确保其长期稳定运行。在实际应用中,两者往往结合使用,以达到最佳的监控效果。

0条评论
作者已关闭评论
avayn
2文章数
0粉丝数
avayn
2 文章 | 0 粉丝
avayn
2文章数
0粉丝数
avayn
2 文章 | 0 粉丝
原创

prometheus+黑盒监控

2024-09-10 09:23:18
1
0

概述​: 监控体系介绍

image.png
什么是白盒与黑盒监控?

墨盒监控 黑盒监控指的是以用户的身份测试服务的运行状态。常见的黑盒监控手段包括 HTTP 探针、TCP 探针、DNS 探测、ICMP 等。黑盒监控常用于检测站点与服务可用性、连通性,以及访问效率等。 白盒监控 白盒监控一般指的是我们日常对服务器状态的监控,如服务器资源使用量、容器的运行状态、中间件的稳定情况等一系列比较直观的监控数据,这些都是支撑业务应用稳定运行的基础设施。

Prometheus 黑盒监控组件Blackbox_exporter 介绍:

Blackbox Exporter 在黑盒健康方面。Blackbox Exporter 是 Prometheus 社区提供的官方黑盒监控解决方案,其允许用户通过:HTTP、HTTPS、DNS、TCP 以及 ICMP 的方式对网络进行探测,目前我司相关业务监控接口也是基于 Blockbox 来进行的,下面我们开始介绍下相关的应用场景

Blackbox_exporter 应用场景

HTTP 测试

定义 Request Header 信息

  判断 Http status / Http Respones Header / Http Body 内容

TCP 测试

业务组件端口状态监听

  应用层协议定义与监听

ICMP 测试

主机探活机制

POST 测试

接口联通性

SSL 证书过期时间

Blackbox_exporter 模块ICMP 场景

可以通过 ping(icmp) 检测服务器的存活,在 blackbox.yml 配置文件中配置使用 icmp module:

modules:

icmp:

prober: icmp

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job_name: 'blackbox-ping’

metrics_path:/probe

params:

modelus: [icmp]

static_configs:

-targets:

-_172.16.1.6 #被监控设备端ip

-_172.16.1.7 #被监控设备端ip

relabel configs:

-source_labels:[​address​]

target_label: param_target

-source_labels:[ param_target]

target_label: instance

target_label:address

replacement: 127.0.0.1:9115 #blackbox-exporter 所在的机器和端囗

Blackbox Exporter 使用案例:TCP 场景

TCP 测试(监控主机端口存活状态) 在 blackbox.yml 配置文件中配置使用 tcp module

modules:

tcp_connect:

prober: tcp

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job_name: 'blackbox-tcp’

metrics_path: /probe

params:

modelus: [tcp_connect]

static_configs:

-targets:

-_172.16.1.6:6443

-_172.16.1.7:6443

relabel_configs:

-source_labels:[​address​]

target_label:_param_target

-source labels: [_param_target]

target_label: instance

-target label: address

replacement: 172.16.1.4:9115

Blackbox Exporter 使用案例:HTTP 场景

在 blackbox.yml 配置文件中配置使用 http module

modules:

http_2xx:

prober: httphttp:

method: GET

http_post_2xx:

prober: http

http:

method: POST

prometheus 监控系统配置文件prometheus.yml 添加对应监控任务

-job name:'blackbox-http’

metrics_path: /probe

params:

modelue: [http_2xx]

static configs:

-targets:

-访问monitor.a.com/login

relabel_configs:

-source_labels: address

target_label: param_target

source_labels:[param_target]

target_label: instance

target_label: address

replacement: 172.16.1.4:9115 #blackbox-exporter所在的机器和端口

Blackbox Exporter 获取监控数据含义解读

#DNS解析时间,单位s

probe_dns_lookup_time_seconds 0.000199211

#探测从开始到结束的时间,单位s,请求这个页面响应时间

probe_duration_seconds 0.010889013

HELP probe failed due to regex Indicates if probe failed due to regex

#TYPE probe failed due to regex gauge

probe_failed_due to regex 0

#HTTP内容响应的长度

probe_http_content_length -1

#按照阶段统计每阶段的时间

probe_http_duration_seconds{phase="connect"}0.001083552 #连接时间

probe_http_duration_seconds{phase="processing"}0.008365783 #处理请求的时间

probe_http_duration_seconds{phase="resolve"}0.000199123 #响应时闻

#校验证书的时间probe_http_duration_seconds{phase="tls"} 0

probe_http_duration_secondsiphase="transfer"10.000446111 #传输时间

#重定向的次数

probe_http_redirects 0

#ssl指示是否将SSL用于最终重定向

probe_http_ssl 0

#返回的状态码

probe_http_status_code 200

#未压缩的响应主体长度

probe_http_uncompressed_body_length 1766

#http协议的版本

probe_http_version_1.1## HELP probe ip addr hash Specifies the hash of iP address. it's useful to detect if the iP address changes.probe ip addr hash 3.24030434e+09

#使用的ip协议的版本号

probe_ip_protocol 4

#是否探测成功

probe_success 1

总结:

黑盒监控与白盒健康检查的最大不同点在于它们监测系统健康状态的角度和深度。

·黑盒监控:

1、黑盒监控是从外部观察系统的运行状态,就像一个真实的用户或客户端一样。它通过发送请求并接收响应来判断系统是否正常运作,而不考虑系统的内部架构或具体实现。

2、这种监控方式主要关注系统的可用性和响应时间,例如,能否成功访问网站、API接口是否能正确响应等

3、黑盒监控的优点是实施简单,不需要深入理解系统内部,可以快速部署,但缺点是可能无法发现深层次的性能瓶颈或内部错误。

·白盒健康检查:

1、白盒健康检查则深入系统内部,检查其内部状态和资源使用情况。这包括但不限于内存使用、CPU负载、磁盘I/0、网络流量、线程状态、数据库连接数等。

2、这种检查方式能够更全面地评估系统的健康状况,及时发现潜在的性能问题或配置错误。

3、白盒健康检査的优点是可以提前预警系统可能出现的问题,避免故障发生:但需要对系统有深入的理解,目可能涉及更多的系统资源消耗。

总的来说,黑盒监控更适合于快速验证系统的外部表现,而白盒健康检查则更侧重于深入系统内部,确保其长期稳定运行。在实际应用中,两者往往结合使用,以达到最佳的监控效果。

文章来自个人专栏
常用工具
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0