Usm iferr
Описание
Модуль предназначен для оперативного сбора информации об ошибках на интерфейсах телекоммуникационного оборудования.
При каждом запуске модуль получает от Userside 50 (по умолчанию) узлов, которые необходимо опросить, выполняет опрос и возвращает результат в Userside. Если все узлы в итерации доступны и содержат верные настройки, то одна итерация занимает около 2..3 секунд. Опрос производится в асинхронном режиме (сначала формируются 50 SNMP-запросов и одновременно отправляются в сеть, затем модуль ожидает ответы и обрабатывает их, либо определяет ошибки).
Можно запускать параллельно несколько копий модуля, чтобы ускорить процесс. Также можно увеличивать количество узлов в одной асинхронной итерации (по умолчанию 50) до тех пор, пока сетевая подсистема справляется. Мы всё же рекомендуем использовать значение 50 для параметра number_of_nodes, определяющего количество узлов в итерации.
Модуль находится в стадии альфа-тестирования!
Требования
- Python 3.4
- USERSIDE 3.13.46
Установка
Установите Python и менеджер пакетов pip
sudo apt install -y python3 python3-dev python3-pip
Скачайте архив, извлеките из него каталог с файлами модуля (это следует делать также и при обновлении). Перейдите в этот каталог и установите зависимости, введя следующую команду:
sudo pip3 install --upgrade -r requirements.txt
Затем, если это первоначальная установка, скопируйте файл settings.ini-example с именем settings.ini
sudo cp settings.ini-example settings.ini
Отредактируйте этот файл:
Укажите верные значения для секции api - URL вашего USERSIDE и API-ключ. Там же указывается значение параметра number_of_nodes (по умолчанию = 50) - это количество узлов, которое обработает модуль за один запуск.
Запуск
Выполните ручной запуск модуля
python3 usm_iferr.py
В консоль отобразится журнал работы модуля. Убедитесь, что модуль работает корректно (ошибок нет, все узлы, которые должны быть доступны, были опрошены модулем без ошибок, информация отправлена в userside без ошибок), после чего снова отредактируйте файл settings.ini, указав в секции [log] для параметра to_console значение no, а для параметра level значение 2. Также может понадобится указать путь для формирования файла логов в параметре path. Если в работе модуля возникли ошибки - постарайтесь устранить их или обратиться в нашу службу поддержки за помощью.
Автоматический запуск
После того, как проверка ручного запуска модуля завершена и в конфиг внесены все необходимые изменения, добавьте задание в системный cron для автоматического запуска модуля. Периодичность запуска зависит от общего количества узлов в вашей сети и от значения параметра number_of_nodes в конфиге модуля. Старайтесь подобрать периодичность таким образом, чтобы все узлы вашей сети были опрошены за приблизительно 15 минут, если вам важна оперативность получения информации об ошибках на интерфейсах.
Запись в cron выглядит привычным образом:
*/5 * * * * root python3 /path/to/module/usm_iferr.py > /dev/null
Дождитесь, пока будет выполнена хотябы одна интерация модуля, затем проверьте содержимое файла лога:
tail -f /var/log/userside/usm_iferr.log
Есть файл лога не создался после того, как модуль должен был отработать, обратитесь к системному журналу операционной системы для выявления проблемы с запуском этого процесса в планировщике.
Помните, что в FreeBSD нужно указать полный путь к интерпретатору python3, либо же прописать его в переменную PATH файла /etc/crontab