VM Agent 采集器部署完成后,可以配置采集器和 Exporter 相关的告警,用来监控采集器和 Exporter 的工作状态。本文为您介绍 VM Agent 采集器的常用监控指标和告警配置。
说明
告警的配置方式,请参考 创建告警规则。
容器资源饱和度,主要用来监控 VM Agent 采集器和 Exporter 容器的 CPU 使用率和内存使用率。当容器资源不足时给出告警。
容器资源饱和度一般全局采用统一策略。监控采集组件不需要做特殊化配置。
建议使用以下 PromQL 语句配置容器 CPU 监控。告警预置和告警等级的对应关系如下表所示。
max(rate(container_cpu_usage_seconds_total[5m])) by (namespace, pod, container) / ON(namespace, pod, container) kube_pod_container_resource_limits{resource="cpu"}
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P1 | > 0.8 | 1m |
P2 | > 0.6 | 1m |
建议使用以下 PromQL 语句配置容器内存监控。告警预置和告警等级的对应关系如下表所示。
max(container_memory_working_set_bytes) by (namespace, pod, container) / ON(namespace, pod, container) kube_pod_container_resource_limits{resource="memory"}
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P1 | > 0.8 | 立即触发 |
P2 | > 0.6 | 立即触发 |
容器运行状态,主要用来监控 VM Agent 采集器和 Exporter 容器的运行状态和内存使用率。当容器状态不正常,或内存不足时给出告警。
一般全局采用统一策略。监控采集组件不需要做特殊化配置。
建议使用以下 PromQL 语句配置容器状态监控。告警预置和告警等级的对应关系如下表所示。
kube_pod_status_phase{phase!~"Running|Succeeded|Pending"}
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P0 | = 1 | 5m |
P1 | = 1 | 立即触发 |
节点资源饱和度,主要用来监控 Node 节点的 CPU 使用率和内存使用率。即使容器资源用量没有触及配额限制,虚拟机资源不足仍可能导致资源相关问题。
建议使用以下 PromQL 语句配置节点 CPU 监控。告警预置和告警等级的对应关系如下表所示。
node_load5 / ON(node) machine_cpu_cores
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P1 | > 2 | 1m |
P2 | > 1 | 1m |
建议使用以下 PromQL 语句配置节点内存监控。告警预置和告警等级的对应关系如下表所示。
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P1 | < 0.2 | 立即触发 |
P2 | < 0.4 | 立即触发 |
kubectl delete pod
命令删除可重启的 Pod ,迫使其重新调度到更空闲的节点。采集器对 VMP 写请求成功率,主要用来监控采集器对 VMP 工作区数据写入的成功率。如果采集器对 VMP 工作区数据写入失败,将会导致您的监控数据丢失。
建议使用以下 PromQL 语句配置采集器数据写请求失败率。告警预置和告警等级的对应关系如下表所示。
sum( sum(rate(vmagent_remotewrite_errors_total[5m])) without (url) / sum(rate(vmagent_remotewrite_requests_total[5m])) without (status_code, url) ) without (instance, pod)
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P0 | > 0.5 | 立即触发 |
P1 | > 0.1 | 立即触发 |
P2 | > 0 | 立即触发 |
建议使用以下 PromQL 语句配置采集器是否存在请求指标。告警预置和告警等级的对应关系如下表所示。
absent(vmagent_remotewrite_requests_total)
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P0 | = 1 | 立即触发 |
采集目标状态,主要监控采集器和被采集目标之间的链路和目标的状态是否正常。如果采集器和被采集目标之间的链路异常,或被采集目标状态异常,会导致采集器无法采集到正确的数据。
建议使用以下 PromQL 语句配置采集器数据采集请求状态。告警预置和告警等级的对应关系如下表所示。
vm_promscrape_targets{status="down"}
告警等级 | 触发阈值 | 持续时间 |
---|---|---|
P1 | = 1 | 5m |
P2 | = 1 | 立即触发 |