警报管理服务器

Alertmanager MCP服务器是一个通过模型上下文协议(MCP)与Alertmanager交互的服务,提供警报检索和静默管理功能。

  • by zhangzleee
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zhangzleee/alertmanager-mcp-server

使用说明

警报管理器MCP服务器

该项目提供了一个通过模型上下文协议(MCP)与Alertmanager交互的服务器。它允许您执行检索警报和管理静音等操作。

特性

  • 获取警报:从Alertmanager检索当前警报列表。
  • 获取静音:获取活动静音列表。
  • 设置静音:为特定警报创建新的静音。

入门指南

要启动并运行服务器,请执行以下步骤。

先决条件

  • 达到1.24.2或更高
  • Alertmanager的运行实例

安装与运行

  1. 克隆存储库:

    git clone https://github.com/zhangzleee/alertmanager-mcp-server.git
    cd alertmanager-mcp-server
    
  2. 构建并运行服务器:

    您可以使用以下命令运行服务器。默认情况下,它连接到位于以下位置的Alertmanager实例 http://localhost:9093.

    go run ./cmd/main.go server
    

用法

服务器可以配置以下命令行标志:

  • -host:要监听的主机(默认值: localhost).
  • -port:要侦听的端口(默认值: 8000).
  • -alertmanager-url:Alertmanager实例的URL(默认值: http://localhost:9093).

例子

  • 使用默认设置运行:

    go run ./cmd/main.go server
    
  • 在其他端口和主机上运行:

    go run ./cmd/main.go server -port 9000 -host 0.0.0.0
    
  • 连接到其他Alertmanager实例:

    go run ./cmd/main.go server -alertmanager-url http://your-alertmanager-host:9093
    

工具

此服务器通过MCP公开以下工具:

get_alerts

从Alertmanager检索警报列表。您可以按状态筛选警报。

参数:

  • active:(字符串,可选)按活动警报筛选。违约: false.
  • silenced:(字符串,可选)按静音警报过滤。违约: false.
  • inhibited:(字符串,可选)按被抑制的警报进行筛选。违约: false.
  • unprocessed:(字符串,可选)按未处理的警报筛选。违约: false.

示例用法:

要获取所有活动和静音警报:

{
  "tool_name": "get_alerts",
  "parameters": {
    "active": "true",
    "silenced": "true"
  }
}

get_silences

从Alertmanager检索静默列表。

参数:

  • active:(字符串,可选)按活动静音进行筛选。违约: true.

示例用法:

要获取所有主动静音:

{
  "tool_name": "get_silences",
  "parameters": {
    "active": "true"
  }
}

set_silences

在Alertmanager中创建新的静默。

参数:

  • comment:(string,必填)描述沉默的注释。
  • createdBy:(string,必填)沉默的创造者。
  • startsAt:(string,必填)RFC3339格式的静默开始时间(例如。, 2025-11-07T05:56:07.402Z).
  • endsAt:(string,必填)RFC3339格式的静默结束时间(例如。, 2025-11-07T06:56:07.402Z).
  • matchers:(array,必填)用于标识要静音的警报的匹配器列表。每个匹配器都需要 name, value, isRegex,以及 isEqual 领域。

示例用法:

为带有标签的警报设置静音 severity 等于 critical:

{
  "tool_name": "set_silences",
  "parameters": {
    "comment": "Silence critical alerts for maintenance",
    "createdBy": "admin",
    "startsAt": "2025-11-07T05:56:07.402Z",
    "endsAt": "2025-11-07T06:56:07.402Z",
    "matchers": [
      {
        "name": "severity",
        "value": "critical",
        "isRegex": false,
        "isEqual": true
      }
    ]
  }
}

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。