使用说明
警报管理器MCP服务器(Go)
A. 模型上下文协议(MCP) Prometheus警报管理器集成服务器。Native Go二进制文件,通过客户端Go内置Kubernetes连接。
安装
npx
npx -y mcp-alertmanager@latest
MCP客户端配置
添加到您的MCP客户端配置(VS代码、游标、Windsurf等):
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"],
"env": {
"ALERTMANAGER_URL": "http://localhost:9093"
}
}
}
}
VS Code
code --add-mcp '{"name":"alertmanager","command":"npx","args":["-y","mcp-alertmanager@latest"],"env":{"ALERTMANAGER_URL":"http://localhost:9093"}}'
Kubernetes自动连接
通过K8S API服务代理自动连接到运行在OpenShift/Kubernetes中的Alertmanager。通过客户端go在集群配置中使用本机kubeconfig/。不 kubectl 或需要端口转发。
违约: openshift-monitoring/alertmanager-operated:9093
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"]
}
}
}
二进制
下载自 GitHub发布 或从源代码构建:
make build
./mcp-alertmanager
配置
环境变量
| 变量 | 描述 |
|---|---|
ALERTMANAGER_URL |
直接警报管理器API URL(覆盖K8S自动连接) |
CLI标志
| 标志 | 描述 | 默认值 |
|---|---|---|
--url |
直接警报管理器URL | - |
--namespace Kubernetes 命名空间 openshift-monitoring |
||
--service |
Kubernetes服务名称 | alertmanager-operated |
--service-port |
Kubernetes服务端口 | 9093 |
--service-scheme |
服务方案(http/https) | https |
--kubeconfig |
kubeconfig文件路径 | 自动检测 |
优先: --url / ALERTMANAGER_URL >K8S自动连接
连接策略:
- 直接URL(如果
--url或ALERTMANAGER_URL已设置) - K8S API代理(自动检测kubeconfig或集群内配置)
工具(12)
警报
| 工具 | 说明 |
|---|---|
getAlerts |
使用可选过滤器获取警报 |
getAlertGroups |
获取按路由标签分组的警报 |
getCriticalAlerts |
仅获取严重性警报 |
getAlertingSummary |
摘要:按严重性、顶级警报、命名空间计数 |
使安静
| 工具 | 说明 |
|---|---|
getSilences |
按州列出沉默 |
createSilence |
为警报创建静音 |
deleteSilence |
按ID删除静音 |
状态
| 工具 | 说明 |
|---|---|
getAlertmanagerStatus |
服务器状态、版本、群集信息 |
getReceivers |
列出通知接收者 |
故障排除
| 工具 | 说明 |
|---|---|
investigateAlert |
对特定警报进行深入调查 |
getAlertHistory |
警报历史和分析指南 |
correlateAlerts |
通过共享标签查找相关警报 |
示例提示
"What alerts are currently firing?"
"Are there any critical alerts?"
"Give me a summary of the alerting status"
"Investigate the HighMemoryUsage alert"
"Create a 2-hour silence for PodCrashLooping"
"What receivers are configured?"
"Find correlated alerts to identify the root cause"
"Show me alert history for KubeNodeNotReady"
发展
构建
make build # Build for current platform
make build-all-platforms # Cross-compile for all platforms
容器
podman build -f Containerfile -t mcp-alertmanager .
Kubernetes/OpenShift部署
容器图像
容器映像可在GitHub容器注册表中找到:
ghcr.io/jeanlopezxyz/mcp-alertmanager:latest
Helm 图表
使用附带的Helm chart进行部署:
# Add the chart repository (or use local chart)
helm upgrade --install mcp-alertmanager ./charts/mcp-alertmanager \
--namespace mcp-servers \
--create-namespace \
--set openshift=true
Helm值
| 参数 | 说明 | 默认值 |
|---|---|---|
image.registry |
容器注册表 | ghcr.io |
image.repository |
图像存储库 | jeanlopezxyz/mcp-alertmanager |
image.version |
图像标签 | latest |
openshift |
启用OpenShift路由 | false |
service.port |
服务端口 | 8080 |
alertmanager.namespace |
警报管理器命名空间 | openshift-monitoring |
alertmanager.service |
警报管理器服务名称 | alertmanager-operated |
rbac.useClusterReader |
使用群集读取器角色 | true |
自定义Alertmanager示例
helm upgrade --install mcp-alertmanager ./charts/mcp-alertmanager \
--namespace mcp-servers \
--set openshift=true \
--set alertmanager.url=http://alertmanager.monitoring:9093
