使用说明
警报管理器MCP服务器
该项目提供了一个通过模型上下文协议(MCP)与Alertmanager交互的服务器。它允许您执行检索警报和管理静音等操作。
特性
- 获取警报:从Alertmanager检索当前警报列表。
- 获取静音:获取活动静音列表。
- 设置静音:为特定警报创建新的静音。
入门指南
要启动并运行服务器,请执行以下步骤。
先决条件
- 达到1.24.2或更高
- Alertmanager的运行实例
安装与运行
-
克隆存储库:
git clone https://github.com/zhangzleee/alertmanager-mcp-server.git cd alertmanager-mcp-server -
构建并运行服务器:
您可以使用以下命令运行服务器。默认情况下,它连接到位于以下位置的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许可证获得许可-有关详细信息,请参阅许可证文件。