VictoriaMetrics MCP Server
Acesse as APIs do VictoriaMetrics para monitoramento, observabilidade e depuração.
Documentação
VictoriaMetrics MCP Server
A implementação do servidor Model Context Protocol (MCP) para VictoriaMetrics.
Isso fornece acesso à sua instância VictoriaMetrics e integração perfeita com as APIs do VictoriaMetrics e documentação. Pode oferecer uma interface abrangente para tarefas de monitoramento, observabilidade e depuração relacionadas às suas instâncias VictoriaMetrics, permitindo automação avançada e capacidades de interação para engenheiros e ferramentas.
Recursos
Este servidor MCP permite usar quase todas as APIs somente leitura do VictoriaMetrics, ou seja, todas as funções disponíveis no VMUI:
- Consultar métricas e explorar dados (até mesmo desenhar gráficos se o seu cliente suportar)
- Listar e exportar métricas disponíveis, labels, valores de labels e séries inteiras
- Analisar e testar suas regras de alerta e gravação e alertas
- Exibir parâmetros da sua instância VictoriaMetrics
- Explorar a cardinalidade dos seus dados e estatísticas de uso de métricas
- Analisar, rastrear, embelezar e explicar suas consultas
- Depurar suas regras de relabeling, downsampling e configurações de política de retenção
- Integração com VictoriaMetrics Cloud
- Interface com instruções de configuração e inspeção de ferramentas no endpoint raiz (somente no modo Streamable HTTP)
Além disso, o servidor MCP contém documentação atualizada incorporada e é capaz de pesquisá-la sem acesso online.

