平台的拨测功能基于 Blackbox Exporter 实现,允许用户通过 ICMP、TCP 或 HTTP 对网络进行探测,以快速识别平台上发生的故障。
与依赖于平台上已有的各类监控指标的白盒监控系统不同,黑盒监控侧重于结果。当白盒监控无法覆盖影响服务可用性的所有因素时,黑盒监控能够快速检测故障,并基于这些故障发出警报。例如,如果某个 API 接口出现异常,黑盒监控能够及时向用户揭示这些问题。
拨测功能不支持在内核版本为 3.10 及以下版本的节点上使用 ICMP 方式探测 IPv6 地址,如需使用此场景,请将节点上的内核版本升级至 3.11 或更高版本。
创建黑盒监控项时,可以选择 ICMP、TCP 或 HTTP 探测方式,定期对指定的目标地址进行探测。
监控组件必须已安装在集群中,并且运行正常。
在左侧导航栏中,单击 运维中心 > 监控 > 黑盒监控。
提示:黑盒监控是集群级别的功能。单击上方导航栏以切换集群。
单击 创建黑盒监控项。
参考以下说明配置相关参数。
参数 | 说明 |
---|---|
探测方式 | ICMP:通过对 目标地址 中输入的域名或 IP 地址进行 ping 探测,以检查服务器的可用性。 TCP:通过监听 目标地址 中输入的 <域名:端口> 或 <IP:端口> 中的业务端口进行探测。HTTP:探测 目标地址 中输入的 URL 以检查网站的连通性。 提示:HTTP 探测方式默认仅支持 GET 请求;如需使用 POST 请求,请参见 自定义 BlackboxExporter 监控模块。 |
探测间隔 | 探测的时间间隔。 |
目标地址 | 待探测的目标地址,最大长度为 128 个字符。 不同 探测方式 的目标地址输入格式有所不同: ICMP:域名或 IP 地址,例如 10.165.94.31 。TCP: <域名:端口> 或 <IP:端口> ,例如 172.19.155.133:8765 。HTTP:以 http 或 https 开头的 URL,例如 http://alauda.cn/ 。 |
单击 创建。
创建成功后,您可以在列表页面实时查看最近的探测结果,并基于黑盒监控项创建告警策略。当检测到故障时,系统将自动触发警报,以通知相关人员进行修复。
成功创建黑盒监控项后,系统需要大约 5 分钟的时间来同步配置。在此同步期间,探测将不会执行,并且无法查看探测结果。
监控组件必须已安装在集群中,并且运行正常。
黑盒监控项必须已成功创建,并且系统完成配置同步,以便在黑盒监控页面上查看探测结果。
在左侧导航栏中,单击 运维中心 > 告警 > 告警策略。
提示:告警策略是集群级别的功能。请确保切换至刚刚配置黑盒监控项的集群。
单击 创建告警策略。
参考以下说明配置相关参数;更多参数信息请参见 创建告警策略。
告警类型:请选择 资源类告警。
资源类型:请选择 集群。
单击 添加告警规则。
告警类型:请选择 黑盒告警。
黑盒监控项:请选择所需的黑盒监控项。
指标名称:请选择要监测和告警的指标,当前平台支持的指标有 连通性 和 HTTP 状态码。
连通性:此指标适用于所有黑盒监控项,其中触发条件 “!= 1” 表示黑盒监控项的目标地址无法到达。
HTTP 状态码:当选择的黑盒监控项的探测方式为 HTTP 时,可以选择此指标。您可以输入一个三位正整数作为触发条件的值,例如,如果条件设置为 “> 299”,则表示当返回代码为 3XX、4XX 或 5XX 时触发警报。
通知策略:请选择您预先配置的策略。
单击 添加。
您还可以通过向 BlackboxExporter 的配置文件添加自定义监控模块来增强黑盒监控的功能。例如,添加 http_post_2xx 模块后,当黑盒监控的探测方式设置为 HTTP
时,它将能够探测 POST 请求方法的状态。
黑盒监控的配置文件位于集群 Prometheus 组件所在的命名空间中,默认名称为 cpaas-monitor-prometheus-blackbox-exporter
,可根据实际需要进行修改。
该配置文件是与命名空间相关的 ConfigMap 资源,可以通过平台管理功能 集群管理 > 资源管理 快速查看和更新。
更新黑盒监控的配置文件,为 key modules
添加自定义监控模块。
以添加 http_post_2xx 模块为例:
有关黑盒监控配置文件完整的 YAML 示例,请参见 参考信息。
通过以下任一方式使配置生效。
通过删除 Blackbox Exporter 组件 cpaas-monitor-prometheus-blackbox-exporter 的 Pod 重启 Blackbox Exporter 组件。
执行以下命令调用 reload API 并刷新配置文件:
必须配置通知策略(需要自动通知警报)。
目标集群必须已安装监控组件。
example-probe.yaml
的新 YAML 配置文件。prometheus-liveness
的新告警策略:example-alerting-rule.yaml
的新 YAML 配置文件。policy
的新告警策略:黑盒监控配置文件完整的 YAML 示例: