MCP-сервер для VictoriaMetrics: мониторинг с ИИ

Иконка сообщества VictoriaMetrics

Реализация сервера Model Context Protocol (MCP) для VictoriaMetrics.

Сервер предоставляет доступ к вашему инстансу VictoriaMetrics и обеспечивает бесшовную интеграцию с VictoriaMetrics API и документацией. Он даёт полноценный интерфейс для задач мониторинга, наблюдаемости (observability) и отладки, связанных с вашими инстансами VictoriaMetrics, а также открывает возможности расширенной автоматизации и взаимодействия для инженеров и инструментов.

Возможности

MCP-сервер позволяет использовать практически все read-only API VictoriaMetrics — то есть всё, что доступно в VMUI:

  • Выполнение запросов к метрикам и исследование данных (в том числе построение графиков, если клиент это поддерживает)

  • Перечисление и экспорт доступных метрик, меток, значений меток и целых серий

  • Анализ и тестирование правил алертинга и записи, а также самих алертов

  • Просмотр параметров инстанса VictoriaMetrics

  • Исследование кардинальности данных и статистики использования метрик

  • Анализ, трассировка, форматирование и объяснение запросов

  • Отладка правил релейблинга (relabeling), конфигураций даунсэмплинга (downsampling) и политик хранения (retention policy)

  • Интеграция с VictoriaMetrics Cloud

  • Веб-интерфейс с инструкциями по настройке и инспекцией инструментов на корневом эндпоинте (только в режиме Streamable HTTP)

Помимо этого, MCP-сервер содержит встроенную актуальную документацию и умеет выполнять поиск по ней без доступа к интернету.

Интерфейс MCP-сервера VictoriaMetrics

Подробнее о конкретных доступных инструментах и промптах — в разделе Использование.

Возможности инструментов и поиска по документации можно сочетать в своих промптах и выстраивать мощные сценарии работы с VictoriaMetrics. Посмотрите раздел Пример диалога, чтобы лучше понять, как это работает. Обратите внимание: качество ответов MCP-сервера во многом зависит от возможностей клиента и качества используемой модели.

MCP-сервер также можно комбинировать с другими MCP-серверами для наблюдаемости или поиска по документации — это ещё больше расширяет возможности.

Попробовать без установки

Существует публично доступный инстанс VictoriaMetrics MCP Server, на котором можно протестировать функциональность без установки:

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

Внимание! Этот URL не предназначен для открытия в браузере — он рассчитан на использование в MCP-клиентах.

Сервер работает в режиме Streamable HTTP и настроен для работы с публичным плейграундом VictoriaMetrics.

Пример конфигурации для Claude Desktop:

Пример конфигурации Claude Desktop для MCP-сервера

Требования

Установка

Бинарные файлы

Скачайте последний релиз со страницы Releases и поместите бинарный файл в PATH.

Пример для Linux x86_64 (доступны и другие архитектуры и платформы):

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

VictoriaMetrics MCP Server можно запустить через Docker — это самый простой способ начать работу без установки Go и сборки из исходников.

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

Замените переменные окружения своими значениями.

Флаг MCP_SERVER_MODE=http используется для включения режима Streamable HTTP. Подробнее о режимах работы сервера — в разделе Конфигурация.

Доступные Docker-образы можно найти в реестре GitHub.

Также смотрите раздел Использование Docker вместо бинарного файла для получения подробностей об использовании Docker с MCP-сервером в режиме stdio.

Из исходного кода

Для сборки бинарного файла из исходного кода:

  • Клонируйте репозиторий:

    git clone https://github.com/VictoriaMetrics/mcp-victoriametrics.git
    cd mcp-victoriametrics
  • Соберите бинарный файл из клонированного кода:

    make build
    # после этого можно найти бинарный файл mcp-victoriametrics и скопировать его в PATH или запустить на месте
  • Соберите образ из клонированного кода:

    docker build -t mcp-victoriametrics .
    # после этого образ mcp-victoriametrics можно использовать для запуска или отправки в реестр

Helm

Подробнее об установке через Helm смотрите в документации Helm-чарта VictoriaMetrics MCP Server.

Конфигурация

MCP-сервер для VictoriaMetrics настраивается через переменные окружения:

Переменная Описание Обязательная Значение по умолчанию Допустимые значения

VM_INSTANCE_ENTRYPOINT / VMC_API_KEY

URL инстанса VictoriaMetrics (корневой URL / для vmsingle или vmselect)

