Prometheus警报管理器MCP服务器
该项目实现了 模型上下文协议(MCP) 与集成的服务器 普罗米修斯警报管理器它起到了桥梁的作用 克劳德 AI 以及Alertmanager,允许Claude通过标准化界面与警报交互和管理警报。
核心功能
- 警报检索:使用可选的过滤功能从Alertmanager获取并格式化当前警报。
- 警报详细信息:当特定警报被指纹引用时,提供有关其的详细信息。
- 静音管理:提供创建、列出和删除静音的工具,以抑制特定警报的通知。
- 警报分组:检索按Alertmanager组织的警报组。
技术实现
- 与以下人员沟通 警报管理器的HTTP API(v2)
- 作为与兼容的基于stdio的进程运行 Claude桌面版
- 实施适当的错误处理和超时管理
- 为警报和静音数据提供强类型接口
安装
先决条件
- 进入跑步 普罗米修斯警报管理器 例子
- 对于桌面版的Claude: (v18或更新版本)已安装在您的系统上
设置
该包在npm上可用,可以直接与npx一起使用:
npx alertmanager-mcp对于全局安装:
npm install -g alertmanager-mcp
alertmanager-mcp使用Claude for Desktop
- 通过编辑配置文件配置Claude for Desktop以使用MCP服务器:
{
"mcpServers": {
"alertmanager": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--network=host",
"-e", "ALERTMANAGER_URL=http://your-alertmanager-url:9093",
"ghcr.io/kaznak/alertmanager-mcp:latest"
],
"env": {}
}
}
}- 重新启动Claude for Desktop以加载新配置。
- 现在,您可以让Claude使用自然语言与Alertmanager进行交互:
- “显示当前警报” - “筛选与CPU问题相关的警报” - “获取此警报的详细信息” - “在接下来的2小时内对此警报保持沉默”
可用工具
获取警报
使用可选筛选检索警报列表。
参数:
filter:(可选)过滤查询(例如。,alertname=~'.*CPU.*')silenced:(可选)包括静音警报inhibited:(可选)包括禁止警报active:(可选)包括活动警报(默认值:true)
获取警报详细信息
获取特定警报的详细信息。
参数:
fingerprint:警报指纹
创造沉默
为符合指定条件的警报创建静音。
参数:
matchers:警报匹配者列表startsAt:(可选)静音开始时间(ISO8601格式,默认为当前时间)endsAt:静音结束时间(ISO8601格式)createdBy:创建沉默的用户名comment:沉默的原因或解释
获得沉默
使用可选筛选检索静默列表。
参数:
filter:(可选)过滤查询(例如。,createdBy=~'.*admin.*')
删除静音
按ID删除静音。
参数:
silenceId:要删除的静默ID
获取警报组
获取具有可选筛选的警报组。
参数:
active:(可选)包括活动警报(默认值:true)silenced:(可选)包括静音警报inhibited:(可选)包括禁止警报
扩展服务器
此MCP服务器可以扩展其他功能,例如:
- 警报趋势分析
- 自动响应建议
- 与事故管理系统集成
- 针对特定警报类型的自定义仪表板
