Агент сбора метрик
Для сбора, фильтрации, агрегации и пересылки метрик в системы хранения (TSDB базы данных временных рядов) Памир использует агент сбора метрик. Он является связующим звеном между источниками данных (экспортерами) и хранилищем.
Ключевые функции:
-
Универсальный сбор данных
- Pull-модель: опрашивает цели (targets), указанные в конфигурации заданий (Jobs), используя протоколы Prometheus.
- Push-модель: принимает данные по протоколам InfluxDB, Graphite, OpenTSDB, DataDog и Prometheus remote_write.
-
Умная обработка
- Relabeling: позволяет на лету изменять, добавлять или удалять теги у метрик (labels) до того, как данные будут отправлены в базу.
- Фильтрация: можно отбрасывать ненужные метрики еще до того, как они попадут в хранилище, экономя место.
- Stream Aggregation: умеет агрегировать данные «в потоке» (например, считать среднее или сумму за 1 минуту) и отправлять в базу уже готовый результат.
-
Надежность и буферизация
- Если основная база данных временно недоступна, vmagent сохраняет метрики в локальный буфер на диске. Как только связь восстановится, он дошлет всё накопленное. Это критически важно для нестабильных сетей.
Конфигурация агента сбора метрик
Конфигурирование агента выполняется на странице Главная/Настройки/Мониторинг/Агенты сбора метрик.
- Отображение - отображение агента
- Системное имя - уникальное название агента (только латиница)
- URI для получения конфигурации - ссылка на конфиг (доступна для копирования или открытия в новой вкладке)
- Включить пересборку конфигурации - при включении разрешает добавлять задания, конфиг которых занесется в общий конфиг агента. Поле существует только у сохраненного агента.
- Задания - список заданий для текущего агента. Если включена пересборка, конфигурация заданий добавляется в общий конфиг агента после нажатия кнопки «Сохранить».
- Теги - список визуальных тегов, с возможностью создавать новые.
- Конфигурация - конфигурация агента (в формате YAML).

Пример собранной конфигурации агента:
global:
scrape_timeout: 10s
scrape_interval: 46s
scrape_configs:
- params:
module:
- http_2xx
job_name: http
metrics_path: /probe
http_sd_configs:
- url: http://monitoring:8004/v4/vmagent/vmagent/http/targets
relabel_configs:
- target_label: __param_target
source_labels:
- __address__
- target_label: instance
source_labels:
- __name
- replacement: blackbox-exporter:9115
target_label: __address__
- job_name: icmp
...
Импорт и Экспорт агентов сбора метрик
Система позволяет выгружать конфигурации настроенных агентов в виде JSON-файла, а также загружать их из файла на других стендах. Управление импортом и экспортом осуществляется через выпадающее меню рядом с кнопкой «Добавить» в списке агентов.
⚠️ Важное замечание о связи Агентов и Заданий (Jobs) В системе реестр агентов сбора метрик и реестр заданий существуют независимо друг от друга. При добавлении задания в агент, между ними создается лишь логическая связь.
При экспорте агента экспортируется только список имен связанных с ним заданий, но НЕ сама конфигурация этих заданий.
- Если вам нужно перенести сами настройки заданий, их необходимо экспортировать отдельно из раздела «Задания».
- Если вам нужно экспортировать Агент вместе с полными конфигурациями привязанных к нему заданий единым пакетом, используйте функционал Шаблонов мониторинга.
Экспорт агентов
- Откройте выпадающее меню рядом с кнопкой «Добавить» и активируйте переключатель «Выбор».
- В списке слева отметьте галочками агенты, которые необходимо выгрузить.
- Снова откройте меню и нажмите «Экспорт». Будет скачан JSON-файл.
Импорт агентов
- В выпадающем меню выберите «Импорт».
- В открывшемся окне прикрепите ранее выгруженный JSON-файл и нажмите «Анализировать».
- Система проверит файл на наличие конфликтов с существующими агентами (совпадение имен). При обнаружении конфликта вам потребуется выбрать действие:
- Пропустить действие (оставить текущий агент без изменений)
- Заменить существующий (перезаписать настройки из файла)
- Переименовать (загрузить агент из файла под новым именем)
- После разрешения конфликтов нажмите «Импорт» для завершения загрузки.
Структура файла конфигурации (JSON)
При экспорте агента формируется JSON-файл следующей структуры, описывающий основные параметры сущности:
{
"vmagents": [
{
"name": "vmagent", // Системное имя агента
"label": "vmagent", // Имя для отображения в интерфейсе
"tags": [ // Массив назначенных тегов
"VM-AGENT"
],
"config": "global:\n scrape_interval: 46s\n...", // Исходный YAML-код конфигурации агента (переносы строк экранированы как \n)
"enabled": true, // Статус активности агента (true/false)
"jobs": [ // Массив имен привязанных заданий. Сами настройки заданий здесь не хранятся!
"tcp",
"http",
"postgres_exporter",
"node_exporter"
]
}
]
}
Связанные разделы
- Пакет конфигураций (Настройки → Система)