观测云-云原生下灵活使用突变告警及时发现系统异常

229 阅读5分钟

背景

观测云Datakit 是一个强大的数据采集工具,能够收集和监控容器化环境和 Kubernetes 集群的指标、对象和日志数据。通过灵活使用 Datakit 收集的数据,可以对 Kubernetes 集群进行深入的监控和分析,从而实现更好的运维和优化。以下是一些使用 Datakit 来优化 Kubernetes 监控和分析的建议

  1. 多维度指标采集:确保采集包括但不限于 kube_podkube_nodekube_deploymentkube_servicekube_daemonset 等指标,以便全面了解集群状态。
  2. 实时监控:利用Datakit的实时数据采集能力和观测云的监控能力,对 Kubernetes 集群的运行状态进行实时监控,及时发现并响应问题。
  3. 自定义告警规则:在观测云上根据业务需求和集群运行特点,设置自定义的告警规则,当指标超出正常范围时,通过邮件、短信或即时通讯工具及时通知相关人员。

云原生使用场景下的痛点案例

Karpenter 是一个开源的 Kubernetes 集群自动扩缩容工具,它能够根据应用的负载动态地调整计算资源,以确保集群资源的高效利用。使用 AWS EKS 服务时,Karpenter 可以提供以下优势:

  1. 即时响应:Karpenter 能够快速响应应用负载的变化,自动调整 pod 和 node 的数量。
  2. 成本优化:通过移除低效节点和替换为更经济的资源,Karpenter 帮助降低集群的计算成本。
  3. 简化运维:Karpenter 提供了一组默认设置,通过单一声明式的 NodePool 资源简化了配置过程。

然而,当出现异常调度,比如部署组实例数量或节点数量突然增加时,确实需要一种机制来即时通知负责人。

使用Datakit采集云原生指标数据+观测云突变监控完美解决

通过比较两个不同时间段内同一个指标的绝对或相对(%)变化值来判断是否产生异常情况。多应用于追踪某个指标的峰值或者数据变化,当出现异常情况时可以更精准地产生事件留做记录。

突变监控支持针对日志、指标、链路、网络等数据进行配置,支持数据量环比、同比、数据量百分比等突变数据进行监控配置。

以下为突变监控几个真实使用场景

监控kubernetes nodes节点数量指标发生突变,发出告警通知

在指标集kubernetes中,指标名称为node,tag名称为cluster_name_k8s, 含义分别为node节点数量以及k8s集群名称,通过监控node节点的变化趋势,当变化数量超过一定数量之后,发出监控告警,详细配置如下

image.png

配置详解

  1. 环比上期对比:监控触发条件为环比最近1分钟与前一分钟的node数量指标MAX值之差。
  2. 检测频率:1分钟执行一次检测。
  3. 触发条件:向上或向下,即取差值的绝对值进行判断;检测对比node数量相差超过5个发出警告事件,超过6个重要事件,超过7个发出紧急事件。

监控pod内存用量发生突增配置如下

在指标集kube_pod中,指标名称为mem_usage,tag名称为cluster_name_k8s、pod_name、deployment, 指标含义为pod节点内存用量,标签含义为k8s集群名称、POD名称、部署组名称,通过监控节点内存的变化趋势,当变化数量超过一定数量之后,发出监控告警,详细配置如下

image.png 配置详解

  1. 差值百分比:监控触发条件为环比最近5分钟与最近15分钟内存用量平均值的差值百分比。
  2. 执行条件:最近5分钟内存使用量超过100MB再触发检测, 规避无用告警
  3. 检测频率:5分钟执行一次检测。
  4. 触发条件:差值百分比进行判断,向上含义为差值百分比大于0时,触发检测;对比内存用量相差增加100%发出警告事件,增加200%发出重要事件,增加300%发出紧急事件。

监控pod频繁发生重启

在指标集kube_pod中,指标名称为restarts,tag名称为cluster_name_k8s、pod_name、deployment, 指标含义为pod重启次数,pod不重建情况下为递增值,标签含义为k8s集群名称、POD名称、部署组名称,通过监控节点内存的变化趋势,当变化数量超过一定数量之后,发出监控告警,详细配置如下

image.png

配置详解

  1. 环比上期对比:监控触发条件为环比最近1分钟与前一分钟的重启次数指标MAX值之差。
  2. 检测频率:1分钟执行一次检测。
  3. 触发条件:向上对比,差值大于0触发检测;检测对比重启次数相差超过1个发出警告事件,超过2个重要事件,超过3个发出紧急事件。

通过ebpf获取网络数据后,监控网络请求量突变配置如下

Datakit 开启ebpf采集后,可以采集到4层/7层网络数据,通过分析httpfluw下的cout指标,可以达到监控接口请求量突增需求,配置详情如下

image.png

配置详解

  1. 监控条件配置: 过滤部署组名称为***,请求的接口地址路径包含***
  2. 差值百分比:监控触发条件为环比上期最近5分钟与前5分钟差值的百分比
  3. 检测频率:5分钟执行一次检测。
  4. 触发条件:差值百分比进行判断,向上含义为差值百分比大于0时,触发检测;对比请求量相差增加100%发出警告事件,增加200%发出重要事件,增加300%发出紧急事件。

使用效果如下:

告警基础属性数据

image.png 告警状态&趋势数据

image.png

欢迎试用

更多功能欢迎访问观测云官网: www.guance.com/ 免费注册地址: auth.guance.com/businessReg…