5分钟上手!Spug监控K8s集群:节点/Pod全掌握
你还在为Kubernetes(K8s)集群监控头疼吗?手动执行kubectl命令查看节点状态?频繁切换界面检查Pod健康?本文将带你用Spug平台实现K8s节点与Pod的自动化监控,无需复杂命令,3步即可搭建可视化监控面板,让运维效率提升10倍!
为什么选择Spug监控K8s?
传统K8s监控工具如Prometheus+Grafana虽功能强大,但配置复杂,学习成本高。而Spug作为企业级运维自动化平台,提供了轻量化的监控方案:
| 监控方案 | 部署难度 | 学习成本 | 运维效率 | 适用场景 |
|---|---|---|---|---|
| Prometheus+Grafana | 复杂 | 高 | 中 | 大型集群/专业运维团队 |
| Spug监控模块 | 简单 | 低 | 高 | 中小型集群/非专业团队 |
Spug监控模块源码位于spug_api/apps/monitor/,支持通过SSH协议远程执行命令,完美适配K8s节点监控需求。
3步实现K8s集群监控
步骤1:添加K8s节点资产
- 登录Spug平台,进入资产管理模块(spug_web/src/pages/host/)
- 点击新增主机,填写K8s节点信息:
- 主机名称:k8s-node-01
- 主机地址:192.168.1.101(K8s节点IP)
- 认证方式:SSH密钥(推荐)或密码
- 测试连接并保存,资产将自动同步至监控模块
步骤2:配置监控模板
Spug提供5种监控类型(spug_api/apps/monitor/executors.py),推荐为K8s配置以下2种模板:
模板A:节点资源监控
- 监控类型:自定义命令(类型4)
- 监控目标:选择已添加的K8s节点
- 执行命令:
kubectl top nodes | grep -v "NAME" | awk '{print "CPU:"$3", 内存:"$5}'
- 阈值设置:CPU使用率>80% 或 内存使用率>85% 触发警告
模板B:Pod状态监控
- 监控类型:自定义命令(类型4)
- 监控目标:K8s master节点
- 执行命令:
kubectl get pods -A | grep -v "Running" | grep -v "Completed" | wc -l
- 阈值设置:异常Pod数量>0 触发紧急告警
步骤3:查看监控面板
进入Spug监控中心(spug_web/src/pages/monitor/),监控卡片将直观展示K8s集群状态:
- 颜色标识:
- 绿色:正常(CPU/内存使用率<阈值)
- 黄色:警告(资源使用率接近阈值)
- 红色:紧急(异常Pod存在或资源超阈值)
监控面板核心组件代码见spug_web/src/pages/monitor/MonitorCard.js,状态映射逻辑如下:
const StatusMap = {
'1': '正常', // 绿色
'2': '警告', // 黄色
'3': '紧急', // 红色
'0': '未激活',
'10': '待调度'
}
高级功能:自定义告警规则
Spug支持通过通知管理模块(spug_api/apps/notify/)配置告警渠道,推荐设置:
- 邮件通知:故障恢复时自动发送恢复报告
- 企业微信/钉钉:紧急告警@相关负责人
- 告警抑制:同一节点5分钟内重复告警自动合并
总结与展望
通过Spug监控模块,我们无需编写复杂的PromQL语句,即可实现K8s集群的可视化监控。核心优势在于:
- 轻量化:无需额外部署监控组件,直接复用Spug现有架构
- 灵活性:支持自定义Shell命令,适配各种K8s监控场景
- 易用性:可视化配置界面,运维新手也能快速上手
未来版本将支持K8s事件监控(如节点NotReady、Pod驱逐等),更多功能可关注官方文档更新。
提示:监控数据默认保留7天,如需延长可修改配置文件中的
monitor_data_ttl参数。
现在就动手试试吧!如有疑问,可查阅社区教程或提交Issue至项目仓库。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



