网页控制台
集群概览,容器组(Pod)、部署(Deployment)、服务(Service)、节点(Node)全生命周期管理,深浅色双主题。
- 多集群统一视图,按名称切换
- 实时日志、扩缩容、滚动重启
- 多租户 + 操作审计可追溯
控制台 · 诊断引擎 · 群聊运维(ChatOps)· 实时告警,一次部署全部都有。浏览器里点、群里喊、终端里 klaw diag。
线上演示为模拟数据(Mock),本地 make build && ./klaw 运行后 http://localhost:8080 可管理真实集群
事件监听(Watch)+ 指标轮询
73 个分析器
告警收敛因果链
HTML 网页 / JSON / 纯文本
可执行建议
同一份配置驱动网页控制台、群聊运维(ChatOps)、命令行与实时告警,不拼盘、不割裂。
集群概览,容器组(Pod)、部署(Deployment)、服务(Service)、节点(Node)全生命周期管理,深浅色双主题。
9 大类可编排流水线:采集 → 分析 → 根因 → 报告 → 修复建议。
kernel(内核)network(网络)log(日志)security(安全)eBPF(内核级观测)钉钉 / 飞书群里 @ 机器人直接操作集群;Watch(事件监听)秒级推送事件。
klaw p ls prod default网页控制台是四个入口的首页:集群概览、工作负载、诊断报告、操作审计都在同一处,不写 kubectl(K8s 命令行工具)也能管。
同一份配置驱动全部管理页面,浏览器里点击就能管——不写 kubectl,不拼盘。
| 名称 | 命名空间 | 状态 | 重启 | CPU | 内存 | 运行时长 |
|---|---|---|---|---|---|---|
| nginx-7d9f-x2k | production | OOMKilled | 3 | — | 1.21Gi/1Gi | 42d 3h |
| api-server-5f8b-x7m | prod | Running | 0 | 120m | 256Mi | 14d 6h |
| payment-7c9d8b4c6-vrmqs | default | CrashLoop | 5 | — | 128Mi/256Mi | 2h 18m |
| redis-6b4f-k9w | production | Running | 0 | 45m | 180Mi | 42d 3h |
| 名称 | 命名空间 | 副本 | 镜像 | 策略 | 更新时间 |
|---|---|---|---|---|---|
| nginx | production | 2 / 2 | nginx:1.25-alpine | RollingUpdate | 08-31 14:22 |
| api-server | prod | 4 / 4 | kudig/api:v2.3.1 | RollingUpdate | 08-30 09:15 |
| payment | default | 0 / 1 | pay-svc:1.0.4 | Recreate | 09-01 10:19 |
| 名称 | 类型 | ClusterIP | 端口 | Endpoints | 状态 |
|---|---|---|---|---|---|
| nginx | ClusterIP | 10.96.4.12 | 80/TCP | 1 / 2 Ready | 降级 |
| api-server | NodePort | 10.96.7.83 | 8080:30080 | 4 / 4 Ready | 正常 |
| redis | ClusterIP | 10.96.2.41 | 6379/TCP | 1 / 1 Ready | 正常 |
| 规则名称 | 严重级别 | 条件 | 最近触发 |
|---|---|---|---|
| Pod 内存超限 | CRIT | container_memory > limits.memory | 10:21:36 |
| Pod 重启过多 | WARN | restart_count ≥ 5 in 10m | 10:19:02 |
| CPU 使用率过高 | WARN | node_cpu_usage ≥ 85% | — |
| 备份名称 | 类型 | 存储 | 大小 | 状态 | 完成时间 |
|---|---|---|---|---|---|
| etcd-full-20260901 | Full | S3 | 1.2GB | 完成 | 09-01 03:00 |
| etcd-incr-1000 | Incr | S3 | 180MB | 完成 | 09-01 10:00 |
| etcd-incr-1030 | Incr | S3 | — | 进行中 | — |
| 租户 | 命名空间 | CPU 配额 | 内存配额 | Pod 上限 | 默认角色 |
|---|---|---|---|---|---|
| ops-team | production, monitoring, kube-system | 68 / 100 | admin | ||
| dev-team | default, staging | 22 / 100 | viewer |
凌晨告警不必开电脑,手机群里一条命令,富文本回复直达。
内存 1.21Gi / limit 1Gi,5 分钟内第 2 次触发。回复 klaw diag nginx-7d9f-x2k 开始诊断。
@Klaw klaw diag nginx-7d9f-x2k -n production
根因定位 · 耗时 2.1s
内存 30s 内 612Mi → 1.21Gi,超过 limit 1Gi
建议:limits.memory 1Gi → 1.5Gi,并补 HPA 内存指标
完整报告(HTML / JSON)已生成基于 Kubernetes 的 Watch(事件监听)接口,事件驱动而非轮询。左侧是推送样式,右侧是两种模式的差距。
| 维度 | 轮询模式 | Watch(事件监听)模式 |
|---|---|---|
| 事件延迟 | 30–60 秒 | < 1 秒 |
| API 调用 | 高频轮询 | 事件驱动,下降约 90% |
| 连接方式 | 短连接 | 长连接 |
从本地二进制到集群内 Helm(K8s 包管理器)部署,全部路径均已端到端验证。
# 一键构建前端 + 后端 make build # 配置后运行 ./klaw # http://localhost:8080
docker build -t kudig-io/klaw:latest . docker run -d -p 8080:8080 \ -e KLAW_API_TOKEN='your-token' \ kudig-io/klaw:latest
kind create cluster \ --config deployment/kind/cluster-config.yaml helm upgrade --install klaw helm/klaw \ -n klaw --create-namespace --wait
By Meoo 秒悟