Создание сборщика данных
Чтобы извлечь какие-либо данные из внешних систем и узлов необходимо создать сборщик данных. В нашем случае мы создадим несколько сборщиков данных, которые будут:
- Получать метрики с компьютера с ОС Windows (через установленный агент)
- Получать метрики с компьютера с ОС Linux (через установленный агент)
- Получать метрики с компьютера с ОС Linux (без использования агентов)
Сборщик данных для получения метрик с ОС Windows (через агент)
Для создания сборщика данных, который будет получать метрики с компьютеров, на которых установлен агент, выполните следующие действия:
-
Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню
-
Нажмите кнопку + Создать сборщик
-
Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик, созданный на первом шаге.
-
После заполнения формы нажмите Создать
-
В открывшемся экране настройки сборщика доступно 4 блока конфигурации:
-
Основная информация - пропускаем
-
Параметры - пропускаем
-
Скрипт - заполняем следующим содержимым:
name: Получение метрик с ОС Windows
jobs:
- name: Получение метрик
steps:
# указываем плагин winInfoLocal - который необходим для получения метрик локально
- plugin: winInfoLocal
with:
# таймаут получения метрик
scrapeTimeout: 30s
# дополнительные метки, которые будут добавлены к метрикам
labels:
agentName: $.agentName # название агента
hostname: $.hostname # название машины
ip: $.hostAddress # IP-адрес машины
scrapeConfig:
scrapeCpu:
enabled: true # включен сбор метрик CPU
scrapeMemory:
enabled: true # включен сбор метрик памяти
scrapeLogicalDisk:
enabled: true # включен сбор метрик логических дисков
scrapeNetwork:
enabled: true # включен сбор метрик сети
scrapeDisk:
enabled: true # включен сбор метрик дисков
scrapeOsInfo:
enabled: true # включен сбор метрик об ОС
scrapeServices:
enabled: false # выключен сбор метрик системных служб
# сохраняем в переменной outputs.result результат работы плагина из служебной переменной $._outputs.metrics
outputs:
result: $._outputs.metrics
artifacts:
# отправляем результаты из переменной $.outputs.result в monq
- data: $.outputs.result
send-to: monq
type: metricsПриведенный выше пример Yaml-скрипта носит ознакомительный характер и извлекает с ОС Windows основные метрики производительности. Подробную информацию о всех доступных параметрам можно найти в описании используемого плагина - winInfoLocal
-
Конфигурация выполнения - настраиваем следующим образом:
- Выполнение: на всех агентах
- Метки агентов: агент содержит все метки из списка. Указываем метки, которые назначали на координатор на втором шаге
- Расписание CRON: устанавливаем 1 раз в минуту
- Поток данных: если не выбран, выбираем созданный ранее поток на первом шаге
Таким образом, скрипт будет выполнен одновременно на всех подключенных агентах, которые содержат все перечисленные метки.
-
-
Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.
На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.
Сборщик данных для получения метрик с ОС Linux (через агент)
Для создания сборщика данных, который будет получать метрики с компьютеров, на которых установлен агент, выполните следующие действия:
-
Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню
-
Нажмите кнопку + Создать сборщик
-
Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик.
-
После заполнения формы нажмите Создать
-
В открывшемся экране настройки сборщика доступно 4 блока конфигурации:
-
Основная информация - пропускаем
-
Параметры - пропускаем
-
Скрипт - заполняем следующим содержимым:
name: Получение метрик с ОС Linux
jobs:
- name: Получение метрик
steps:
# указываем плагин nodeInfoLocal - который необходим для получения метрик локально
- plugin: nodeInfoLocal
with:
# таймаут получения метрик
scrapeTimeout: 30s
# дополнительные метки, которые будут добавлены к метрикам
labels:
agentName: $.agentName # название агента
hostname: $.hostname # название машины
ip: $.hostAddress # IP-адрес машины
scrapeConfig:
scrapeCpu:
enabled: true # включен сбор метрик CPU
scrapeMemory:
enabled: true # включен сбор метрик памяти
scrapeFileSystem:
enabled: true # включен сбор метрик файловой системы
scrapeNetwork:
enabled: true # включен сбор метрик сети
scrapeDisk:
enabled: true # включен сбор метрик дисков
scrapeOsInfo:
enabled: true # включен сбор метрик об ОС
scrapeServices:
enabled: false # выключен сбор метрик служб systemd
# сохраняем в переменной outputs.result результат работы плагина из служебной переменной $._outputs.metrics
outputs:
result: $._outputs.metrics
artifacts:
# отправляем результаты из переменной $.outputs.result в monq
- data: $.outputs.result
send-to: monq
type: metricsПриведенный выше пример Yaml-скрипта носит ознакомительный характер и извлекает с ОС Linux основные метрики производительности. Подробную информацию о всех доступных параметрам можно найти в описании используемого плагина - nodeInfoLocal
-
Конфигурация выполнения - настраиваем следующим образом:
- Выполнение: на всех агентах
- Метки агентов: агент содержит все метки из списка. Указываем метки, которые назначали на координатор
- Расписание CRON: устанавливаем 1 раз в минуту
- Поток данных: если не выбран, выбираем созданный ранее поток
Таким образом, скрипт будет выполнен одновременно на всех подключенных агентах, которые содержат все перечисленные метки.
-
-
Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.
На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.
Сборщик данных для получения метрик с ОС Linux (без агента)
Для создания сборщика данных, который будет получать метрики с компьютеров под управлением ОС Linux в безагентском режиме, выполните следующие действия:
-
Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню
-
Нажмите кнопку + Создать сборщик
-
Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик.
-
После заполнения формы нажмите Создать
-
В открывшемся экране настройки сборщика доступно 4 блока конфигурации:
-
Основная информация - пропускаем
-
Параметры
Для получения метрик удаленно и без агентов используется SSH подключение. Для того, чтобы скрыть информацию о логине и пароле воспользуемся функциями защищенных переменных.- Нажмите + Защищенный параметр, чтобы добавить его добавить.
- Задайте название, например
username
и укажите значение, напримерmonitor
- Аналогичным образом добавьте еще один параметр:
password
-
Скрипт - заполняем следующим содержимым:
name: Получение метрик с ОС Linux (удаленно)
jobs:
- name: Получение метрик
steps:
# указываем плагин nodeInfoRemote - который необходим для получения метрик локально
- plugin: nodeInfoRemote
with:
# таймаут получения метрик
scrapeTimeout: 30s
# настройки подключения SSH
sshConfig:
host: 10.10.10.10 # IP-адрес компьютера под управлением ОС Linux
username: $.vars.username # используем значение из защищенной переменной username
password: $.vars.password # используем значение из защищенной переменной password
# дополнительные метки, которые будут добавлены к метрикам
labels:
source: remote
scrapeConfig:
scrapeCpu:
enabled: true # включен сбор метрик CPU
scrapeMemory:
enabled: true # включен сбор метрик памяти
scrapeFileSystem:
enabled: true # включен сбор метрик файловой системы
scrapeNetwork:
enabled: true # включен сбор метрик сети
scrapeDisk:
enabled: true # включен сбор метрик дисков
scrapeOsInfo:
enabled: true # включен сбор метрик об ОС
scrapeServices:
enabled: false # выключен сбор метрик служб systemd
# сохраняем в переменной outputs.result результат работы плагина из служебной переменной $._outputs.metrics
outputs:
result: $._outputs.metrics
artifacts:
# отправляем результаты из переменной $.outputs.result в monq
- data: $.outputs.result
send-to: monq
type: metricsПриведенный выше пример Yaml-скрипта носит ознакомительный характер и извлекает с ОС Linux основные метрики производительности. Подробную информацию о всех доступных параметрам можно найти в описании используемого плагина - nodeInfoRemote
-
Конфигурация выполнения - настраиваем следующим образом:
- Выполнение: система
- Расписание CRON: устанавливаем 1 раз в минуту
- Поток данных: если не выбран, выбираем созданный ранее поток
Таким образом, скрипт будет выполнен системой по заданному расписанию без использования агентов.
-
-
Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.
На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.