VictoriaMetrics MCP Server

Accede a las APIs de VictoriaMetrics para monitoreo, observabilidad y depuración.

Documentación

vm-community-icon VictoriaMetrics MCP Server

Latest Release Trust Score License Slack X Reddit

La implementación del servidor Model Context Protocol (MCP) para VictoriaMetrics.

Esto proporciona acceso a tu instancia de VictoriaMetrics e integración perfecta con las APIs de VictoriaMetrics y la documentación. Puede ofrecerte una interfaz integral para tareas de monitoreo, observabilidad y depuración relacionadas con tus instancias de VictoriaMetrics, habilitando capacidades avanzadas de automatización e interacción para ingenieros y herramientas.

Características

Este servidor MCP te permite usar casi todas las APIs de solo lectura de VictoriaMetrics, es decir, todas las funciones disponibles en VMUI:

  • Consultar métricas y explorar datos (incluso dibujar gráficos si tu cliente lo admite)
  • Listar y exportar métricas, etiquetas, valores de etiquetas y series completas disponibles
  • Analizar y probar tus reglas de alerta y grabación, así como alertas
  • Mostrar parámetros de tu instancia de VictoriaMetrics
  • Explorar la cardinalidad de tus datos y las estadísticas de uso de métricas
  • Analizar, rastrear, embellecer y explicar tus consultas
  • Depurar tus reglas de relabeling, configuraciones de downsampling y políticas de retención
  • Integración con VictoriaMetrics Cloud
  • Interfaz con instrucciones de configuración e inspección de herramientas en el endpoint raíz (solo en modo Streamable HTTP)

Además, el servidor MCP contiene documentación actualizada integrada y puede buscarla sin acceso en línea.

image

Más detalles sobre las herramientas y prompts exactos disponibles se pueden encontrar en la sección Uso.

Puedes combinar la funcionalidad de las herramientas, la búsqueda de documentación en tus prompts e inventar excelentes escenarios de uso para tu instancia de VictoriaMetrics. Solo revisa la sección Ejemplo de diálogo para ver cómo puede funcionar. Y ten en cuenta que la calidad del servidor MCP y sus respuestas depende en gran medida de las capacidades de tu cliente y de la calidad del modelo que estés utilizando.

También puedes combinar el servidor MCP con otros servidores MCP relacionados con observabilidad o búsqueda de documentación y obtener resultados aún más potentes.

Probar sin instalación

Hay una instancia disponible públicamente del servidor VictoriaMetrics MCP que puedes usar para probar las funciones sin instalarlo:

https://play-mcp.victoriametrics.com/mcp

¡Atención! Esta URL no está destinada a abrirse en un navegador; está pensada para usarse en clientes MCP.

Está disponible en modo Streamable HTTP y configurada para funcionar con Public VictoriaMetrics Playground.

Aquí tienes un ejemplo de configuración para Claude Desktop:

image

Requisitos

Instalación

Binarios

Simplemente descarga la última versión desde la página de Releases y colócala en tu PATH.

Ejemplo para Linux x86_64 (ten en cuenta que también están disponibles otras arquitecturas y plataformas):

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

Puedes ejecutar el servidor VictoriaMetrics MCP usando Docker.

Esta es la forma más fácil de comenzar sin necesidad de instalar Go o compilar desde el código fuente.

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

Debes reemplazar las variables de entorno con tus propios parámetros.

Ten en cuenta que el flag MCP_SERVER_MODE=http se usa para habilitar el modo Streamable HTTP. Más detalles sobre los modos del servidor se pueden encontrar en la sección Configuración.

Consulta las imágenes de Docker disponibles en el registro de github.

También consulta la sección Usar Docker en lugar de binario para más detalles sobre el uso de Docker con el servidor MCP con clientes en modo stdio.

Código fuente

Para compilar el binario desde el código fuente, puedes usar el siguiente enfoque:

  • Clonar el repositorio:

    git clone https://github.com/VictoriaMetrics/mcp-victoriametrics.git
    cd mcp-victoriametrics
    
  • Compilar el binario desde el código fuente clonado:

    make build
    # after that you can find binary mcp-victoriametrics and copy this file to your PATH or run inplace
    
  • Compilar la imagen desde el código fuente clonado:

    docker build -t mcp-victoriametrics .
    # after that you can use docker image mcp-victoriametrics for running or pushing
    

Helm

Consulta la documentación del chart de Helm del servidor VictoriaMetrics MCP para más detalles sobre la instalación mediante Helm.

Configuración

El servidor MCP para VictoriaMetrics se configura mediante variables de entorno:

VariableDescripciónRequeridaValor predeterminadoValores permitidos
VM_INSTANCE_ENTRYPOINT / VMC_API_KEYURL de la instancia de VictoriaMetrics (debe ser la URL raíz / de vmsingle o vmselect)Sí (si no usas VMC_API_KEY)--
VM_INSTANCE_TYPETipo de instancia de VictoriaMetricsSí (si no usas VMC_API_KEY)-single, cluster
VM_INSTANCE_BEARER_TOKENToken de autenticación para la API de VictoriaMetricsNo--
VM_INSTANCE_HEADERSCabeceras HTTP personalizadas para enviar con las solicitudes (pares clave=valor separados por comas)No--
MCP_PASSTHROUGH_HEADERSNombres de cabeceras HTTP para reenviar desde las solicitudes MCP entrantes a VictoriaMetrics (lista separada por comas). Anula VM_INSTANCE_HEADERS en caso de colisión. Solo se aplica en modos sse/http.No--
VM_DEFAULT_TENANT_IDID de tenant predeterminado para el modo cluster. Formato: accountID o accountID:projectID (enteros de 32 bits). Consulta documentación de cluster de VictoriaMetricsNo0-
VMC_API_KEYClave de API de la consola de VictoriaMetrics CloudNo--
MCP_SERVER_MODEModo de operación del servidor. Consulta Modos para más detalles.Nostdiostdio, sse, http
MCP_LISTEN_ADDRDirección para que el servidor SSE o HTTP escucheNolocalhost:8080-
MCP_DISABLED_TOOLSLista separada por comas de herramientas a deshabilitarNo'export,flags,metric_relabel_debug,downsampling_filters_debug,retention_filters_debug,test_rules'-
MCP_DISABLE_RESOURCESDeshabilitar todos los recursos (la herramienta de documentación seguirá funcionando)Nofalsefalse, true
MCP_HEARTBEAT_INTERVALDefine el intervalo de heartbeat para el protocolo streamable-http.
Significa que el servidor MCP enviará un heartbeat al cliente a través de la conexión GET,
para mantener la conexión viva y evitar que la infraestructura de red (por ejemplo, gateways) la cierre
No30s-
MCP_LOG_FORMATFormato de salida de registrosNotexttext, json
MCP_LOG_LEVELNivel mínimo de registroNoinfodebug, info, warn, error

Puedes usar dos opciones para conectarte a tu instancia de VictoriaMetrics:

  • Uso de las variables de entorno VM_INSTANCE_ENTRYPOINT + VM_INSTANCE_TYPE + VM_INSTANCE_BEARER_TOKEN (opcional) para conectarse a cualquier instancia de VictoriaMetrics de un solo nodo o en clúster.
  • Uso de la variable de entorno VMC_API_KEY para trabajar con sus instancias de VictoriaMetrics Cloud.

Modos

El servidor MCP admite los siguientes modos de operación (transportes):

  • stdio - Modo de entrada/salida estándar, donde el servidor lee comandos de la entrada estándar y escribe respuestas en la salida estándar. Este es el modo predeterminado y es adecuado para servidores locales.
  • sse - Eventos enviados por el servidor (Server-Sent Events). El servidor expondrá los endpoints /sse y /message para conexiones SSE.
  • http - HTTP transmisible (Streamable HTTP). El servidor expondrá el endpoint /mcp para conexiones HTTP.

Puede encontrar más información sobre los transportes en la documentación de MCP:

Ejemplos de configuración

# 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

En los modos SSE y HTTP, el servidor MCP proporciona los siguientes endpoints:

EndpointDescripción
/Página de inicio con ayuda de configuración e inspección de herramientas
/sse + /messageEndpoints para mensajes en modo SSE (para clientes MCP que admiten SSE)
/mcpEndpoint HTTP para mensajes de transmisión en modo HTTP (para clientes MCP que admiten Streamable HTTP)
/metricsMétricas en formato Prometheus para monitorear el servidor MCP
/health/livenessEndpoint de verificación de actividad (liveness) para asegurar que el servidor esté ejecutándose
/health/readinessEndpoint de verificación de preparación (readiness) para asegurar que el servidor esté listo para aceptar solicitudes