Да (если не используется 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

Имена HTTP-заголовков, которые нужно проксировать из входящих MCP-запросов в VictoriaMetrics (список через запятую). При коллизии переопределяет VM_INSTANCE_HEADERS. Применяется только в режимах sse/http.

Нет

VM_DEFAULT_TENANT_ID

ID тенанта по умолчанию для кластерного режима. Формат: accountID или accountID:projectID (32-битные целые числа). См. документацию по мультитенантности VictoriaMetrics

Нет

0

VMC_API_KEY

API-ключ из консоли VictoriaMetrics Cloud

Нет

MCP_SERVER_MODE

Режим работы сервера. Подробнее — в разделе Режимы.

Нет

stdio

stdio, sse, http

MCP_LISTEN_ADDR

Адрес для прослушивания в режиме SSE или HTTP

Нет

localhost:8080

MCP_DISABLED_TOOLS

Список инструментов для отключения (через запятую)

Нет

export,flags,metric_relabel_debug,downsampling_filters_debug,retention_filters_debug,test_rules

MCP_DISABLE_RESOURCES

Отключить все ресурсы (инструмент документации продолжит работать)

Нет

false

false, true

MCP_HEARTBEAT_INTERVAL

Интервал heartbeat для протокола streamable-http. Сервер будет отправлять клиенту heartbeat через 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 (опционально) для подключения к любому single-node или кластерному инстансу VictoriaMetrics.

  • Использовать переменную VMC_API_KEY для работы с инстансами VictoriaMetrics Cloud.

Режимы

MCP-сервер поддерживает следующие режимы работы (транспорты):

  • stdio — режим стандартного ввода/вывода: сервер читает команды из stdin и пишет ответы в stdout. Это режим по умолчанию, подходящий для локальных серверов.

  • sse — Server-Sent Events. Сервер предоставляет эндпоинты /sse и /message для SSE-соединений.

  • http — Streamable HTTP. Сервер предоставляет эндпоинт /mcp для HTTP-соединений.

Подробнее о транспортах — в документации MCP:

Примеры конфигурации

# Для single-node инстанса
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"

# Для кластера
export VM_INSTANCE_ENTRYPOINT="https://play.victoriametrics.com"
export VM_INSTANCE_TYPE="cluster"
export MCP_DISABLED_TOOLS="export,metric_statistics,test_rules" # отключить экспорт, статистику и unit-тесты правил

# Для VictoriaMetrics Cloud
export VMC_API_KEY="<you-api-key>"

# Режим сервера
export MCP_SERVER_MODE="sse"
export MCP_LISTEN_ADDR="0.0.0.0:8080"

# Пользовательские заголовки для аутентификации (например, за обратным прокси)
# Синтаксис: key=value через запятую
export VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"

Эндпоинты

В режимах SSE и HTTP MCP-сервер предоставляет следующие эндпоинты:

Эндпоинт Описание

/

Стартовая страница с инструкциями по настройке и инспекцией инструментов

/sse + /message

Эндпоинты для сообщений в режиме SSE (для MCP-клиентов с поддержкой SSE)

/mcp

HTTP-эндпоинт для потоковых сообщений в режиме HTTP (для MCP-клиентов с поддержкой Streamable HTTP)

/metrics

Метрики в формате Prometheus для мониторинга MCP-сервера

/health/liveness

Проверка работоспособности (liveness check) — убеждается, что сервер запущен

/health/readiness

Проверка готовности (readiness check) — убеждается, что сервер готов принимать запросы

Настройка в клиентах

Cursor

Перейдите в SettingsCursor SettingsMCPAdd new global MCP server и вставьте следующую конфигурацию в файл ~/.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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

Подробнее — в документации Cursor MCP.

Claude Desktop

Добавьте следующее в файл конфигурации Claude Desktop claude_desktop_config.json (его можно найти через SettingsDeveloperEdit 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>"
      }
    }
  }
}

Подробнее — в документации Claude Desktop MCP.

Claude Code

Выполните команду:

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

Подробнее — в документации Claude Code MCP.

Codex

Codex CLI и расширение для IDE используют один файл конфигурации MCP: ~/.codex/config.toml (или .codex/config.toml в доверенном проекте).

Выполните команду:

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

Или добавьте следующее в файл ~/.codex/config.toml:

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

Если сервер запускается в режиме Streamable HTTP, его можно зарегистрировать командой:

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

Подробнее — в документации Codex MCP.

Visual Studio Code

Добавьте следующее в файл конфигурации MCP для 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>"
      }
    }
  }
}

Подробнее — в документации VS Code MCP.

Zed

Добавьте следующее в файл конфигурации 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": {}
    }
  }

Подробнее — в документации Zed MCP.

JetBrains IDEs

  • Откройте SettingsToolsAI AssistantModel 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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

Windsurf

Добавьте следующее в файл конфигурации MCP для 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>"
      }
    }
  }
}

Подробнее — в документации Windsurf MCP.

