
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
kube-event-watcher是一款Kubernetes事件监控工具,用于将集群事件实时通知到Slack和AWS CloudWatch Logs。其功能类似于Kubernetes官方文档中提到的Stackdriver事件导出器,但专门针对Slack和CloudWatch Logs场景设计,帮助用户及时掌握集群运行状态。
| 环境变量 | 说明 | 示例 |
|---|---|---|
SLACK_TOKEN | Slack API令牌,用于发送通知 | xoxb-1234567890-abcdefghijk |
SLACK_CHANNEL | 默认Slack通知频道 | k8s-events |
KUBECONFIG | kubeconfig文件路径(可选,通常在Kubernetes中使用ServiceAccount时无需配置) | /path/to/kubeconfig/file |
-config string 配置文件路径(默认:"~/.kube-event-watcher/config.yaml") -notifySlack bool 是否发送通知到Slack(默认:"true") -cwLogging bool 是否记录事件到CloudWatch Logs(默认:"false") -cwLogGroup string CloudWatch日志组名称(默认:"kube-event-watcher") -cwLogStream string CloudWatch日志流名称(默认:"event") -listen-address string Prometheus指标端点地址(默认:":9297") -kubeconfig string kubeconfig文件路径(默认:"~/.kube/config") -logtostderr bool 是否输出日志到标准错误(默认:"false")
可通过./bin/kube-event-watcher -h查看所有参数说明。
使用YAML格式配置事件通知规则,支持多命名空间配置。
配置示例
yaml- namespace: "default" watchEvent: ADDED: true MODIFIED: true DELETED: false fieldSelectors: - key: "reason" value: "Failed" type: "include" - key: "type" value: "Warning" type: "include" channel: "k8s-default-warnings" logStream: "default-events" - namespace: "" # 监控所有命名空间 watchEvent: ADDED: true MODIFIED: false DELETED: false fieldSelectors: - key: "type" value: "Normal" type: "include" channel: "k8s-all-normal"
配置项说明
namespace: 要监控的命名空间,空字符串表示所有命名空间watchEvent: 事件类型开关
ADDED: 是否监控新增事件(true/false)MODIFIED: 是否监控更新事件(true/false)DELETED: 是否监控删除事件(通常设为false)fieldSelectors: 事件字段筛选规则(AND条件)
key: 筛选字段(支持字段列表见下文)value: 筛选值type: 筛选类型(include:包含,exclude:排除,默认include)channel: 覆盖默认Slack通知频道(频道不存在时使用默认频道)logStream: 覆盖默认CloudWatch日志流(流不存在时使用默认流)支持的fieldSelectors字段
involvedObject.kind involvedObject.namespace involvedObject.name involvedObject.uid involvedObject.apiVersion involvedObject.resourceVersion involvedObject.fieldPath reason source type metadata.namespace metadata.name
镜像地址:masahata/kube-event-watcher
Docker Run示例
bashdocker run -d \ -e SLACK_TOKEN=xoxb-1234567890-abcdefghijk \ -e SLACK_CHANNEL=k8s-events \ -v /path/to/config.yaml:/root/.kube-event-watcher/config.yaml \ -v /path/to/kubeconfig:/root/.kube/config \ # 可选,本地测试时使用 masahata/kube-event-watcher \ -config /root/.kube-event-watcher/config.yaml \ -cwLogging true \ -cwLogGroup k8s-events
所需权限
需配置RBAC权限以允许访问事件资源:
yamlapiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: kube-event-watcher rules: - apiGroups: [""] resources: ["events"] verbs: ["get", "watch", "list"]
部署示例
详见官方示例:examples/deploy.yaml
Slack通知根据事件类型显示不同颜色:Normal类型为绿色,Warning类型为黄色。
默认指标端点:http://<pod-ip>:9297/metrics
提供指标:
ew_event_count: 事件计数指标,包含以下标签:
namespace: 事件命名空间event_type: 事件类型(ADDED/MODIFIED/DELETED)reason: 事件原因source: 事件源json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
通过命令行参数(-cwLogging、-cwLogGroup等)或配置文件设置CloudWatch相关参数。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务