Mais detalhes sobre as ferramentas e prompts exatos disponíveis podem ser encontrados na seção Uso.
Você pode combinar a funcionalidade das ferramentas, pesquisa de documentação em seus prompts e inventar ótimos cenários de uso para sua instância VictoriaMetrics. Basta verificar a seção Exemplo de diálogo para ver como isso pode funcionar. E observe que a qualidade do servidor MCP e suas respostas depende muito das capacidades do seu cliente e da qualidade do modelo que você está usando.
Você também pode combinar o servidor MCP com outros servidores MCP relacionados a observabilidade ou pesquisa de documentação e obter resultados ainda mais poderosos.
Experimente sem instalação
Existe uma instância publicamente disponível do VictoriaMetrics MCP Server que você pode usar para testar os recursos sem instalá-lo:
https://play-mcp.victoriametrics.com/mcp
Atenção! Esta URL não deve ser aberta em um navegador, ela é destinada ao uso em clientes MCP.
Está disponível no modo Streamable HTTP e configurado para funcionar com o Public VictoriaMetrics Playground.
Aqui está um exemplo de configuração para Claude Desktop:
Requisitos
- Instância VictoriaMetrics ou VictoriaMetrics Cloud (single-node ou cluster)
- Go 1.26 ou superior (se quiser compilar a partir do código-fonte)
Instalação
Binários
Basta baixar a versão mais recente da página Releases e colocá-la no seu PATH.
Exemplo para Linux x86_64 (observe que outras arquiteturas e plataformas também estão disponíveis):
latest=$(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
Você pode executar o VictoriaMetrics MCP Server usando Docker.
Esta é a maneira mais fácil de começar sem precisar instalar Go ou compilar a partir do código-fonte.
docker 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
Você deve substituir as variáveis de ambiente pelos seus próprios parâmetros.
Observe que o flag MCP_SERVER_MODE=http é usado para habilitar o modo Streamable HTTP.
Mais detalhes sobre os modos de servidor podem ser encontrados na seção Configuração.
Veja as imagens docker disponíveis no registro do github.
Consulte também a seção Usando Docker em vez de binário para mais detalhes sobre o uso do Docker com o servidor MCP com clientes no modo stdio.
Código-fonte
Para compilar o binário a partir do código-fonte, você pode usar a seguinte abordagem:
-
Clone o repositório:
git clone https://github.com/VictoriaMetrics/mcp-victoriametrics.git cd mcp-victoriametrics -
Compile o binário a partir do código-fonte clonado:
make build # after that you can find binary mcp-victoriametrics and copy this file to your PATH or run inplace -
Compile a imagem a partir do código-fonte clonado:
docker build -t mcp-victoriametrics . # after that you can use docker image mcp-victoriametrics for running or pushing
Helm
Consulte a documentação do VictoriaMetrics MCP Server Helm chart para mais detalhes sobre a instalação usando Helm.
Configuração
O MCP Server para VictoriaMetrics é configurado por meio de variáveis de ambiente:
| Variável | Descrição | Obrigatório | Padrão | Valores permitidos |
|---|---|---|---|---|
VM_INSTANCE_ENTRYPOINT / VMC_API_KEY | URL da instância VictoriaMetrics (deve ser a URL raiz / do vmsingle ou vmselect) | Sim (se você não usar VMC_API_KEY) | - | - |
VM_INSTANCE_TYPE | Tipo da instância VictoriaMetrics | Sim (se você não usar VMC_API_KEY) | - | single, cluster |
VM_INSTANCE_BEARER_TOKEN | Token de autenticação para a API do VictoriaMetrics | Não | - | - |
VM_INSTANCE_HEADERS | Cabeçalhos HTTP personalizados para enviar com as requisições (pares chave=valor separados por vírgula) | Não | - | - |
MCP_PASSTHROUGH_HEADERS | Nomes de cabeçalhos HTTP para encaminhar das requisições MCP recebidas para o VictoriaMetrics (lista separada por vírgula). Substitui VM_INSTANCE_HEADERS em caso de colisão. Aplica-se apenas nos modos sse/http. | Não | - | - |
VM_DEFAULT_TENANT_ID | ID de tenant padrão para o modo cluster. Formato: accountID ou accountID:projectID (inteiros de 32 bits). Veja documentação do cluster VictoriaMetrics | Não | 0 | - |
VMC_API_KEY | Chave de API do VictoriaMetrics Cloud Console | Não | - | - |
MCP_SERVER_MODE | Modo de operação do servidor. Veja Modos para detalhes. | Não | stdio | stdio, sse, http |
MCP_LISTEN_ADDR | Endereço para o servidor SSE ou HTTP escutar | Não | localhost:8080 | - |
MCP_DISABLED_TOOLS | Lista separada por vírgula de ferramentas para desabilitar | Não | 'export,flags,metric_relabel_debug,downsampling_filters_debug,retention_filters_debug,test_rules' | - |
MCP_DISABLE_RESOURCES | Desabilitar todos os recursos (a ferramenta de documentação continuará funcionando) | Não | false | false, true |
MCP_HEARTBEAT_INTERVAL | Define o intervalo de heartbeat para o protocolo streamable-http. Isso significa que o servidor MCP enviará um heartbeat ao cliente através da conexão GET, para manter a conexão ativa e evitar que seja fechada pela infraestrutura de rede (ex.: gateways) | Não | 30s | - |
MCP_LOG_FORMAT | Formato de saída de log | Não | text | text, json |
MCP_LOG_LEVEL | Nível mínimo de log | Não | info | debug, info, warn, error |
Você pode usar duas opções para conectar à sua instância VictoriaMetrics:
- Usando as variáveis de ambiente
VM_INSTANCE_ENTRYPOINT+VM_INSTANCE_TYPE+VM_INSTANCE_BEARER_TOKEN(opcional) para conectar a qualquer instância single-node ou cluster do VictoriaMetrics. - Usando a variável de ambiente
VMC_API_KEYpara trabalhar com suas instâncias VictoriaMetrics Cloud.
Modos
O MCP Server suporta os seguintes modos de operação (transports):
stdio- Modo de entrada/saída padrão, onde o servidor lê comandos da entrada padrão e escreve respostas na saída padrão. Este é o modo padrão e é adequado para servidores locais.sse- Server-Sent Events. O servidor exporá os endpoints/ssee/messagepara conexões SSE.http- Streamable HTTP. O servidor exporá o endpoint/mcppara conexões HTTP.
Mais informações sobre transports você pode encontrar na documentação do MCP:
Exemplos de configuração
# 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>"
Endpoints
Nos modos SSE e HTTP, o servidor MCP fornece os seguintes endpoints:
| Endpoint | Descrição |
|---|---|
/ | Página inicial com ajuda de configuração e inspeção de ferramentas |
/sse + /message | Endpoints para mensagens no modo SSE (para clientes MCP que suportam SSE) |
/mcp | Endpoint HTTP para streaming de mensagens no modo HTTP (para clientes MCP que suportam Streamable HTTP) |
/metrics | Métricas no formato Prometheus para monitoramento do servidor MCP |
/health/liveness | Endpoint de verificação de liveness para garantir que o servidor está em execução |
/health/readiness | Endpoint de verificação de readiness para garantir que o servidor está pronto para aceitar requisições |
Configuração em clientes
Cursor
Vá para: Settings -> Cursor Settings -> MCP -> Add new global MCP server e cole a seguinte configuração no seu arquivo ~/.cursor/mcp.json do Cursor:
{
"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>"
}
}
}
}
Consulte a documentação do Cursor MCP para mais informações.
Claude Desktop
Adicione isto ao seu arquivo claude_desktop_config.json do Claude Desktop (você pode encontrá-lo se abrir 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>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
}
}
}
Consulte a documentação do Claude Desktop MCP para mais informações.
Claude Code
Execute o comando:
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>
-e VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
Consulte a documentação do Claude Code MCP para mais informações.
Codex
O Codex CLI e a extensão do IDE usam o mesmo arquivo de configuração MCP: ~/.codex/config.toml (ou .codex/config.toml em um projeto confiável).
Execute o comando:
codex 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
Ou adicione o seguinte ao seu arquivo ~/.codex/config.toml do Codex:
[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 = "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
Se você executar o servidor no modo Streamable HTTP, você pode registrá-lo com:
codex mcp add victoriametrics --url http://localhost:8080/mcp
Consulte a documentação do Codex MCP para mais informações.
Visual Studio Code
Adicione isto ao seu arquivo de configuração MCP do VS Code:
{
"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": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
}
}
}
Consulte a documentação do VS Code MCP para mais informações.
Zed
Adicione o seguinte ao seu arquivo de configuração do 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>",
"VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
}
},
"settings": {}
}
}
Consulte a documentação do Zed MCP para mais informações.
IDEs JetBrains
- Abra
Settings->Tools->AI Assistant->Model Context Protocol (MCP). - Clique em
Add (+) - Selecione
As JSON - Coloque o seguinte no campo de entrada:
{
"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
Adicione o seguinte ao seu arquivo de configuração MCP do Windsurf.
{
"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>"
}
}
}
}
Consulte a documentação do Windsurf MCP para mais informações.
Usando Docker em vez do binário
Você pode executar o servidor MCP VictoriaMetrics usando Docker em vez do binário local.
Você deve substituir o comando de execução nos exemplos de configuração acima da seguinte forma:
{
"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>"
}
}
}
}
Uso
Após instalar e configurar o servidor MCP, você pode começar a usá-lo com seu cliente MCP favorito.
Você pode iniciar um diálogo com o assistente de IA a partir da frase:
Use MCP VictoriaMetrics in the following answers
Mas não é obrigatório, você pode simplesmente começar a fazer perguntas e o assistente usará automaticamente as ferramentas e a documentação para fornecer as melhores respostas. Basta dar uma olhada na seção Exemplo de diálogo para entender melhor o que você pode fazer com ele.
Conjunto de ferramentas
O MCP VictoriaMetrics fornece diversas ferramentas para interagir com sua instância VictoriaMetrics.
Aqui está uma lista de ferramentas comuns disponíveis:
| Ferramenta | Descrição | Habilitada por padrão |
|---|---|---|
query | Executar consultas instantâneas PromQL/MetricsQL | ✅ |
query_range | Executar consultas de intervalo PromQL/MetricsQL em um período de tempo | ✅ |
metrics | Listar métricas disponíveis | ✅ |
metrics_metadata | Metadados de métricas armazenadas (tipo, ajuda e unidade) | ✅ |
labels | Listar nomes de labels disponíveis | ✅ |
label_values | Listar valores para um label específico | ✅ |
series | Listar séries temporais disponíveis | ✅ |
export | Exportar dados brutos de séries temporais para JSON ou CSV | ❌ |
rules | Visualizar regras de alerta e gravação | ✅ |
alerts | Visualizar alertas atuais (disparados e pendentes) | ✅ |
flags | Visualizar flags não padrão da instância VictoriaMetrics | ❌ |
metric_statistics | Obter estatísticas de uso de métricas (em consultas) | ✅ |
active_queries | Visualizar consultas em execução no momento | ✅ |
top_queries | Visualizar consultas mais frequentes ou mais lentas | ✅ |
tsdb_status | Visualizar estatísticas de cardinalidade do TSDB | ✅ |
tenants | Listar tenants disponíveis em configuração de cluster multi-tenant | ✅ |
documentation | Pesquisar na documentação embutida do VictoriaMetrics | ✅ |
metric_relabel_debug | Depurar regras de relabeling compatíveis com Prometheus | ❌ |
downsampling_filters_debug | Depurar configuração de downsampling | ❌ |
retention_filters_debug | Depurar configuração de filtros de retenção | ❌ |
prettify_query | Embelezar e formatar consultas PromQL/MetricsQL | ✅ |
explain_query | Analisar consultas PromQL/MetricsQL e explicar como funciona | ✅ |
test_rules | Testar unitariamente regras de alerta e gravação usando a ferramenta vmalert | ❌ |
Aqui estão algumas ferramentas adicionais disponíveis para usuários do VictoriaMetrics Cloud (com a especificação do parâmetro VMC_API_KEY):
| Ferramenta | Descrição | Habilitada por padrão |
|---|---|---|
deployments | Listar deployments disponíveis no VictoriaMetrics Cloud | ✅ |
cloud_providers | Listar provedores de nuvem disponíveis no VictoriaMetrics Cloud | ✅ |
regions | Listar regiões de provedores de nuvem disponíveis no VictoriaMetrics Cloud | ✅ |
tiers | Listar níveis de deployment disponíveis no VictoriaMetrics Cloud | ✅ |
access_tokens | Listar tokens de acesso de deployment disponíveis no VictoriaMetrics Cloud | ✅ |
rule_filenames | Listar nomes de arquivos de regras de alerta e gravação disponíveis no VictoriaMetrics Cloud | ✅ |
rule_file | Conteúdo de um arquivo específico de regra de alerta ou gravação no VictoriaMetrics Cloud | ✅ |
Prompts
O servidor inclui prompts pré-definidos para tarefas comuns.
Estes são apenas exemplos no momento, a biblioteca de prompts será ampliada no futuro:
| Prompt | Descrição |
|---|---|
unused_metrics | Encontrar métricas que nunca são consultadas e criar configs de relabel para parar de ingeri-las |
documentation | Pesquisar na documentação do VictoriaMetrics por tópicos específicos |
rarely_used_metrics_with_high_cardinality | Identificar métricas de alta cardinalidade que raramente são consultadas |
Exemplo de diálogo
Este é apenas um exemplo de diálogo com o Assistente usando o MCP Server que pode ajudar a entender como ele funciona (mas é um diálogo real usando o servidor MCP Victoria Metrics com Claude Desktop e configurado para instância de playground pública):
-
Você: Quais tenants estão disponíveis na minha VM?
-
Assistente Na sua instância VictoriaMetrics, os seguintes tenants estão disponíveis
0:0(tenant padrão),1:0,10:0,100:0 -
Você: A partir de agora, use apenas o tenant padrão
-
Assistente: Entendido. A partir de agora, usarei apenas o tenant padrão (0:0) para todas as operações com sua instância VictoriaMetrics.
-
Você: Quais métricas temos?
-
Assistente: Existem muitas métricas disponíveis na sua instância VictoriaMetrics. A lista inclui métricas de vários sistemas e componentes, como:
- Métricas do sistema (
node_,machine_, etc.), - Métricas do Kubernetes (
kube_,container_,apiserver_, etc.), - Métricas específicas do VictoriaMetrics (
vm_,vmagent_,vmalert_, etc.), - Métricas do runtime Go (
go_), - Métricas relacionadas ao Prometheus (
scrape_,promhttp_), - Várias métricas de aplicações (
argocd_,alertmanager_).
Esta é uma lista abrangente de mais de 2000 métricas disponíveis para consulta. Há algum tipo específico de métrica que você tenha interesse em explorar mais a fundo?
- Métricas do sistema (
-
Você: Ok, vamos trabalhar com métricas do Kubernetes a partir de agora. Por favor, mostre quais dessas métricas nunca foram consultadas?
-
Assistente: Com base nos resultados, posso ver que há duas métricas do Kubernetes que nunca foram consultadas (contagem de consultas é 0):
kube_persistentvolumeclaim_deletion_timestamp- Esta métrica fornece informações sobre quando PersistentVolumeClaims foram marcados para exclusão.kube_pod_init_container_status_last_terminated_reason- Esta métrica mostra o motivo pelo qual os contêineres init em pods foram encerrados pela última vez.
Essas métricas podem ser valiosas para fins de monitoramento e solução de problemas:
- A métrica de timestamp de exclusão de PVC pode ajudar a rastrear padrões de exclusão ou identificar PVCs travados.
- A métrica de motivo de encerramento de contêiner init pode ajudar a identificar padrões comuns de falha em seus contêineres de inicialização.
Gostaria que eu explicasse mais sobre o que essas métricas rastreiam ou sugerisse algumas consultas úteis para começar a monitorá-las?
-
Você: Sim, por favor. E também, você pode criar regras de relabeling para parar de ingerir essas métricas?
-
Assistente: Vou criar uma configuração de relabel para excluir essas métricas nunca consultadas da coleta. Isso ajudará a reduzir a sobrecarga de armazenamento e processamento. Aqui está a configuração de relabel que você pode adicionar à sua configuração de scrape do VictoriaMetrics:
relabel_configs: - action: drop source_labels: [__name__] regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reasonEsta configuração irá:
- Observar o nome de cada métrica (o rótulo
__name__) - Verificar se corresponde a alguma das métricas especificadas
- Descartar as métricas que correspondem, impedindo que sejam coletadas e armazenadas
Você pode adicionar isso ao seu arquivo de configuração do VictoriaMetrics ou às configurações relevantes do job de scrape na sua configuração do Prometheus, se estiver usando o Prometheus como scraper para o VictoriaMetrics. Se quiser testar esta configuração de relabel antes de implementá-la, você pode usar a ferramenta de depuração de relabel de métricas para ver como ela afetaria suas métricas.
- Observar o nome de cada métrica (o rótulo
-
Você: Sim, por favor, depure esta configuração de relabel em séries temporais reais para ver como ela afetaria minhas métricas
-
Assistente: Perfeito! A configuração de relabel funciona como esperado:
- Os dois primeiros casos de teste mostram que ambas as métricas
kube_persistentvolumeclaim_deletion_timestampekube_pod_init_container_status_last_terminated_reasonsão corretamente descartadas (os rótulos resultantes são vazios{}). - O terceiro caso de teste confirma que outras métricas como
kube_pod_status_phasesão preservadas e não afetadas pela nossa regra de descarte.
Você pode adicionar esta configuração de relabel com confiança à sua configuração do VictoriaMetrics ou do Prometheus para parar de coletar essas métricas não utilizadas. Isso economizará espaço de armazenamento e reduzirá a sobrecarga de processamento sem afetar suas capacidades atuais de monitoramento.
- Os dois primeiros casos de teste mostram que ambas as métricas
-
Você: Mas estou usando o recurso vmagent do operador VictoriaMetrics, você poderia me dar parte da especificação para meu agente com esta configuração de relabel?
-
Assistente: Você está certo, já que está usando o Operador VictoriaMetrics e o recurso personalizado VMAgent, a configuração precisa estar no formato apropriado para esse CR. Aqui está como você pode adicionar a configuração de relabel à sua especificação VMAgent:
apiVersion: operator.victoriametrics.com/v1beta1 kind: VMAgent metadata: name: seu-nome-vmagente spec: # ... sua configuração existente ... # Adicione esta seção para configurar o relabeling global de métricas inlineRelabelConfig: - action: drop sourceLabels: ["__name__"] regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason # ... resto da sua configuração ...Pontos-chave:
- Na especificação VMAgent, você usa
inlineRelabelConfigpara regras de relabeling inline - O campo é chamado
sourceLabels(nãosource_labelscomo na configuração do Prometheus) - Este é um relabeling global que será aplicado a todas as métricas antes de serem armazenadas
- Na especificação VMAgent, você usa
-
Você: Decidi não remover essas métricas, mas apenas reduzir a taxa de amostragem para elas usando Downsampling. Quais parâmetros de downsampling tenho agora?
-
Assistente: Posso ver que você atualmente tem a seguinte configuração de downsampling:
-downsampling.period="7d:1m,30d:5m,180d:30m"Isso significa:
- Dados mais recentes que 7 dias são mantidos na resolução original
- Dados entre 7-30 dias são reduzidos para resolução de 1 minuto
- Dados entre 30-180 dias são reduzidos para resolução de 5 minutos
- Dados mais antigos que 180 dias são reduzidos para resolução de 30 minutos
Agora, se você quiser adicionar regras específicas de downsampling para essas métricas raramente consultadas, você pode usar a ferramenta de depuração de filtros de downsampling para testar como novas regras funcionariam. Vamos testar uma configuração onde aplicamos um downsampling mais agressivo para essas métricas específicas:
...obtendo séries e usando o depurador de filtros de downsampling...
Ótimo! Agora nosso teste está funcionando corretamente. Com base na configuração atual e em nossos testes, aqui está uma configuração de downsampling sugerida para seu CR VMAgent que aplicaria um downsampling mais agressivo para essas métricas raramente consultadas:
apiVersion: operator.victoriametrics.com/v1beta1 kind: VMCluster metadata: name: monitoring-vm-cluster spec: # ... sua configuração existente ... # Atualize a seção vmstorage com os novos parâmetros de downsampling 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' # ... resto da sua configuração ...Esta configuração:
- Aplica downsampling de resolução de 10 minutos para as métricas raramente consultadas após apenas 1 dia - Mantém sua política de downsampling existente para todas as outras métricas
A ordem das regras de downsampling é importante - regras mais específicas devem ser listadas primeiro.
Durante este diálogo, o assistente estava usando as seguintes ferramentas:
tenantspara obter a lista de tenants disponíveisdocumentationpara obter informações sobre funcionalidades e formatos de dadosmetricspara obter a lista de métricas disponíveismetrics_staisticspara obter informações sobre o uso de métricasseriespara obter as séries temporais para depuraçãometric_relabel_debugpara depurar regras de relabelingflagspara obter informações sobre parâmetros da instânciadownsampling_filters_debugpara depurar a configuração de downsampling
Mas você pode usar quaisquer outras ferramentas e combiná-las da sua própria maneira.
Monitoramento
Nos modos SSE e HTTP, o MCP Server fornece métricas no formato Prometheus (veja endpoints) e você pode encontrar um dashboard grafana simples no repositório para essas métricas.
FAQ
Por que o servidor MCP está usando mais recursos do que eu esperaria de um simples proxy de API?
O servidor contém um banco de dados vetorial embutido com documentação do VictoriaMetrics e postagens de blog para a ferramenta documentation.
Isso ajuda a responder perguntas complexas sobre o VictoriaMetrics sem fornecer todos os dados ao LLM.
Esta é a principal fonte de uso de recursos. Para reduzir isso, adicione documentation à variável de ambiente MCP_DISABLED_TOOLS para desabilitar completamente o carregamento do banco de dados vetorial.
Como usar uma instância do servidor MCP para várias instâncias do VictoriaMetrics?
Você pode usar o parâmetro MCP_PASSTHROUGH_HEADERS no MCP Server junto com roteamento baseado em cabeçalhos no vmauth para rotear chamadas MCP entre instâncias com base nos valores de cabeçalho HTTP da configuração do seu cliente MCP.
Roadmap
- Suporte à ferramenta "Prettify query" (concluído em
v0.0.5) - Suporte à ferramenta "Explain query" (concluído em
v0.0.6) - Suporte ao pipeline de CI para construir e enviar imagens docker multiarquitetura (concluído em
v1.0.0) - Suporte à ferramenta para testes unitários de regras de alerta e gravação (concluído em
v0.0.7) - Suporte à integração opcional com VictoriaMetrics Cloud (via chaves de API) (concluído em
v0.0.9) - Adicionar conhecimento extra ao servidor além da ferramenta de documentação atual:
- Postagens do blog do VictoriaMetrics (concluído em
v1.1.0) - Esquemas CRD
- Postagens do blog do VictoriaMetrics (concluído em
- Implementar versão multitenant do MCP (que suporte várias implantações)
- Adicionar ferramenta de validação de flags/configurações
- Suporte a ferramentas para a API do vmagent
- Suporte à nova API do vmalert
- Habilitar/desabilitar ferramentas via configuração (concluído em
v0.0.8) - Ferramentas para APIs do Alertmanager #6
- Suporte para metadados de métricas no caso de implementação no VictoriaMetrics
- Suporte à autenticação
- Adicionar página de índice estática com descrição e links para documentação
Menções
Aviso Legal
Serviços de IA e agentes, juntamente com servidores MCP como este, não podem garantir a precisão, integridade e confiabilidade dos resultados. Você deve verificar novamente os resultados obtidos com IA.
A qualidade do MCP Server e suas respostas depende muito das capacidades do seu cliente e da qualidade do modelo que você está usando.
Contribuindo
Contribuições para o projeto MCP VictoriaMetrics são bem-vindas!
Sinta-se à vontade para enviar issues, solicitações de recursos ou pull requests.