5分钟部署企业级告警管理系统:Keep Docker极速上手指南
你是否还在为分散在各个监控工具中的告警信息感到困扰?是否希望有一个统一平台实现告警聚合、 deduplication(去重)和自动化处理?本文将带你通过Docker快速部署Keep——这款开源告警管理与自动化平台,让你在5分钟内拥有企业级告警处理能力。
读完本文你将掌握:
- Keep平台的核心价值与架构组成
- Docker一键部署Keep的完整流程
- 基础配置与服务验证方法
- 常见问题的排查与解决
Keep平台简介
Keep是一款开源的告警管理和自动化平台,旨在为运维团队提供"监控工具的GitHub Actions"体验。其核心功能包括:
- 统一告警面板:整合来自Prometheus、Datadog、CloudWatch等20+监控工具的告警
- 智能处理:AI驱动的告警聚合、 deduplication(去重)和根因分析
- 自动化工作流:通过YAML配置实现告警响应自动化,如自动创建Jira工单、发送Slack通知
- 深度集成:支持与PagerDuty、OpsGenie等工单系统双向同步
部署环境准备
在开始部署前,请确保你的环境满足以下要求:
- Docker Engine (20.10.0+)
- Docker Compose (v2+)
- 至少2GB可用内存
- 网络连接(用于拉取Docker镜像)
你可以通过以下命令检查Docker环境:
docker --version
docker compose version
一键部署步骤
获取部署脚本
Keep提供了简化部署的start.sh脚本,执行以下命令下载并运行:
curl https://raw.githubusercontent.com/keephq/keep/main/start.sh | sh
该脚本会自动完成以下操作:
- 创建状态存储目录
- 下载必要的docker-compose配置文件
- 启动所有服务组件
部署过程解析
实际部署过程中,脚本执行了以下关键步骤(可手动执行进行定制化部署):
# 创建状态存储目录
mkdir -p state
chown -R 999:999 state
# 下载配置文件
curl https://raw.githubusercontent.com/keephq/keep/main/docker-compose.yml --output docker-compose.yml
curl https://raw.githubusercontent.com/keephq/keep/main/docker-compose.common.yml --output docker-compose.common.yml
# 启动服务
docker compose up -d
服务架构说明
Keep通过Docker Compose部署三个核心服务,架构如下:
- keep-backend:FastAPI服务,提供API接口
- keep-frontend:Next.js前端应用,提供Web操作界面
- keep-websocket-server:基于Soketi的WebSocket服务,支持实时告警通知
各服务的默认端口映射:
- 前端界面:3000端口
- API服务:8080端口
- WebSocket:6001端口
配置与验证
访问Web界面
服务启动后,打开浏览器访问http://localhost:3000即可看到Keep的登录界面。首次部署使用无认证模式,直接点击登录即可进入系统。
验证服务状态
通过以下命令检查容器运行状态:
docker compose ps
正常输出应显示三个服务均为"Up"状态:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
keep-keep-backend-1 us-central1-docker.pkg.dev/keephq/keep/keep-api "/entrypoint.sh" keep-backend 5 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp
keep-keep-frontend-1 us-central1-docker.pkg.dev/keephq/keep/keep-ui "/entrypoint.sh" keep-frontend 5 minutes ago Up 5 minutes 0.0.0.0:3000->3000/tcp
keep-keep-websocket-1 quay.io/soketi/soketi:1.4-16-debian "docker-entrypoint.s…" keep-websocket 5 minutes ago Up 5 minutes 0.0.0.0:6001->6001/tcp, 0.0.0.0:9601->9601/tcp
查看服务日志
如需排查问题,可查看各服务日志:
# 查看后端日志
docker compose logs -f keep-backend
# 查看前端日志
docker compose logs -f keep-frontend
进阶配置
启用认证功能
默认部署采用无认证模式,生产环境建议启用认证。通过修改docker-compose.yml文件,设置环境变量启用认证:
services:
keep-frontend:
environment:
- AUTH_TYPE=KEYCLOAK # 可选: AUTH0, OKTA, DB等
keep-backend:
environment:
- AUTH_TYPE=KEYCLOAK
集成监控工具
Keep支持与多种监控工具集成,以Prometheus为例,创建以下工作流配置(保存为examples/workflows/prometheus_basic.yml):
apiVersion: keep.io/v1
kind: Workflow
metadata:
name: prometheus-alert-workflow
spec:
description: "Process alerts from Prometheus"
trigger:
type: webhook
parameters:
path: "/webhook/prometheus"
steps:
- name: "log_alert"
action: "log"
description: "Log the incoming alert"
parameters:
message: "New alert received: {{ alert.labels.alertname }}"
常见问题解决
服务启动失败
若服务启动失败,可尝试以下解决方法:
- 清理状态数据:
rm -rf state/*
docker compose up -d
- 检查端口占用:
# 检查3000端口占用情况
netstat -tulpn | grep 3000
- 重建容器:
docker compose down
docker compose up -d --force-recreate
界面无法访问
若前端界面无法访问,确认:
- 容器状态正常运行
- 防火墙允许3000端口访问
- 查看前端日志获取错误信息:
docker compose logs keep-frontend
集成工具无数据
当集成监控工具无数据时,检查:
- 网络连接是否正常
- API密钥等凭证是否正确
- 查看后端日志中的错误信息
总结与后续步骤
通过Docker Compose,我们快速部署了Keep告警管理平台的完整环境。现在你可以:
- 探索预配置的工作流:查看
examples/workflows/目录下的示例 - 配置通知渠道:集成Slack、Email等通知方式
- 设置自动化规则:根据业务需求创建告警处理流程
- 深入学习高级功能:参考官方文档了解AI告警聚合等高级特性
如需了解更多高级配置和最佳实践,请查阅:
- 官方文档:docs/deployment/docker.mdx
- 工作流示例:examples/workflows/
- API参考:docs/openapi.json
关注项目更新,获取最新功能和改进!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






