VictoriaMetrics MCP服务器
实施 模型上下文协议(MCP) 服务器 维多利亚指标.
这提供了对您的VictoriaMetrics实例的访问,并与 维多利亚指标API 和 文档. 它可以为您提供一个全面的界面,用于监控、可观察性和调试与您的VictoriaMetrics实例相关的任务,为工程师和工具提供高级自动化和交互功能。
特性
此MCP服务器允许您使用VictoriaMetrics的几乎所有只读API,即 VMUI:
- 查询指标和探索数据(如果您的客户支持,甚至可以绘制图表)
- 列出并导出可用指标、标签、标签值和整个系列
- 分析和测试您的警报和记录规则和警报
- 显示您的VictoriaMetrics实例的参数
- 探索数据和指标使用统计的基数
- 分析、追踪、美化和解释您的查询
- 调试您的重新标记规则、降采样和保留策略配置
- 与集成 维多利亚指标云
- 在根端点上具有设置说明和工具检查的UI(仅在Streamable HTTP模式下)
此外,MCP服务器包含嵌入式最新文档,无需在线访问即可搜索。
有关确切可用工具和提示的更多详细信息,请参阅 用法 部分。
您可以结合工具的功能,在提示中搜索文档,并为您的VictoriaMetrics实例创造出色的使用场景。 检查一下 对话示例 部分来看看它是如何工作的。 请注意,MCP服务器及其响应的质量在很大程度上取决于您的客户端的功能和您使用的模型的质量。
您还可以将MCP服务器与其他可观察性或文档搜索相关的MCP服务器相结合,从而获得更强大的结果。
尝试不安装
有一个公开可用的VictoriaMetrics MCP服务器实例,您可以在不安装的情况下使用它来测试功能:
1https://play-mcp.victoriametrics.com/mcp
注意! 此URL不应该在浏览器中打开,它旨在在MCP客户端中使用。
它可以在 可流式传输的HTTP 模式并配置为与一起工作 公共维多利亚指标游乐场.
以下是配置示例 克劳德桌面版:
需求
安装
二进制文件
只需从以下网址下载最新版本 发布 页面并将其放入PATH。
Linux x86_64示例(请注意,其他架构和平台也可用):
BASH``` 1 2 3latest=$(curl -s https://api.github.com/repos/VictoriaMetrics/mcp-victoriametrics/releases/latest | grep ‘tag_name’ | cut -d” -f4) wget https://github.com/VictoriaMetrics/mcp-victoriametrics/releases/download/$latest/mcp-victoriametrics_Linux_x86_64.tar.gz tar axvf mcp-victoriametrics_Linux_x86_64.tar.gz
### 码头工人
您可以使用Docker运行VictoriaMetrics MCP服务器。
这是最简单的入门方法,无需安装Go或从源代码构建。
BASH```
1
2
3
4
5
6
7docker run -d --name mcp-victoriametrics \
-e VM_INSTANCE_ENTRYPOINT=https://play.victoriametrics.com \
-e VM_INSTANCE_TYPE=cluster \
-e MCP_SERVER_MODE=sse \
-e MCP_LISTEN_ADDR=:8080 \
-p 8080:8080 \
ghcr.io/victoriametrics/mcp-victoriametrics
您应该用自己的参数替换环境变量。
请注意 MCP_SERVER_MODE=http 标志用于启用Streamable HTTP模式。
有关服务器模式的更多详细信息,请参阅 配置 部分。
查看可用的docker镜像 github注册表.
另请参阅 使用Docker而不是二进制 有关在客户端处于stdio模式时将Docker与MCP服务器一起使用的更多详细信息,请参阅第节。
源代码
对于从源代码构建二进制文件,您可以使用以下方法:
- 克隆仓库:
BASH``` 1 2git clone https://github.com/VictoriaMetrics/mcp-victoriametrics.git cd mcp-victoriametrics
- 从克隆的源代码构建二进制文件:
BASH```
1
2make build
# after that you can find binary mcp-victoriametrics and copy this file to your PATH or run inplace
- 从克隆的源代码构建映像:
BASH``` 1 2docker build -t mcp-victoriametrics .
after that you can use docker image mcp-victoriametrics for running or pushing
### 舵
结账 [VictoriaMetrics MCP服务器Helm图](https://docs.victoriametrics.com/helm/victoria-metrics-mcp/) 有关使用Helm安装的更多详细信息的文档。
## 配置
VictoriaMetrics的MCP服务器是通过环境变量配置的:
| 变量 | 描述 | 必填 | 默认 | 允许值 |
| --- | --- | --- | --- | --- |
| `VM_INSTANCE_ENTRYPOINT` / `VMC_API_KEY` | VictoriaMetrics实例的URL(应该是根 `/` vmsingle或vmselect的URL) | 是(如果不使用 `VMC_API_KEY`) | - | - |
| `VM_INSTANCE_TYPE` | VictoriaMetrics实例的类型 | 是(如果不使用 `VMC_API_KEY`) | - | `single`, `cluster` |
| `VM_INSTANCE_BEARER_TOKEN` | VictoriaMetrics API的身份验证令牌 | 否 | - | - |
| `VM_INSTANCE_HEADERS` | 与请求一起发送的自定义HTTP标头(逗号分隔的键=值对) | 否 | - | - |
| `MCP_PASSTHROUGH_HEADERS` | 从传入的MCP请求转发到VictoriaMetrics的HTTP标头名称(逗号分隔列表)。覆盖 `VM_INSTANCE_HEADERS` 碰撞。仅适用于 `sse`/`http` 模式。 | 否 | - | - |
| `VM_DEFAULT_TENANT_ID` | 群集模式的默认租户ID。格式: `accountID` 或 `accountID:projectID` (32位整数)。看 [VictoriaMetrics集群文档](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) | 没有 | `0` | - |
| `VMC_API_KEY` | [来自VictoriaMetrics云控制台的API密钥](https://docs.victoriametrics.com/victoriametrics-cloud/api/) | 否 | - | - |
| `MCP_SERVER_MODE` | 服务器操作模式。看 模式 了解详情。 | 没有 | `stdio` | `stdio`, `sse`, `http` |
| `MCP_LISTEN_ADDR` | 要侦听的SSE或HTTP服务器的地址 | 否 | `localhost:8080` | - |
| `MCP_DISABLED_TOOLS` | 以逗号分隔的工具列表,用于禁用 | 否 | 导出、标志、metric_relabel_debug、downampling_filters_debug、retention_filters_debug、test_rules | - |
| `MCP_DISABLE_RESOURCES` | 禁用所有资源(文档工具将继续工作) | 否 | `false` | `false`, `true` |
| `MCP_HEARTBEAT_INTERVAL` | 定义可流式传输http协议的心跳间隔。
这意味着MCP服务器将通过GET连接向客户端发送心跳,
以防止连接被网络基础设施(如网关)关闭 | 否 | `30s` | - |
| `MCP_LOG_FORMAT` | 日志输出格式 | 否 | `text` | `text`, `json` |
| `MCP_LOG_LEVEL` | 最低日志级别 | 否 | `info` | `debug`, `info`, `warn`, `error` |
您可以使用两个选项连接到您的VictoriaMetrics实例:
- 使用 `VM_INSTANCE_ENTRYPOINT` + `VM_INSTANCE_TYPE` + `VM_INSTANCE_BEARER_TOKEN` (可选)环境变量,用于连接到VictoriaMetrics的任何单个节点或集群实例。
- 使用 `VMC_API_KEY` 要使用的环境变量 [维多利亚指标云](https://victoriametrics.com/products/cloud/) 实例。
### 模式
MCP服务器支持以下操作模式(传输):
- `stdio` -标准输入/输出模式,服务器从标准输入读取命令并将响应写入标准输出。这是默认模式,适用于本地服务器。
- `sse` -服务器发送事件。服务器将公开 `/sse` 和 `/message` SSE连接的端点。
- `http` -流式HTTP。服务器将公开 `/mcp` HTTP连接的端点。
您可以在MCP文档中找到有关traqnsports的更多信息:
- [核心概念->交通](https://modelcontextprotocol.io/docs/concepts/transports)
- [规格->运输](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports)
### 配置示例
BASH```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# For a single-node instance
export VM_INSTANCE_ENTRYPOINT="http://localhost:8428"
export VM_INSTANCE_TYPE="single"
export VM_INSTANCE_BEARER_TOKEN="your-token"
export MCP_PASSTHROUGH_HEADERS="X-Token,X-Access-Key"
# For a cluster
export VM_INSTANCE_ENTRYPOINT="https://play.victoriametrics.com"
export VM_INSTANCE_TYPE="cluster"
export MCP_DISABLED_TOOLS="export,metric_statistics,test_rules" # disable export, statistics and rules unit test tools
# For VictoriaMetrics Cloud
export VMC_API_KEY="<you-api-key>"
# Server mode
export MCP_SERVER_MODE="sse"
export MCP_LISTEN_ADDR="0.0.0.0:8080"
# Custom headers for authentication (e.g., behind a reverse proxy)
# Expected syntax is key=value separated by commas
export VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
端点
在SSE和HTTP模式下,MCP服务器提供以下端点:
| 端点 | 描述 |
|---|---|
/ | 带有设置帮助和工具检查的登录页面 |
/sse + /message | SSE模式下消息的端点(适用于支持SSE的MCP客户端) |
/mcp | HTTP模式下流式消息的HTTP端点(适用于支持流式HTTP的MCP客户端) |
/metrics | 用于监控MCP服务器的Prometheus格式的度量 |
/health/liveness | 实时性检查端点,以确保服务器正在运行 |
/health/readiness | 就绪检查端点,以确保服务器已准备好接受请求 |
在客户端中设置
光标
首选 Settings -> Cursor Settings -> MCP -> Add new global MCP server 并将以下配置粘贴到游标中 ~/.cursor/mcp.json 文件:
JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13{ “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>”, “VM_INSTANCE_HEADERS”: ”
看 [光标MCP文档](https://docs.cursor.com/context/model-context-protocol) 了解更多信息。
### 克劳德桌面版
将此添加到您的Claude桌面 `claude_desktop_config.json` 文件(打开后可以找到它 `Settings` -> `Developer` -> `Edit config`):
JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13{
"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>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
}
}
}
看 克劳德桌面MCP文档 了解更多信息。
克劳德代码
运行命令:
SH```
1
2
3
4
5claude 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>
-e VM_INSTANCE_HEADERS=”
看 [克劳德代码MCP文档](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp) 了解更多信息。
### 法典
Codex CLI和IDE扩展使用相同的MCP配置文件: `~/.codex/config.toml`
(或 `.codex/config.toml` 在一个值得信赖的项目中)。
运行命令:
SH```
1
2
3
4
5
6codex mcp add victoriametrics \
--env VM_INSTANCE_ENTRYPOINT=<YOUR_VM_INSTANCE> \
--env VM_INSTANCE_TYPE=<YOUR_VM_INSTANCE_TYPE> \
--env VM_INSTANCE_BEARER_TOKEN=<YOUR_VM_BEARER_TOKEN> \
--env VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>" \
-- /path/to/mcp-victoriametrics
或者将以下内容添加到您的Codex中 ~/.codex/config.toml 文件:
TOML``` 1 2 3 4 5 6 7[mcp_servers.victoriametrics] command = “/path/to/mcp-victoriametrics” [mcp_servers.victoriametrics.env] VM_INSTANCE_ENTRYPOINT = “<YOUR_VM_INSTANCE>” VM_INSTANCE_TYPE = “<YOUR_VM_INSTANCE_TYPE>” VM_INSTANCE_BEARER_TOKEN = “<YOUR_VM_BEARER_TOKEN>” VM_INSTANCE_HEADERS = ”
如果您在Streamable HTTP模式下运行服务器,则可以向以下地址注册:
SH```
1codex mcp add victoriametrics --url http://localhost:8080/mcp
看 食品法典委员会MCP文件 了解更多信息。
Visual Studio Code
将此添加到您的VS Code MCP配置文件中:
JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14{ “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>”, “VM_INSTANCE_HEADERS”: ”
看 [VS代码MCP文档](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) 了解更多信息。
### 泽德
将以下内容添加到Zed配置文件中:
JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 "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>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
},
"settings": {}
}
}
看 Zed MCP文件 了解更多信息。
JetBrains集成开发环境
- 打开
Settings->Tools->AI Assistant->Model Context Protocol (MCP). - 点击
Add (+) - 选择
As JSON - 在输入字段中输入以下内容:
JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13{ “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>”, “VM_INSTANCE_HEADERS”: ”
### 帆板运动
将以下内容添加到您的Windsurf MCP配置文件中。
JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13{
"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>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
}
}
}
看 Windsurf MCP文件 了解更多信息。
使用Docker而不是二进制
您可以使用Docker而不是本地二进制文件运行VictoriaMetrics MCP服务器。
您应该按照以下方式替换上述配置示例中的run命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22{
"mcpServers": {
"victoriametrics": {
"command": "docker",
"args": [
"run",
"-i", "--rm",
"-e", "VM_INSTANCE_ENTRYPOINT",
"-e", "VM_INSTANCE_TYPE",
"-e", "VM_INSTANCE_BEARER_TOKEN",
"-e", "VM_INSTANCE_HEADERS",
"ghcr.io/victoriametrics/mcp-victoriametrics",
],
"env": {
"VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
"VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
}
}
}
用法
之后 安装 和 配置 MCP服务器,您可以开始将其与您最喜欢的MCP客户端一起使用。
您可以从以下短语开始与AI助手对话:
1Use MCP VictoriaMetrics in the following answers
但这不是必需的,你可以开始提问,助手会自动使用工具和文档为你提供最佳答案。 只要看看 对话示例 为了更好地理解你可以用它做什么。
工具集
MCP VictoriaMetrics提供了许多与您的VictoriaMmetrics实例交互的工具。
以下是常见可用工具的列表:
| 工具 | 说明 | 默认启用 |
|---|---|---|
query | 执行即时PromQL/MetricsQL查询 | ✅ |
query_range | 在一段时间内执行范围PromQL/MetricsQL查询 | ✅ |
metrics | 列出可用指标 | ✅ |
metrics_metadata | 存储的度量元数据(类型、帮助和单位) | ✅ |
labels | 列出可用标签名称 | ✅ |
label_values | 列出特定标签的值 | ✅ |
series | 列出可用时间序列 | ✅ |
export | 将原始时间序列数据导出为JSON或CSV | ❌ |
rules | 查看警报和记录规则 | ✅ |
alerts | 查看当前警报(触发和待定) | ✅ |
flags | 查看VictoriaMetrics实例的非默认标志 | ❌ |
metric_statistics | 获取指标使用情况(在查询中)统计信息 | ✅ |
active_queries | 查看当前正在执行的查询 | ✅ |
top_queries | 查看最频繁或最慢的查询 | ✅ |
tsdb_status | 查看TSDB基数统计信息 | ✅ |
tenants | 列出多租户集群设置中的可用租户 | ✅ |
documentation | 在嵌入的VictoriaMetrics文档中搜索 | ✅ |
metric_relabel_debug | 调试Prometheus兼容的重新标记规则 | ❌ |
downsampling_filters_debug | 调试降采样配置 | ❌ |
retention_filters_debug | 调试保留筛选器配置 | ❌ |
prettify_query | 美化和格式化PromQL/MetricsQL查询 | ✅ |
explain_query | 解析PromQL/MetricsQL查询并解释其工作原理 | ✅ |
test_rules | 使用vmalert工具的单元测试警报和记录规则 | ❌ |
以下是一些可用的其他工具 维多利亚指标云 (注明 VMC_API_KEY 参数)用户:
| 工具 | 说明 | 默认启用 |
|---|---|---|
deployments | 列出VictoriaMetrics Cloud中的可用部署 | ✅ |
cloud_providers | 列出VictoriaMetrics cloud中的可用云提供商 | ✅ |
regions | 列出VictoriaMetrics cloud中可用的云提供商区域 | ✅ |
tiers | 列出VictoriaMetrics Cloud中的可用部署层 | ✅ |
access_tokens | 列出VictoriaMetrics Cloud中可用的部署访问令牌 | ✅ |
rule_filenames | 列出VictoriaMetrics Cloud中可用的警报和记录规则文件名 | ✅ |
rule_file | VictoriaMetrics Cloud中特定警报或记录规则文件的内容 | ✅ |
提示
服务器包括常见任务的预定义提示。
这些只是目前的示例,提示库将在未来添加:
| 提示 | 描述 |
|---|---|
unused_metrics | 找到从未被查询过的指标,并创建重新标签配置以停止摄入它们 |
documentation | 在VictoriaMetrics文档中搜索特定主题 |
rarely_used_metrics_with_high_cardinality | 识别很少被查询的高基数指标 |
对话示例
这只是使用MCP服务器与Assistant进行对话的示例,有助于理解它的工作原理(但这是与使用Claude Desktop的Victoria Metrics MCP服务器并配置为 公共游乐场实例):
-
你:我的虚拟机中有哪些租户?
-
助手 在您的VictoriaMetrics实例中,有以下租户可用
0:0(默认租户),1:0,10:0,100:0 -
你:从现在开始,请仅使用默认租户
-
助手: 我理解。从现在开始,对于您的VictoriaMetrics实例的所有操作,我将只使用默认租户(0:0)。
-
你:我们有哪些指标?
-
助手: 您的VictoriaMetrics实例中有许多可用的指标。该列表包括来自各种系统和组件的指标,例如:
系统指标(
node_,machine_等等),Kubernetes指标(
kube_,container_,apiserver_等等),VictoriaMetrics特定指标(
vm_,vmagent_,vmalert_等等),Go运行时指标(
go_),普罗米修斯相关指标(
scrape_,promhttp_),各种应用指标(
argocd_,alertmanager_).这是一个包含2000多个可供查询的指标的综合列表。您是否有兴趣进一步探索特定类型的指标?
-
你:好的,让我们从现在开始使用kubernetes指标。请告诉我这些指标中哪些从未被查询过?
-
助手: 根据结果,我可以看到有两个Kubernetes指标从未被查询过(查询计数为0):
kube_persistentvolumeclaim_deletion_timestamp-此指标提供了有关何时将PersistentVolumeClaims标记为删除的信息。
kube_pod_init_container_status_last_terminated_reason-此指标显示了上次终止Pod中init容器的原因。这些指标对于监控和故障排除可能很有价值:
PVC删除时间戳指标可以帮助跟踪删除模式或识别卡住的PVC。
init容器终止原因指标可以帮助识别初始化容器中的常见故障模式。
您想让我解释更多关于这些指标跟踪的内容,或者建议一些有用的查询来开始监控它们吗?
-
你:是的,请。此外,你能制定重新标签规则来阻止摄入这些指标吗?
-
助手: 我将创建一个重新标记配置,以从集合中排除这些从未查询过的指标。这将有助于减少存储和处理开销。以下是您可以添加到VictoriaMetrics抓取配置中的重新标记配置:
YAML``` 1 2 3 4relabel_configs:
- action: drop source_labels: [name] regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason
*此配置将:* 1. *查看每个指标的名称( `__name__` 标签)* 2. *检查它是否与指定的指标之一匹配* 3. *删除匹配的指标,防止它们被收集和存储* *如果您将Prometheus用作VictoriaMetrics的抓取器,则可以将其添加到您的VictoriaMetric配置文件中,或者添加到Prometheus配置中的相关抓取作业配置中。* *如果您想在实现之前测试此重新标记配置,可以使用度量重新标记调试工具来查看它将如何影响您的度量。*
-
你:是的,请在实时序列上调试此重新标记配置,看看它会如何影响我的指标
-
助手: 太好了!重新标记配置按预期工作:
前两个测试用例表明
kube_persistentvolumeclaim_deletion_timestamp和kube_pod_init_container_status_last_terminated_reason指标已正确删除(结果标签为空{}).第三个测试用例证实了其他指标,如
kube_pod_status_phase被保留下来,不受我们的删除规则的影响。您可以放心地将此重新标记配置添加到您的VictoriaMetrics或Prometheus配置中,以停止收集这些未使用的指标。这将节省存储空间并减少处理开销,而不会影响您当前的监控能力。
-
你:但是我使用的是VictoriaMetrics操作符的vmagent资源,你能给我提供一部分带有此重新标签配置的代理规范吗?
-
助手: 你说得对,由于你使用的是VictoriaMetrics运算符和VMAgent自定义资源,配置需要采用该CR的适当格式。以下是如何将重新标记配置添加到VMAgent规范中:
YAML``` 1 2 3 4 5 6 7 8 9 10 11 12apiVersion: 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规范中,您可以使用 `inlineRelabelConfig` 用于内联重新标记规则* - *该字段名为 `sourceLabels` (不是 `source_labels` 如Prometheus配置)* - *这是一个全局重新标记,将在存储之前应用于所有指标*
-
你:我决定不删除这些指标,而是使用下采样降低它们的采样率。我现在有哪些降采样参数?
-
助手: 我可以看到您当前具有以下降采样配置:
1-downsampling.period="7d:1m,30d:5m,180d:30m"这意味着:
超过7天的数据将保持其原始分辨率
7-30天之间的数据被降采样到1分钟的分辨率
30-180天的数据被降采样到5分钟的分辨率
超过180天的数据被降采样为30分钟分辨率
现在,如果你想为那些很少被查询的指标添加特定的下采样规则,你可以使用下采样过滤器调试工具来测试新规则的工作方式。让我们测试一种配置,在这种配置中,我们对这些特定指标应用了更积极的下采样:
…获取序列并使用下采样滤波器调试器。…
太棒了现在我们的测试工作正常。根据当前配置和我们的测试,这里有一个建议的VMAgent CR下采样配置,可以对那些很少被查询的指标应用更积极的下采样:
YAML``` 1 2 3 4 5 6 7 8 9 10 11apiVersion: 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获取可用租户列表documentation获取有关功能和数据格式的信息metrics获取可用指标列表metrics_staistics获取有关指标使用情况的信息series获取用于调试的时间序列metric_relabel_debug调试重新标记规则flags获取实例参数信息downsampling_filters_debug调试下采样配置
但你可以使用任何其他工具,并以自己的方式组合它们。
监控
在 SSE和HTTP模式 MCP服务器以Prometheus格式提供度量(请参见 端点)你可以找到 在repo中,简单的grafana仪表板 对于这些指标。
常见问题解答
为什么MCP服务器使用的资源比我从一个简单的API代理所期望的要多?
该服务器包含一个嵌入式矢量数据库,其中包含VictoriaMetrics文档和博客文章 documentation 工具。
它有助于回答有关VictoriaMetrics的复杂问题,而无需向LLM提供所有数据。
这是资源使用的主要来源。要减少它,请添加 documentation 到 MCP_DISABLED_TOOLS 环境变量,以完全禁用矢量数据库加载。看 工具配置 了解详情。
如何将一个MCP服务器实例用于多个VictoriaMetrics实例?
你可以使用 MCP_PASSTHROUGH_HEADERS MCP服务器中的参数以及 vmauth中基于标头的路由 根据MCP客户端配置中的HTTP标头值在实例之间路由MCP调用。
路线图
-
支持“美化查询”工具(在中完成
v0.0.5) -
支持“解释查询”工具(在中完成
v0.0.6) -
支持CI管道构建和推送multiarch docker镜像(在
v1.0.0) -
支持工具 警报和记录规则的单元测试 (完成于
v0.0.7) -
[]除了当前的文档工具外,还可以为服务器添加一些额外的知识:
-
VictoriaMetrics博客 帖子(在
v1.1.0) -
CRD模式
-
[]实施MCP的多租户版本(将支持多种部署)
-
[]添加标志/配置验证工具
-
[]针对vmagent API的支持工具
-
[]支持 新的vmalert API
-
通过配置启用/禁用工具(在中完成
v0.0.8) -
[]警报管理器API工具 #6
-
支持 度量元数据 如果在VictoriaMetrics中实施
-
[]支持身份验证
-
添加带有描述和文档链接的静态索引页面
提及
免责声明
人工智能服务和代理以及这样的MCP服务器无法保证结果的准确性、完整性和可靠性。 您应该仔细检查使用AI获得的结果。
MCP服务器及其响应的质量在很大程度上取决于您的客户端的功能和您使用的模型的质量。
贡献
欢迎为MCP VictoriaMetrics项目捐款!
请随时提交问题、功能请求或拉取请求。