Configuración en clientes

Cursor

Vaya a: Settings -> Cursor Settings -> MCP -> Add new global MCP server y pegue la siguiente configuración en su archivo ~/.cursor/mcp.json de 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 la documentación de MCP de Cursor para obtener más información.

Claude Desktop

Agregue esto a su archivo claude_desktop_config.json de Claude Desktop (puede encontrarlo si abre 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 la documentación de MCP de Claude Desktop para obtener más información.

Claude Code

Ejecute el 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 la documentación de MCP de Claude Code para obtener más información.

Codex

La CLI de Codex y la extensión del IDE utilizan el mismo archivo de configuración de MCP: ~/.codex/config.toml (o .codex/config.toml en un proyecto de confianza).

Ejecute el 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

O agregue lo siguiente a su archivo ~/.codex/config.toml de 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>"

Si ejecuta el servidor en modo HTTP transmisible (Streamable HTTP), puede registrarlo con:

codex mcp add victoriametrics --url http://localhost:8080/mcp

Consulte la documentación de MCP de Codex para obtener más información.

Visual Studio Code

Agregue esto a su archivo de configuración de MCP de 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 la documentación de MCP de VS Code para obtener más información.

Zed

Agregue lo siguiente a su archivo de configuración de 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 la documentación de MCP de Zed para obtener más información.

IDE de JetBrains

  • Abra Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP).
  • Haga clic en Add (+)
  • Seleccione As JSON
  • Coloque lo siguiente en el 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

Agregue lo siguiente a su archivo de configuración de MCP de 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 la documentación de MCP de Windsurf para obtener más información.

Usar Docker en lugar del binario

Puede ejecutar el servidor MCP de VictoriaMetrics usando Docker en lugar del binario local.

Debe reemplazar el comando de ejecución en los ejemplos de configuración anteriores de la siguiente manera:

