VictoriaMetrics MCP 服务器
VictoriaMetrics的模型上下文协议 (MCP)服务器的实现。
这可以访问您的 VictoriaMetrics 实例,并与VictoriaMetrics API和文档无缝集成。它可以为您提供与 VictoriaMetrics 实例相关的监控、可观察性和调试任务的全面界面,并为工程师和工具提供高级自动化和交互功能。
特征
此 MCP 服务器允许您使用 VictoriaMetrics 的几乎所有只读 API,即VMUI中可用的所有功能:
查询指标和探索数据(如果客户端支持,甚至可以绘制图表)
列出并导出可用的指标、标签、标签值和整个系列
分析您的警报和记录规则和警报
显示您的 VictoriaMetrics 实例的参数
探索数据基数和指标使用情况统计
分析您的查询
调试重新标记规则、下采样和保留策略配置
此外,MCP 服务器包含嵌入式最新文档,无需在线访问即可搜索。
有关确切可用工具和提示的更多详细信息,请参阅使用部分。
您可以将工具和文档搜索的功能组合到您的提示中,为您的 VictoriaMetrics 实例创建出色的使用场景。只需查看对话框示例部分即可了解其工作原理。请注意,MCP 服务器及其响应的质量在很大程度上取决于您的客户端功能以及您所使用的模型的质量。
您还可以将 MCP 服务器与其他可观察性或文档搜索相关的 MCP 服务器相结合,以获得更强大的结果。
Related MCP server: Vectara MCP server
要求
VictoriaMetrics实例(单节点或集群)
升级到 1.24 或更高版本(如果您想从源代码构建)
安装
去
go install github.com/VictoriaMetrics-Community/mcp-victoriametrics/cmd/mcp-victoriametrics@latest源代码
git clone https://github.com/VictoriaMetrics-Community/mcp-victoriametrics.git
cd mcp-victoriametrics
go build -o bin/mcp-victoriametrics ./cmd/mcp-victoriametrics/main.go
# after that add bin/mcp-victoriametrics file to your PATH二进制文件
只需从发布页面下载最新版本并将其放入您的 PATH 即可。
Docker
即将推出...
配置
VictoriaMetrics 的 MCP 服务器通过环境变量进行配置:
多变的 | 描述 | 必需的 | 默认 | 允许值 |
| VictoriaMetrics 实例的 URL | 是的 | - | - |
| VictoriaMetrics 实例的类型 | 是的 | - |
|
| VictoriaMetrics API 的身份验证令牌 | 不 | - | - |
| 服务器运行模式 | 不 |
|
|
| SSE 服务器监听的地址 | 不 |
| - |
配置示例
# For a single-node instance
export VM_INSTANCE_ENTRYPOINT="http://localhost:8428"
export VM_INSTANCE_TYPE="single"
export VM_INSTANCE_BEARER_TOKEN="your-token"
# For a cluster
export VM_INSTANCE_ENTRYPOINT="https://play.victoriametrics.com"
export VM_INSTANCE_TYPE="cluster"
# Server mode
export MCP_SERVER_MODE="sse"
export MCP_SSE_ADDR="0.0.0.0:8080"在客户端中设置
光标
前往: Settings -> Cursor Settings -> MCP -> Add new global MCP server ,并将以下配置粘贴到您的 Cursor ~/.cursor/mcp.json文件中:
{
"mcpServers": {
"victoriametrics": {
"command": "/path/to/mcp-victoriametrics",
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
}
}
}请参阅Cursor MCP 文档以了解更多信息。
克劳德桌面
将其添加到您的 Claude Desktop claude_desktop_config.json文件中(打开Settings -> Developer -> Edit config即可找到它):
{
"mcpServers": {
"victoriametrics": {
"command": "/path/to/mcp-victoriametrics",
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
}
}
}请参阅Claude Desktop MCP 文档以了解更多信息。
克劳德·科德
运行以下命令:
claude mcp add victoriametrics -- /path/to/mcp-victoriametrics \
-e VM_INSTANCE_ENTRYPOINT=<YOUR_VM_INSTANCE> \
-e VM_INSTANCE_TYPE=<YOUR_VM_INSTANCE_TYPE>
-e VM_INSTANCE_BEARER_TOKEN=<YOUR_VM_BEARER_TOKEN>请参阅Claude Code MCP 文档以了解更多信息。
Visual Studio 代码
将其添加到您的 VS Code MCP 配置文件中:
{
"servers": {
"victoriametrics": {
"type": "stdio",
"command": "/path/to/mcp-victoriametrics",
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
}
}
}有关详细信息,请参阅VS Code MCP 文档。
泽德
将以下内容添加到您的 Zed 配置文件:
"context_servers": {
"victoriametrics": {
"command": {
"path": "/path/to/mcp-victoriametrics",
"args": [],
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
},
"settings": {}
}
}请参阅Zed MCP 文档以了解更多信息。
JetBrains IDE
打开
Settings->Tools->AI Assistant->Model Context Protocol (MCP)。单击
Add (+)选择
As JSON将以下内容输入到输入字段中:
{
"mcpServers": {
"victoriametrics": {
"command": "/path/to/mcp-victoriametrics",
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
}
}
}风帆冲浪
将以下内容添加到您的 Windsurf MCP 配置文件。
{
"mcpServers": {
"victoriametrics": {
"command": "/path/to/mcp-victoriametrics",
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
}
}
}
}请参阅Windsurf MCP 文档以了解更多信息。
亚马逊基岩
即将推出....
使用 Docker 代替二进制文件
即将推出...
用法
安装和配置MCP 服务器后,您可以开始与您最喜欢的 MCP 客户端一起使用它。
您可以从以下短语开始与AI助手对话:
Use MCP VictoriaMetrics in the following answers但这不是必需的,您可以直接提问,助手会自动使用工具和文档为您提供最佳答案。您可以查看对话框示例部分,更好地了解它的用途。
工具集
MCP VictoriaMetrics 提供了许多与您的 VictoriaMetrics 实例交互的工具。
以下是可用工具的列表:
工具 | 描述 |
| 执行即时 PromQL/MetricsQL 查询 |
| 在一段时间内执行范围 PromQL/MetricsQL 查询 |
| 列出可用指标 |
| 列出可用的标签名称 |
| 列出特定标签的值 |
| 列出可用的时间序列 |
| 将原始时间序列数据导出为 JSON 或 CSV |
| 查看警报和记录规则 |
| 查看当前警报(触发和待处理) |
| 查看 VictoriaMetrics 实例的非默认标志 |
| 获取指标使用情况(在查询中)统计信息 |
| 查看当前正在执行的查询 |
| 查看最频繁或最慢的查询 |
| 查看 TSDB 基数统计信息 |
| 列出多租户集群设置中的可用租户 |
| 在嵌入式 VictoriaMetrics 文档中搜索 |
| 调试与 Prometheus 兼容的重新标记规则 |
| 调试下采样配置 |
| 调试保留过滤器配置 |
提示
该服务器包括常见任务的预定义提示。
这些只是目前的示例,将来会添加到提示库中:
迅速的 | 描述 |
| 查找从未查询过的指标并创建重新标记配置以停止提取它们 |
| 在 VictoriaMetrics 文档中搜索特定主题 |
| 识别很少查询的高基数指标 |
对话框示例
这只是使用 MCP 服务器与 Assistant 对话的示例,有助于理解其工作原理(但这是使用带有 Claude Desktop 的 Victoria Metrics MCP 服务器并配置为公共游乐场实例的真实对话):
您:我的虚拟机中有哪些可用的租户?
助手 在您的 VictoriaMetrics 实例中,以下租户可用
您:从现在开始,请仅使用默认租户
助理:我明白了。从现在开始,我将只使用默认租户 (0:0) 来操作您的 VictoriaMetrics 实例。
您:我们有哪些指标?
助手:您的 VictoriaMetrics 实例中有许多可用的指标。该列表包含来自各种系统和组件的指标,例如:
系统指标(
Kubernetes 指标(
VictoriaMetrics 特定指标(
Go 运行时指标(
Prometheus 相关指标(
各种应用程序指标(
这是一份包含 2000 多个可供查询的指标的完整列表。您是否有兴趣进一步了解某个特定类型的指标?
你:好的,我们现在开始使用 Kubernetes 指标。请告诉我哪些指标从未被查询过?
助手:根据结果,我可以看到有两个 Kubernetes 指标从未被查询过(查询计数为 0):
kube_persistentvolumeclaim_deletion_timestampkube_pod_init_container_status_last_terminated_reason
这些指标对于监控和故障排除可能很有价值:
PVC 删除时间戳指标可以帮助跟踪删除模式或识别卡住的 PVC。
初始化容器终止原因指标可以帮助识别初始化容器中的常见故障模式。
您是否希望我进一步解释这些指标所跟踪的内容,或者建议一些有用的查询来开始监控它们?
您:好的,请问您能否创建重新标记规则来停止获取这些指标?
助手:我将创建一个重新标记配置,将这些从未查询过的指标从数据收集中排除。这将有助于减少存储和处理开销。以下是您可以添加到 VictoriaMetrics 抓取配置中的重新标记配置:
relabel_configs: - action: drop source_labels: [__name__] regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason此配置将:
查看每个指标的名称(
检查它是否符合指定的指标
删除匹配的指标,防止它们被收集和存储
您可以将其添加到 VictoriaMetrics 配置文件中,或者如果您使用 Prometheus 作为 VictoriaMetrics 的抓取工具,则将其添加到 Prometheus 配置中相关的抓取作业配置中。 如果您想在实施此重新标记配置之前对其进行测试,可以使用指标重新标记调试工具来查看它将如何影响您的指标。
您:是的,请在实时序列上调试此重新标记配置,看看它将如何影响我的指标
助手:完美!relabel 配置按预期工作了:
前两个测试用例显示
第三个测试用例确认其他指标(如
您可以放心地将此重新标记配置添加到您的 VictoriaMetrics 或 Prometheus 配置中,以停止收集这些未使用的指标。这将节省存储空间并降低处理开销,而不会影响您当前的监控功能。
您:但是我正在使用 VictoriaMetrics 操作员的 vmagent 资源,您能否为我提供使用此重新标记配置的代理的部分规范?
Assistant :您说得对,由于您使用的是 VictoriaMetrics Operator 和 VMAgent 自定义资源,因此配置需要采用适合该 CR 的格式。以下是如何将 relabel 配置添加到 VMAgent 规范中:
apiVersion: operator.victoriametrics.com/v1beta1 kind: VMAgent metadata: name: your-vmagent-name spec: # ... your existing configuration ... # Add this section to configure global metric relabeling inlineRelabelConfig: - action: drop sourceLabels: ["__name__"] regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason # ... rest of your configuration ...要点:
在 VMAgent 规范中,您可以使用
该字段称为
这是一个全局重新标记,将在存储之前应用于所有指标
您:我决定不删除这些指标,只是使用下采样来降低它们的采样率。我现在有哪些下采样参数?
助手:我可以看到您目前有以下下采样配置:
-downsampling.period="7d:1m,30d:5m,180d:30m"这意味着:
7 天以内的数据将保持其原始分辨率
7-30 天之间的数据被下采样到 1 分钟的分辨率
30-180 天之间的数据被下采样到 5 分钟分辨率
超过 180 天的数据被下采样至 30 分钟分辨率
现在,如果您想为那些很少查询的指标添加特定的下采样规则,可以使用下采样过滤器调试工具来测试新规则的运行情况。让我们测试一个配置,其中我们对这些特定指标应用更积极的下采样:
...获取系列并使用下采样过滤器调试器...
太棒了!现在我们的测试正常运行了。根据当前配置和我们的测试,我们为您的 VMAgent CR 提供了一个建议的下采样配置,该配置将对那些很少查询的指标应用更积极的下采样:
apiVersion: operator.victoriametrics.com/v1beta1 kind: VMCluster metadata: name: monitoring-vm-cluster spec: # ... your existing configuration ... # Update the vmstorage section with the new downsampling parameters vmstorage: extraArgs: downsampling.period: '{__name__=\"kube_persistentvolumeclaim_deletion_timestamp\"}:1d:10m,{__name__=\"kube_pod_init_container_status_last_terminated_reason\"}:1d:10m,7d:1m,30d:5m,180d:30m' # ... rest of your configuration ...此配置:
- 仅在 1 天后对很少查询的指标应用 10 分钟分辨率下采样 - 对所有其他指标维持现有的下采样策略
下采样规则的顺序很重要——应该首先列出更具体的规则。
在此对话中,助手使用了以下工具:
tenants获取可用租户列表获取有关功能和数据格式的信息的
documentationmetrics获取可用指标列表metrics_staistics获取有关指标使用情况的信息series获取调试的时间序列metric_relabel_debug用于调试重新标记规则获取实例参数信息的
flagsdownsampling_filters_debug用于调试下采样配置
但您可以使用任何其他工具并以自己的方式组合它们。
免责声明
此类人工智能服务和代理以及 MCP 服务器无法保证结果的准确性、完整性和可靠性。您应该仔细检查使用人工智能获得的结果。MCP 服务器及其响应的质量很大程度上取决于客户端的功能以及您所使用的模型的质量。
贡献
欢迎为 MCP VictoriaMetrics 项目做出贡献!欢迎提交问题、功能请求或拉取请求。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.