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

Настройка сбора данных провайдера "АО Перспективный Мониторинг"

Установка скрипта сбора данных

На ВМ, где установлен Logstash выполните создание директории хранения скриптов и связанной с ним информации:

mkdir /app/TI/AMTIP/amtip_script/
mkdir /app/TI/AMTIP/AM_report/

Скопируйте файл скрипта amtipfeed.py в директорию /app/TI/AMTIP/amtip_script/. Создайте файл .env со следующим содержимым:

API_KEY = Ключ API
API_URL = Эндпоинт сбора данных.
Информация

Ключ API можно получить в личном кабинете. Ключ становится доступным после приобретения лицензии.


Настройка Crontab

С помощью настроек crontab добавить команду запуска скрипта сбора данных. Для запуска скрипта используется интерпретатор python, входящий в состав инсталлятора Smart Monitor. По умолчанию находится в директории /app/logstash/utils/python/bin/python3. В аргументах запуска скрипта используются флаги:

  • -c (--config) - путь до файла конфигурации с настройками подключения по API
  • -o (--output) - путь до файлов собранных данных в результате работы скрипта
  • -sd (--start-date) - необязательный параметр указывающий дату начала выгрузки в формате YYYY-mm-ddT00:00:00Z. По умолчанию значением является вчерашний день
  • -ed (--date-end) - необязательный параметр указывающий дату конца выгрузки в формате YYYY-mm-ddT00:00:00Z. По умолчанию значением является текущее время

Перед запуском скрипта необходимо установить все зависимости для работы скрипта из файла requirements.txt.

Пример команды
/app/logstash/utils/python/bin/pip3 install -r /app/TI/AMTIP/amtip_script/requirements.txt
Пример команды запуска скрипта через crontab
0 3 * * * /app/logstash/utils/python/bin/python3 /app/TI/AMTIP/amtip_script/amtipfeed.py --config /app/TI/AMTIP/amtip_script/.env -o /app/TI/AMTIP/AM_report/

Настройка Logstash

Для корректной подготовки Logstash к сбору информации необходимо создать конфигурации в папке /app/logstash/config/conf.d/. В папке logstash находятся необходимые файлы для создания готовой конфигурации.

В папке input находится файл для описания метода сбора данных. Используется плагин file для чтения данных из файла. Убедитесь, что Logstash имеет достаточно прав для чтения файлов из указанной папки.

Пример файла
input {
file {
path => "/app/TI/AMTIP/AM_report/*.json"
exclude => "*-*-*.json"
start_position => "beginning"
sincedb_path => "/app/logstash/config/conf.d/last_run/.amtip"
codec => "json"
}
}

В папке filter находится обработчик полученных событий.

В папке output описан процесс отправки обработанных данных в Smart Monitor. Необходимо по ключу hosts заменить адрес на адреса hot data и warm data узлов указав их через запятую.

Пример
hosts => ["https://<HOT_NODE_IP>:9200", "https://<WARM_NODE_IP>:9200"]

Все 3 файла необходимо объединить в один в следующей последовательности: input, filter, output.

После создания конфига необходимо указать pipeline для его запуска. Для этого в директории /app/logstash/config/pipelines.yml в самый конец файла добавьте строки из файла logstash/pipelines/pipelines.yml.

- pipeline.id: amtip
path.config: "/app/logstash/config/conf.d/amtip.conf"