Использование Docker вместо бинарного файла

VictoriaMetrics MCP Server можно запускать через Docker вместо локального бинарного файла. В этом случае замените команду запуска в приведённых выше примерах конфигурации следующим образом:

{
  "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-клиентом.

Диалог с ИИ-ассистентом можно начать с фразы:

Use MCP VictoriaMetrics in the following answers

Впрочем, это необязательно — можно просто задавать вопросы, и ассистент автоматически воспользуется инструментами и документацией, чтобы дать наилучшие ответы. Загляните в раздел Пример диалога, чтобы лучше понять, что это даёт на практике.

Набор инструментов

MCP VictoriaMetrics предоставляет множество инструментов для работы с вашим инстансом VictoriaMetrics.

Список основных доступных инструментов:

Инструмент Описание Включён по умолчанию

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

Unit-тестирование правил алертинга и записи с помощью vmalert

Дополнительные инструменты доступны пользователям VictoriaMetrics Cloud (при указании параметра 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-сервер, демонстрирующий возможности на практике (это реальный диалог с VictoriaMetrics MCP Server в Claude Desktop, настроенном на публичный плейграунд):

  • > Вы: Какие тенанты доступны в моей VM?

  • > Ассистент: В вашем инстансе VictoriaMetrics доступны следующие тенанты: 0:0 (тенант по умолчанию), 1:0, 10:0, 100:0.

  • > Вы: Отныне используй только тенант по умолчанию.

  • > Ассистент: Понял. Теперь буду использовать только тенант по умолчанию (0:0) для всех операций с вашим инстансом VictoriaMetrics.

  • > Вы: Какие метрики у нас есть?

  • > Ассистент: В вашем инстансе VictoriaMetrics доступно множество метрик. Они охватывают различные системы и компоненты:

    • Системные метрики (node, machine_ и т.д.),_

    • Метрики Kubernetes (kube, container_, apiserver_ и т.д.),_

    • Специфичные для VictoriaMetrics метрики (vm, vmagent_, vmalert_ и т.д.),_

    • Метрики среды выполнения Go (go),_

    • Метрики Prometheus (scrape, promhttp_),_

    • Метрики различных приложений (argocd, alertmanager_)._

      Всего для запросов доступно более 2000 метрик. Хотите подробнее рассмотреть какой-то конкретный тип?

  • > Вы: Хорошо, давай работаем с метриками Kubernetes. Покажи, какие из них никогда не запрашивались.

  • > Ассистент: По результатам анализа выявлены две метрики Kubernetes, которые ни разу не запрашивались (счётчик запросов равен 0):

    • `kube_persistentvolumeclaim_deletion_timestamp` — время, когда PersistentVolumeClaim был помечен на удаление.

    • `kube_pod_init_container_status_last_terminated_reason` — причина последнего завершения init-контейнера в поде.

      Эти метрики могут быть полезны для мониторинга и диагностики:

    • Метрика временной метки удаления PVC поможет отслеживать паттерны удаления или выявлять зависшие PVC.

    • Метрика причины завершения init-контейнера поможет обнаруживать типовые сбои при инициализации.

      Рассказать подробнее о том, что отслеживают эти метрики, или предложить полезные запросы для начала мониторинга?

  • > Вы: Да, пожалуйста. И можешь создать правила релейблинга, чтобы прекратить приём этих метрик?

  • > Ассистент: Создам конфигурацию релейблинга для исключения этих никогда не запрашиваемых метрик. Это сократит нагрузку на хранилище и обработку. Вот конфигурация для добавления в настройку сбора VictoriaMetrics:

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

    Эта конфигурация:

    1. Смотрит на имя каждой метрики (метка name)

    2. Проверяет, соответствует ли оно одной из указанных метрик

    3. Удаляет совпадающие метрики, предотвращая их сбор и хранение

      Добавьте это в файл конфигурации VictoriaMetrics или в настройки соответствующих задач сбора в конфигурации Prometheus, если вы используете Prometheus как скрапер для VictoriaMetrics. Если хотите протестировать конфигурацию релейблинга перед применением — можно воспользоваться инструментом отладки релейблинга метрик.

  • > Вы: Да, пожалуйста, отладь этот конфиг релейблинга на реальных временных рядах, чтобы посмотреть, как он повлияет на метрики.

  • > Ассистент: Конфиг релейблинга работает как ожидается:

    • Первые два тест-кейса показывают, что метрики kube_persistentvolumeclaim_deletion_timestamp и kube_pod_init_container_status_last_terminated_reason корректно удаляются (результирующие метки пусты: {}).

    • Третий тест-кейс подтверждает, что другие метрики — например, kube_pod_status_phase — сохраняются и не затрагиваются нашим правилом drop.

      Можно смело добавлять эту конфигурацию релейблинга в VictoriaMetrics или Prometheus — сбор неиспользуемых метрик прекратится, а текущие возможности мониторинга не пострадают.

  • > Вы: Но я использую ресурс vmagent оператора VictoriaMetrics. Можешь дать мне фрагмент спецификации для моего агента с этой конфигурацией релейблинга?

  • > Ассистент: Раз вы используете VictoriaMetrics Operator и кастомный ресурс VMAgent, конфигурацию нужно оформить в формате этого CR. Вот как добавить релейблинг в спецификацию VMAgent:

    apiVersion: operator.victoriametrics.com/v1beta1
    kind: VMAgent
    metadata:
    name: your-vmagent-name
    spec:
      # ... ваша существующая конфигурация ...
    
      # Добавьте этот раздел для глобального релейблинга метрик
      inlineRelabelConfig:
        - action: drop
          sourceLabels: ["__name__"]
          regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason
    
      # ... остальная конфигурация ...

    Ключевые моменты:

    • В спецификации VMAgent используется inlineRelabelConfig для встроенных правил релейблинга

    • Поле называется sourceLabels (не source_labels, как в конфигурации Prometheus)

    • Это глобальный релейблинг, применяемый ко всем метрикам перед сохранением

  • > Вы: Я решил не удалять эти метрики, а просто снизить частоту дискретизации с помощью даунсэмплинга. Какие параметры даунсэмплинга у меня настроены сейчас?

  • > Ассистент: Текущая конфигурация даунсэмплинга такова:

    -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:
        # ... ваша существующая конфигурация ...
      
        # Обновите секцию vmstorage новыми параметрами даунсэмплинга
        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'
      
        # ... остальная конфигурация ...

      Эта конфигурация:

    • Применяет даунсэмплинг до разрешения 10 минут для редко запрашиваемых метрик уже через 1 день

    • Сохраняет существующую политику даунсэмплинга для всех остальных метрик

      Порядок правил даунсэмплинга важен — более специфичные правила должны идти первыми.

В ходе этого диалога ассистент использовал следующие инструменты:

  • tenants — для получения списка доступных тенантов

  • documentation — для информации о функциональности и форматах данных

  • metrics — для получения списка доступных метрик

  • metrics_statistics — для информации об использовании метрик

  • series — для получения временных рядов при отладке

  • metric_relabel_debug — для отладки правил релейблинга

  • flags — для информации о параметрах инстанса

  • downsampling_filters_debug — для отладки конфигурации даунсэмплинга

Однако вы можете использовать любые другие инструменты и комбинировать их по-своему.

Мониторинг

В режимах SSE и HTTP MCP-сервер предоставляет метрики в формате Prometheus (см. раздел Эндпоинты). В репозитории также доступен простой дашборд Grafana для этих метрик.

FAQ

Почему MCP-сервер потребляет больше ресурсов, чем можно ожидать от простого прокси к API?

Сервер содержит встроенную векторную базу данных с документацией VictoriaMetrics и публикациями блога — она используется инструментом documentation. Это позволяет отвечать на сложные вопросы о VictoriaMetrics, не передавая все данные в LLM. Именно векторная БД является основным потребителем ресурсов. Чтобы сократить нагрузку, добавьте documentation в переменную окружения MCP_DISABLED_TOOLS — это полностью отключит загрузку векторной базы данных.

Как использовать один инстанс MCP-сервера для нескольких инстансов VictoriaMetrics?

Используйте параметр MCP_PASSTHROUGH_HEADERS в MCP-сервере совместно с маршрутизацией по заголовкам в vmauth — это позволит направлять MCP-запросы между инстансами на основе значений HTTP-заголовков из конфигурации вашего MCP-клиента.

Дорожная карта

  • ✓ Поддержка инструмента "Prettify query" (реализовано в v0.0.5)

  • ✓ Поддержка инструмента "Explain query" (реализовано в v0.0.6)

  • ✓ Поддержка CI-пайплайна для сборки и публикации мультиархитектурных Docker-образов (реализовано в v1.0.0)

  • ✓ Инструмент для unit-тестирования правил алертинга и записи (реализовано в v0.0.7)

  • ✓ Опциональная интеграция с VictoriaMetrics Cloud (через API-ключи) (реализовано в v0.0.9)

  • ❏ Добавление дополнительных знаний в сервер помимо текущего инструмента документации:

  • ❏ Реализация мультитенантной версии MCP (с поддержкой нескольких деплойментов)

  • ❏ Добавление инструмента валидации флагов/конфигураций

  • ❏ Поддержка инструмента

© 2026 meganuke