VM Agent 采集器部署完成后,可以配置采集器和 Exporter 相关的告警,用来监控采集器和 Exporter 的工作状态。本文为您介绍 VM Agent 采集器的常用监控指标和告警配置。
容器资源饱和度
容器资源饱和度,主要用来监控 VM Agent 采集器和 Exporter 容器的 CPU 使用率和内存使用率。当容器资源不足时给出告警。
容器资源饱和度一般全局采用统一策略。监控采集组件不需要做特殊化配置。
建议告警配置
容器 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"}
容器内存监控
建议使用以下 PromQL 语句配置容器内存监控。告警预置和告警等级的对应关系如下表所示。
max(container_memory_working_set_bytes) by (namespace, pod, container)
/ ON(namespace, pod, container)
kube_pod_container_resource_limits{resource="memory"}
运维建议
- kube-state-metrics 组件和 VM Agent 采集器支持分片,资源不足时可以不调整配额,优先增加分片数。操作方法请参见 组件扩容。
- 其他组件应当在触发告警后,可以调大容器资源的 Requests 和 Limits 配合。建议每次调整时 Requests 和 Limits 一起翻倍。
容器运行状态
容器运行状态,主要用来监控 VM Agent 采集器和 Exporter 容器的运行状态和内存使用率。当容器状态不正常,或内存不足时给出告警。
一般全局采用统一策略。监控采集组件不需要做特殊化配置。
建议告警配置
容器状态监控
建议使用以下 PromQL 语句配置容器状态监控。告警预置和告警等级的对应关系如下表所示。
kube_pod_status_phase{phase!~"Running|Succeeded|Pending"}
运维建议
- kube-state-metrics 和 VM Agent 采集器支持分片,资源不足时可以不调整配额,优先增加分片数。操作方法请参见 组件扩容。
节点资源饱和度
节点资源饱和度,主要用来监控 Node 节点的 CPU 使用率和内存使用率。即使容器资源用量没有触及配额限制,虚拟机资源不足仍可能导致资源相关问题。
建议告警配置
节点 CPU 监控
建议使用以下 PromQL 语句配置节点 CPU 监控。告警阈值和告警等级的对应关系如下表所示。
node_load5 / ON(node) machine_cpu_cores
节点内存监控
建议使用以下 PromQL 语句配置节点内存监控。告警预置和告警等级的对应关系如下表所示。
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes
运维建议
- 使用 kubectl delete pod 命令删除可重启的 Pod ,迫使其重新调度到更空闲的节点。
采集器对 VMP 写请求
采集器对 VMP 写请求成功率,主要用来监控采集器对 VMP 工作区数据写入的成功率。如果采集器对 VMP 工作区数据写入失败,将会导致您的监控数据丢失。
建议告警配置
请求失败率
建议使用以下 PromQL 语句配置采集器数据写请求失败率。告警预置和告警等级的对应关系如下表所示。
sum(rate(vmagent_remotewrite_errors_total[5m])) without (url) /
sum(rate(vmagent_remotewrite_requests_total[5m])) without (status_code, url)
) without (instance, pod)
是否存在请求指标
建议使用以下 PromQL 语句配置采集器是否存在请求指标。告警预置和告警等级的对应关系如下表所示。
absent(vmagent_remotewrite_requests_total)
运维建议
- 建议采集器成功运行后再配置此监控项。安装阶段先确认环境和 VMP 服务的连通性以及鉴权信息是否配置正确。
- 如果运行过程中出现相关告警,请发起工单寻求帮助。
采集目标状态
采集目标状态,主要监控采集器和被采集目标之间的链路和目标的状态是否正常。如果采集器和被采集目标之间的链路异常,或被采集目标状态异常,会导致采集器无法采集到正确的数据。
建议告警配置
请求成功率
建议使用以下 PromQL 语句配置采集器数据采集请求状态。告警预置和告警等级的对应关系如下表所示。
vm_promscrape_targets{status="down"}
运维建议
- 排查采集器和被监控服务之间的网络连通性。重点关注安全组配置以及所属节点之间是否可以 ping 通。
- 排查被监控对象的服务是否健康,metrics 接口可是否正常。