返回市场
告警管理器-mcp

告警管理器-mcp

作者:kaznak4 星标更新:2025-03-29

项目介绍

Prometheus Alertmanager MCP Server

该项目实现了一个与Prometheus Alertmanager集成的Model Context Protocol (MCP)服务器。它充当了Claude 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": {}
        }
      }
    }
    
  2. 重启Claude for Desktop以加载新配置。
  3. 您现在可以使用自然语言让Claude与Alertmanager互动:
    • "显示当前警报"
    • "筛选与CPU问题相关的警报"
    • "获取此警报的详细信息"
    • "为此警报创建一个持续2小时的静默"

可用工具

get-alerts

检索警报列表,支持可选过滤。

参数:

  • filter: (可选) 过滤查询 (例如,alertname=~'.*CPU.*')
  • silenced: (可选) 包含被静默的警报
  • inhibited: (可选) 包含被抑制的警报
  • active: (可选) 包含活动警报 (默认值: true)

get-alert-details

获取特定警报的详细信息。

参数:

  • fingerprint: 警报指纹

create-silence

为符合指定条件的警报创建静默。

参数:

  • matchers: 警报匹配器列表
  • startsAt: (可选) 静默开始时间 (ISO8601格式,默认为当前时间)
  • endsAt: 静默结束时间 (ISO8601格式)
  • createdBy: 创建静默的用户名
  • comment: 静默的原因或解释

get-silences

检索静默列表,支持可选过滤。

参数:

  • filter: (可选) 过滤查询 (例如,createdBy=~'.*admin.*')

delete-silence

通过ID删除静默。

参数:

  • silenceId: 要删除的静默ID

get-alert-groups

获取警报组,支持可选过滤。

参数:

  • active: (可选) 包含活动警报 (默认值: true)
  • silenced: (可选) 包含被静默的警报
  • inhibited: (可选) 包含被抑制的警报

扩展服务器

此MCP服务器可以通过添加以下功能进行扩展:

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

资源