知易网
白蓝主题五 · 清爽阅读
首页  > 办公软件

Kubernetes监控方案:小团队也能搭起来的实用组合

最近帮朋友公司查一个线上服务老是偶发卡顿的问题,顺手翻了翻他们 K8s 集群的监控——仪表盘空荡荡,Prometheus 只跑了默认指标,告警规则写了三条还全是注释掉的。其实真不用搞得那么玄乎,一套轻量、能跑通、看得懂的 Kubernetes 监控方案,小团队两天就能搭好。

先盯住这三块,别一上来就堆工具

不是所有指标都值得监控。对大多数办公类后端服务(比如内部审批系统、文档协作 API、消息通知服务)来说,重点看三块:节点资源水位(CPU/内存是否持续超 80%)、Pod 生命周期异常(频繁 CrashLoopBackOff 或 Pending)、核心服务延迟与错误率(比如 /api/v1/submit 接口 P95 超过 1.5 秒或 5xx 错误突增)。

Prometheus + Grafana 是绕不开的起点

用 Helm 装个 kube-prometheus-stack,一条命令搞定:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install my-monitor prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace

装完自带 Node Exporter、Kube State Metrics、Alertmanager,Grafana 里预置了 Kubernetes / Compute Resources / Cluster 和 Pods 等几个看板。打开 Grafana,选「Kubernetes / Compute Resources / Cluster」,一眼就能看出哪个节点快撑不住了——上周我们发现某台 32C64G 的节点,因日志采集 DaemonSet 占满 IO,导致同节点上的审批服务响应慢了一倍,就是靠这个看板定位的。

加点“人话”告警,别光甩数字

默认告警太机械。把这条改掉:

- alert: KubeNodeNotReady
expr: kube_node_status_phase{phase="Unknown"} == 1
for: 5m
labels:
severity: warning
annotations:
summary: "节点 {{ $labels.node }} 失联"
description: "已超过 5 分钟未上报状态,请检查网络或 kubelet 进程。当前影响服务:{{ $value | printf "%.0f" }} 个 Pod"

再配上企业微信机器人,告警来了不光写“节点失联”,还告诉你“影响 7 个 Pod”,其中包含“oa-approval-api-5b8c9”和“doc-sync-worker-7d2a1”——运维扫一眼就知道该不该立刻爬起来。

不想自建?试试托管方案的“最小闭环”

如果连 Prometheus 都不想维护,阿里云 ARMS、腾讯云 TKE Monitor 其实都支持一键接入已有集群,自动采集节点、Pod、容器指标,还内置了「API 响应慢 Top10」「Pod 重启次数突增」这类办公场景常用视图。开通后,把 Grafana 数据源切过去,原来做的看板基本不用重做。

监控不是为了画大屏,而是让故障发生前有人听见声音。你用的什么组合?欢迎在评论区甩出你的告警规则片段或者截图。