Zadig x DeepSeek 实践剖析:环境巡检如何让告警少背锅?

Zadig AI 巡检:K8s 零无效告警,运维效率倍增!

cover.png

# 背景

在微服务与云原生架构普及的今天,Kubernetes 生产环境的复杂度呈指数级增长,传统人工巡检方式已难以适应现代运维需求。人工巡检不仅耗时费力,且难以全面覆盖潜在风险,导致环境问题频发,告警系统也常因大量无效告警而背锅。Zadig 与 DeepSeek 的深度协同,首次将 AGI 技术注入 DevOps 全生命周期,推出「AI 环境巡检」功能,通过定时巡检与智能告警,确保环境稳定性,有效减少无效告警,让告警系统真正发挥其价值。

本文将深入剖析 Zadig 如何通过借助 AI 大语言模型能力,优化环境巡检流程,减少无效告警,提升运维效率。

# 能力概览

01.png

Zadig 的 AI 环境巡检功能专为复杂的 Kubernetes 生产环境设计,通过自动化和智能化手段,全面提升环境稳定性与运维效率。其核心能力包括定时自动巡检、智能问题识别与解决方案推荐、即时告警推送等。AI 定期对 Kubernetes 环境进行全方位检查,覆盖资源状态、服务健康度等关键指标,自动识别 Pod 异常、资源不足、配置错误等常见问题,并提供解决方案。巡检结果通过飞书、钉钉、企业微信等即时通讯工具实时推送给相关责任人,确保问题第一时间被发现和处理。Zadig 的 AI 环境巡检不仅大幅降低了人工巡检的成本,还通过持续监控和预防性维护,有效避免了小问题演变为大故障,助力团队快速响应环境问题,保障生产环境的稳定运行。

# 技术实现

环境巡检功能我们参考了开源项目 K8sGPT 的实现,并使用了该项目中的部分源代码。其核心流程图如下:

02.png

当用户在页面上点击环境巡检后,系统首先会从数据库中获取默认的 LLM(大语言模型)并创建一个 LLM Client。接着,系统会使用这个 LLM Client,结合集群 ID、Namespace、并发数量等数据,创建一个分析器。

该分析器会并发地分析 Kubernetes 集群中的各种资源状态,包括 Deployment、Statefulset、Pod、Service、Node 等。具体来说:

  • Deployment:检查其 Spec 中定义的副本数量与实际运行的副本数量是否一致。
  • Statefulset:检查其对应的 Service 是否存在,以及 VolumeClaimTemplates 中配置的 StorageClass 是否存在。
  • Pod:检查 Pod 是否被正常调度、镜像拉取是否成功、Pod 是否处于 Ready 状态等,还会对 Event 事件进行分析。
  • Service:检查 Service 是否有的 Endpoints,且状态是否为 Ready。
  • PersistentVolumeClaim:检查状态是否正常,并且分析 Event 检查是否 Provision 成功。
  • ……

分析完成后,系统会将收集到的异常信息整合,并搭配预先编写的 Prompt 发送给 LLM。LLM 会解释错误原因并提供解决方案。为了提高响应速度,系统还实现了缓存机制。如果请求的错误信息没有变化,则会直接从缓存中获取结果,而无需再次请求 LLM,从而显著减少了响应时间。

03.png

核心 Prompt

最后,如果用户配置了定时巡检和通知功能,系统会在定时巡检结束后,将巡检结果发送到用户配置的通知渠道,如飞书、企业微信或钉钉等。

# 最终效果图

系统通过定时巡检实时监测环境状态,AI 智能分析异常并生成解决方案,同时将预警信息自动推送至 IM 群组。

04.png

定时巡检

05.png

智能问题识别

06.png

消息推送 IM

# 总结

目前,Zadig 的 AI 环境巡检功能已显著提升运维效率,但在推理模型、资源覆盖和实时响应方面仍有优化空间。未来将通过引入先进推理模型、扩展资源支持、集成 LLM Stream API 等升级,进一步提升分析能力和响应速度,打造更智能的运维体验。

Background Image

作为一名软件工程师,我们一直给各行各业写软件提升效率,但是软件工程本身却是非常低效,为什么市面上没有一个工具可以让研发团队不这么累,还能更好、更快地满足大客户的交付需求?我们是否能够打造一个面向开发者的交付平台呢?我们开源打造 Zadig 正是去满足这个愿望。

—— Zadig 创始人 Landy