Перейти к основному содержимому
Версия: 9.0

Создание сборщика данных

Чтобы извлечь какие-либо данные из внешних систем и узлов необходимо создать сборщик данных. В нашем случае мы создадим несколько сборщиков данных, которые будут:

Сборщик данных для получения метрик с ОС Windows (через агент)

Для создания сборщика данных, который будет получать метрики с компьютеров, на которых установлен агент, выполните следующие действия:

  1. Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню

  2. Нажмите кнопку + Создать сборщик

  3. Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик, созданный на первом шаге.

    Изображение

  4. После заполнения формы нажмите Создать

  5. В открывшемся экране настройки сборщика доступно 4 блока конфигурации:

    1. Основная информация - пропускаем

    2. Параметры - пропускаем

    3. Скрипт - заполняем следующим содержимым:

      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

      Изображение

    4. Конфигурация выполнения - настраиваем следующим образом:

      • Выполнение: на всех агентах
      • Метки агентов: агент содержит все метки из списка. Указываем метки, которые назначали на координатор на втором шаге
      • Расписание CRON: устанавливаем 1 раз в минуту
      • Поток данных: если не выбран, выбираем созданный ранее поток на первом шаге

      Таким образом, скрипт будет выполнен одновременно на всех подключенных агентах, которые содержат все перечисленные метки.

      Изображение

  6. Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.

На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.

Сборщик данных для получения метрик с ОС Linux (через агент)

Для создания сборщика данных, который будет получать метрики с компьютеров, на которых установлен агент, выполните следующие действия:

  1. Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню

  2. Нажмите кнопку + Создать сборщик

  3. Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик.

    Изображение

  4. После заполнения формы нажмите Создать

  5. В открывшемся экране настройки сборщика доступно 4 блока конфигурации:

    1. Основная информация - пропускаем

    2. Параметры - пропускаем

    3. Скрипт - заполняем следующим содержимым:

      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

      Изображение

    4. Конфигурация выполнения - настраиваем следующим образом:

      • Выполнение: на всех агентах
      • Метки агентов: агент содержит все метки из списка. Указываем метки, которые назначали на координатор
      • Расписание CRON: устанавливаем 1 раз в минуту
      • Поток данных: если не выбран, выбираем созданный ранее поток

      Таким образом, скрипт будет выполнен одновременно на всех подключенных агентах, которые содержат все перечисленные метки.

      Изображение

  6. Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.

На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.

Сборщик данных для получения метрик с ОС Linux (без агента)

Для создания сборщика данных, который будет получать метрики с компьютеров под управлением ОС Linux в безагентском режиме, выполните следующие действия:

  1. Перейдите в раздел Сбор (ETL) - Сборщики данных через главное меню

  2. Нажмите кнопку + Создать сборщик

  3. Заполните форму создания сборщика данных. Укажите название сборщика и выберите поток данных для хранения метрик.

    Изображение

  4. После заполнения формы нажмите Создать

  5. В открывшемся экране настройки сборщика доступно 4 блока конфигурации:

    1. Основная информация - пропускаем

    2. Параметры
      Для получения метрик удаленно и без агентов используется SSH подключение. Для того, чтобы скрыть информацию о логине и пароле воспользуемся функциями защищенных переменных.

      Изображение

      1. Нажмите + Защищенный параметр, чтобы добавить его добавить.
      2. Задайте название, например username и укажите значение, например monitor
      3. Аналогичным образом добавьте еще один параметр: password
    3. Скрипт - заполняем следующим содержимым:

      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

      Изображение

    4. Конфигурация выполнения - настраиваем следующим образом:

      • Выполнение: система
      • Расписание CRON: устанавливаем 1 раз в минуту
      • Поток данных: если не выбран, выбираем созданный ранее поток

      Таким образом, скрипт будет выполнен системой по заданному расписанию без использования агентов.

      Изображение

  6. Нажимаем кнопку Сохранить изменения и затем кнопку Запустить, чтобы активировать работу сборщика данных.

На данном этапе настройка сборщика данных завершена. Получаемые метрики можно просмотреть на экране метрик.