开源 Kubernetes Core Dump 监控系统

自动收集 Core Dump
快速响应崩溃问题

CoreDog 在应用崩溃时自动收集 core dump 文件,上传到对象存储,并通过企业微信、Slack 等即时通讯工具发送通知,实现崩溃问题的快速诊断和响应。

MIT 开源协议
生产环境验证
Kubernetes 原生

核心特性

完整的 Core Dump 监控解决方案,从自动收集到即时通知

Webhook 自动注入

Webhook 自动注入

通过 annotation 开启,自动注入 volume,无需手动配置存储卷

精准识别崩溃

精准识别崩溃

精确识别崩溃的 Pod 和容器,支持多容器场景的选择性监控

多种存储方案

多种存储方案

支持 S3、COS、OSS 等对象存储,以及 CFS 文件存储系统

自动清理文件

自动清理文件

上传成功后自动清理本地 core dump 文件,节省磁盘空间

即时通知推送

即时通知推送

支持企业微信、Slack 等即时通讯工具,发送预签名下载链接

自定义处理器

自定义处理器

支持自定义 shell 脚本处理 coredump,灵活集成到现有工作流

系统架构

分布式架构设计,从崩溃检测到通知发送的完整流程

CoreDog Architecture

核心组件

  • Watcher (DaemonSet) - 部署在每个节点,监控 core dump 文件创建
  • Controller (Deployment) - 控制器组件,协调处理流程
  • Cloud Storage - 支持 S3/COS/OSS 对象存储

工作流程

  • 应用崩溃生成 core dump 文件
  • Watcher 监听文件创建事件
  • Controller 通过 gRPC 接收信息
  • 上传到云存储并发送通知

快速开始

三步完成 CoreDog 部署,开始自动收集 Core Dump

1

安装 CoreDog

使用 Helm 快速安装到 Kubernetes 集群

# 编辑配置
vim charts/values.yaml

# 安装
helm install coredog ./charts -n coredog-system --create-namespace
2

配置节点

在每个 Kubernetes 节点上配置 core_pattern

# 配置 core dump 路径
echo '/corefile/core.%e.%p.%h.%t' > /proc/sys/kernel/core_pattern

# 持久化配置
echo 'kernel.core_pattern=/corefile/core.%e.%p.%h.%t' >> /etc/sysctl.conf
sysctl -p
3

应用接入

在 Deployment 中添加 annotations 开启监控

metadata:
  annotations:
    coredog.io/inject: "true"
    coredog.io/path: "/corefile"
    coredog.io/container: "app"  # 可选

存储方案

支持多种存储后端,灵活适配不同场景需求

S3

protocol: s3

标准 S3 API,兼容性强

适用场景:AWS 用户,通用场景

COS

protocol: cos

腾讯云原生,性能优化

适用场景:腾讯云环境

CFS

protocol: cfs

文件存储,支持 POSIX 接口

适用场景:需要文件系统语义