警报管理MCP服务器

该产品是一个连接Prometheus Alertmanager和Claude AI的MCP服务器,提供警报检索、静默管理等功能,适用于监控系统集成和AI辅助运维场景。

  • by kaznak
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 kaznak/alertmanager-mcp

使用说明

Prometheus警报管理器MCP服务器

该项目实现了 模型上下文协议(MCP) 与集成的服务器 普罗米修斯警报管理器它起到了桥梁的作用 克劳德 AI 以及Alertmanager,允许Claude通过标准化界面与警报交互和管理警报。

核心功能

  1. 警报检索:使用可选的过滤功能从Alertmanager获取并格式化当前警报。

  2. 警报详细信息:当特定警报被指纹引用时,提供有关其的详细信息。

  3. 静音管理:提供创建、列出和删除静音的工具,以抑制特定警报的通知。

  4. 警报分组:检索按Alertmanager组织的警报组。

技术实现

安装

先决条件

设置

该包在npm上可用,可以直接与npx一起使用:

npx alertmanager-mcp

对于全局安装:

npm install -g alertmanager-mcp
alertmanager-mcp

使用Claude for Desktop

  1. 通过编辑配置文件配置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": {}
    }
  }
}
  1. 重新启动Claude for Desktop以加载新配置。

  2. 现在,您可以让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服务器可以扩展其他功能,例如:

  • 警报趋势分析
  • 自动响应建议
  • 与事故管理系统集成
  • 针对特定警报类型的自定义仪表板

资源