{
  "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

Después de instalar y configurar el servidor MCP, puede comenzar a usarlo con su cliente MCP favorito.

Puede iniciar el diálogo con el asistente de IA con la frase:

Use MCP VictoriaMetrics in the following answers

Pero no es obligatorio; simplemente puede comenzar a hacer preguntas y el asistente utilizará automáticamente las herramientas y la documentación para brindarle las mejores respuestas. Solo eche un vistazo a la sección Ejemplo de diálogo para comprender mejor qué puede hacer con él.

Conjunto de herramientas

MCP VictoriaMetrics proporciona numerosas herramientas para interactuar con su instancia de VictoriaMetrics.

Aquí hay una lista de las herramientas comunes disponibles:

HerramientaDescripciónHabilitada por defecto
queryEjecutar consultas instantáneas de PromQL/MetricsQL✅
query_rangeEjecutar consultas de rango de PromQL/MetricsQL durante un período de tiempo✅
metricsListar métricas disponibles✅
metrics_metadataMetadatos de métricas almacenadas (tipo, ayuda y unidad)✅
labelsListar nombres de etiquetas disponibles✅
label_valuesListar valores para una etiqueta específica✅
seriesListar series temporales disponibles✅
exportExportar datos de series temporales sin procesar a JSON o CSV❌
rulesVer reglas de alerta y grabación✅
alertsVer alertas actuales (activas y pendientes)✅
flagsVer banderas no predeterminadas de la instancia de VictoriaMetrics❌
metric_statisticsObtener estadísticas de uso de métricas (en consultas)✅
active_queriesVer consultas que se están ejecutando actualmente✅
top_queriesVer consultas más frecuentes o más lentas✅
tsdb_statusVer estadísticas de cardinalidad de TSDB✅
tenantsListar inquilinos disponibles en configuración de clúster multi-inquilino✅
documentationBuscar en la documentación integrada de VictoriaMetrics✅
metric_relabel_debugDepurar reglas de reetiquetado compatibles con Prometheus❌
downsampling_filters_debugDepurar configuración de reducción de muestreo (downsampling)❌
retention_filters_debugDepurar configuración de filtros de retención❌
prettify_queryEmbellecer y formatear consultas PromQL/MetricsQL✅
explain_queryAnalizar consultas PromQL/MetricsQL y explicar cómo funcionan✅
test_rulesProbar unitariamente reglas de alerta y grabación usando la herramienta vmalert❌

Aquí hay algunas herramientas adicionales disponibles para usuarios de VictoriaMetrics Cloud (especificando el parámetro VMC_API_KEY):

HerramientaDescripciónHabilitada por defecto
deploymentsListar implementaciones disponibles en VictoriaMetrics Cloud✅
cloud_providersListar proveedores de nube disponibles en VictoriaMetrics Cloud✅
regionsListar regiones de proveedores de nube disponibles en VictoriaMetrics Cloud✅
tiersListar niveles de implementación disponibles en VictoriaMetrics Cloud✅
access_tokensListar tokens de acceso de implementación disponibles en VictoriaMetrics Cloud✅
rule_filenamesListar nombres de archivos de reglas de alerta y grabación disponibles en VictoriaMetrics Cloud✅
rule_fileContenido de un archivo específico de reglas de alerta o grabación en VictoriaMetrics Cloud✅

Prompts

El servidor incluye prompts predefinidos para tareas comunes.

Estos son solo ejemplos por ahora; la biblioteca de prompts se ampliará en el futuro:

PromptDescripción
unused_metricsEncontrar métricas que nunca se consultan y crear configuraciones de reetiquetado para dejar de ingerirlas
documentationBuscar en la documentación de VictoriaMetrics temas específicos
rarely_used_metrics_with_high_cardinalityIdentificar métricas de alta cardinalidad que rara vez se consultan

Ejemplo de diálogo

Este es solo un ejemplo de diálogo con el Asistente usando el Servidor MCP que puede ayudar a comprender cómo puede funcionar (pero es un diálogo real usando el servidor MCP de Victoria Metrics con Claude Desktop y configurado para la instancia de playground pública):

  • Usted: ¿Qué tenants están disponibles en mi VM?

  • Asistente En su instancia de VictoriaMetrics, los siguientes tenants están disponibles 0:0 (tenant predeterminado), 1:0, 10:0, 100:0

  • Usted: De ahora en adelante, use solo el tenant predeterminado

  • Asistente: Entendido. De ahora en adelante, usaré solo el tenant predeterminado (0:0) para todas las operaciones con su instancia de VictoriaMetrics.

  • Usted: ¿Qué métricas tenemos?

  • Asistente: Hay muchas métricas disponibles en su instancia de VictoriaMetrics. La lista incluye métricas de varios sistemas y componentes, tales como:

    • Métricas del sistema (node_, machine_, etc.),
    • Métricas de Kubernetes (kube_, container_, apiserver_, etc.),
    • Métricas específicas de VictoriaMetrics (vm_, vmagent_, vmalert_, etc.),
    • Métricas del runtime de Go (go_),
    • Métricas relacionadas con Prometheus (scrape_, promhttp_),
    • Varias métricas de aplicaciones (argocd_, alertmanager_).

    Esta es una lista completa de más de 2000 métricas disponibles para consultas. ¿Hay algún tipo específico de métrica que le interese explorar más a fondo?

  • Usted: Ok, trabajemos con métricas de Kubernetes de ahora en adelante. Por favor, muéstreme cuáles de estas métricas nunca se han consultado?

  • Asistente: Según los resultados, puedo ver que hay dos métricas de Kubernetes que nunca se han consultado (el recuento de consultas es 0):

    • kube_persistentvolumeclaim_deletion_timestamp - Esta métrica proporciona información sobre cuándo se marcaron los PersistentVolumeClaims para su eliminación.
    • kube_pod_init_container_status_last_terminated_reason - Esta métrica muestra la razón por la cual los contenedores init en los pods fueron terminados por última vez.

    Estas métricas podrían ser valiosas para fines de monitoreo y solución de problemas:

    • La métrica de marca de tiempo de eliminación de PVC podría ayudar a rastrear patrones de eliminación o identificar PVCs atascados.
    • La métrica de razón de terminación de contenedores init podría ayudar a identificar patrones de falla comunes en sus contenedores de inicialización.

    ¿Le gustaría que le explique más sobre qué rastrean estas métricas o que le sugiera algunas consultas útiles para comenzar a monitorearlas?

  • Usted: Sí, por favor. Y también, ¿puede crear reglas de relabeling para dejar de ingerir estas métricas?

  • Asistente: Crearé una configuración de relabeling para excluir estas métricas nunca consultadas de la recopilación. Esto ayudará a reducir la sobrecarga de almacenamiento y procesamiento. Aquí está la configuración de relabeling que puede agregar a su configuración de scrape de VictoriaMetrics:

    relabel_configs:
    - action: drop
      source_labels: [__name__]
      regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason
    

    Esta configuración:

    1. Observará el nombre de cada métrica (la etiqueta __name__)
    2. Comprobará si coincide con alguna de las métricas especificadas
    3. Eliminará las métricas que coincidan, evitando que se recopilen y almacenen

    Puede agregar esto a su archivo de configuración de VictoriaMetrics o a las configuraciones de trabajos de scrape relevantes en su configuración de Prometheus si está usando Prometheus como scraper para VictoriaMetrics. Si desea probar esta configuración de relabeling antes de implementarla, puede usar la herramienta de depuración de relabeling de métricas para ver cómo afectaría a sus métricas.

  • Usted: Sí, por favor depure esta configuración de relabeling en series temporales reales para ver cómo afectaría a mis métricas

  • Asistente: ¡Perfecto! La configuración de relabeling funciona como se esperaba:

    • Los primeros dos casos de prueba muestran que tanto kube_persistentvolumeclaim_deletion_timestamp como kube_pod_init_container_status_last_terminated_reason se eliminan correctamente (las etiquetas resultantes están vacías {}).
    • El tercer caso de prueba confirma que otras métricas como kube_pod_status_phase se conservan y no se ven afectadas por nuestra regla de eliminación.

    Puede agregar con confianza esta configuración de relabeling a su configuración de VictoriaMetrics o Prometheus para dejar de recopilar estas métricas no utilizadas. Esto ahorrará espacio de almacenamiento y reducirá la sobrecarga de procesamiento sin afectar sus capacidades de monitoreo actuales.

  • Usted: Pero estoy usando el recurso vmagent del operador de VictoriaMetrics, ¿podría darme parte de la especificación para mi agente con esta configuración de relabeling?

  • Asistente: Tiene razón, dado que está usando el Operador de VictoriaMetrics y el recurso personalizado VMAgent, la configuración debe estar en el formato apropiado para ese CR. Así es como puede agregar la configuración de relabeling a su especificación de VMAgent:

    apiVersion: operator.victoriametrics.com/v1beta1
    kind: VMAgent
    metadata:
    name: your-vmagent-name
    spec:
      # ... su configuración existente ...
      
      # Agregue esta sección para configurar el relabeling global de métricas
      inlineRelabelConfig:
        - action: drop
          sourceLabels: ["__name__"]
          regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason
      
      # ... resto de su configuración ...
    

    Puntos clave:

    • En la especificación de VMAgent, usa inlineRelabelConfig para reglas de relabeling en línea
    • El campo se llama sourceLabels (no source_labels como en la configuración de Prometheus)
    • Este es un relabeling global que se aplicará a todas las métricas antes de que se almacenen
  • Usted: Decidí no eliminar esas métricas, sino solo reducir la tasa de muestreo para ellas usando Downsampling. ¿Qué parámetros de downsampling tengo ahora?

  • Asistente: Puedo ver que actualmente tiene la siguiente configuración de downsampling:

    -downsampling.period="7d:1m,30d:5m,180d:30m"
    

    Esto significa:

    • Los datos más recientes que 7 días se mantienen a su resolución original
    • Los datos entre 7 y 30 días de antigüedad se reducen a una resolución de 1 minuto
    • Los datos entre 30 y 180 días de antigüedad se reducen a una resolución de 5 minutos
    • Los datos más antiguos que 180 días se reducen a una resolución de 30 minutos

    Ahora, si desea agregar reglas de downsampling específicas para esas métricas raramente consultadas, puede usar la herramienta de depuración de filtros de downsampling para probar cómo funcionarían las nuevas reglas. Probemos una configuración donde aplicamos un downsampling más agresivo a esas métricas específicas:

    ...obteniendo series y usando el depurador de filtros de downsampling...

    ¡Genial! Ahora nuestra prueba está funcionando correctamente. Según la configuración actual y nuestras pruebas, aquí hay una configuración de downsampling sugerida para su CR de VMAgent que aplicaría un downsampling más agresivo a esas métricas raramente consultadas:

    apiVersion: operator.victoriametrics.com/v1beta1
    kind: VMCluster
    metadata:
      name: monitoring-vm-cluster
    spec:
      # ... su configuración existente ...
      
      # Actualice la sección vmstorage con los nuevos 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 de su configuración ...
    

    Esta configuración:

    - Aplica un downsampling de resolución de 10 minutos para las métricas raramente consultadas después de solo 1 día - Mantiene su política de downsampling existente para todas las demás métricas

    El orden de las reglas de downsampling es importante: las reglas más específicas deben enumerarse primero.

Durante este diálogo, el asistente estaba usando las siguientes herramientas:

  • tenants para obtener la lista de tenants disponibles
  • documentation para obtener información sobre funcionalidades y formatos de datos
  • metrics para obtener la lista de métricas disponibles
  • metrics_staistics para obtener información sobre el uso de métricas
  • series para obtener las series temporales para depuración
  • metric_relabel_debug para depurar reglas de relabeling
  • flags para obtener información sobre los parámetros de la instancia
  • downsampling_filters_debug para depurar la configuración de downsampling

Pero puede usar cualquier otra herramienta y combinarlas a su manera.

Monitoreo

En modos SSE y HTTP, el MCP Server proporciona métricas en formato Prometheus (consulte endpoints) y puede encontrar un panel de grafana simple en el repositorio para estas métricas.

Preguntas frecuentes

¿Por qué el servidor MCP usa más recursos de los que esperaría de un simple proxy de API?

El servidor contiene una base de datos vectorial integrada con documentación de VictoriaMetrics y publicaciones de blog para la herramienta documentation. Ayuda a responder preguntas complejas sobre VictoriaMetrics sin proporcionar todos los datos al LLM. Esta es la principal fuente de uso de recursos. Para reducirlo, agregue documentation a la variable de entorno MCP_DISABLED_TOOLS para deshabilitar completamente la carga de la base de datos vectorial.

¿Cómo usar una instancia del servidor MCP para varias instancias de VictoriaMetrics?

Puede usar el parámetro MCP_PASSTHROUGH_HEADERS en el MCP Server junto con enrutamiento basado en encabezados en vmauth para enrutar llamadas MCP entre instancias según los valores de los encabezados HTTP de la configuración de su cliente MCP.

Hoja de ruta

  • Soporte para la herramienta "Prettify query" (hecho en v0.0.5)
  • Soporte para la herramienta "Explain query" (hecho en v0.0.6)
  • Soporte para pipeline de CI para construir y publicar imágenes docker multiarquitectura (hecho en v1.0.0)
  • Soporte para la herramienta de pruebas unitarias de reglas de alerta y grabación (hecho en v0.0.7)
  • Soporte para integración opcional con VictoriaMetrics Cloud (a través de claves API) (hecho en v0.0.9)
  • Agregar conocimiento adicional al servidor además de la herramienta de documentación actual:
  • Implementar versión multitenant de MCP (que admita varias implementaciones)
  • Agregar herramienta de validación de flags/configuraciones
  • Soporte para herramientas de la API de vmagent
  • Soporte para nueva API de vmalert
  • Habilitar/deshabilitar herramientas mediante configuración (hecho en v0.0.8)
  • Herramientas para APIs de Alertmanager #6
  • Soporte para metadatos de métricas en caso de implementación en VictoriaMetrics
  • Soporte de autenticación
  • Agregar página de índice estática con descripción y enlaces a la documentación

Menciones

How to Use an AI Assistant with Your Monitoring System – VictoriaMetrics MCP Server

MCP Server Integration & Much More: What's New in VictoriaMetrics Cloud Q2 2025

Descargo de responsabilidad

Los servicios y agentes de IA junto con servidores MCP como este no pueden garantizar la precisión, integridad y confiabilidad de los resultados. Debe verificar dos veces los resultados obtenidos con IA.

La calidad del MCP Server y sus respuestas depende en gran medida de las capacidades de su cliente y de la calidad del modelo que esté utilizando.

Contribuciones

¡Las contribuciones al proyecto MCP VictoriaMetrics son bienvenidas!

No dude en enviar problemas, solicitudes de funciones o pull requests.