Usm iferr: различия между версиями
Uscld2 (обсуждение | вклад) (Новая страница: «== Описание == Модуль предназначен для оперативного сбора информации об ошибках на интерф…») |
Admin (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''usm_iferr''' - модуль для периодического опроса ''(по SNMP)'' счетчиков ошибок на интерфейсах оборудования. Это позволяет видеть устройства с ошибками на интерфейсах (как в разрезе интерфейсов так и с количеством проблемных интерфейсов по каждому из устройств). Также строится дельта прироста ошибок за сутки и за неделю, что позволяет видеть устройства где проблемы продолжаются прямо сейчас. | |||
'''Язык модуля:''' Python | |||
'''Текущая версия:''' см. на странице: [[Модули]] | |||
'''Статус модуля:''' [http://userside.ua/price.php Платный] | |||
== Описание == | == Описание == | ||
При каждом запуске модуль получает от Userside 50 (по умолчанию) узлов, которые необходимо опросить, выполняет опрос и возвращает результат в Userside. Если все узлы в итерации доступны и содержат верные настройки, то одна итерация занимает около 2..3 секунд. Опрос производится в асинхронном режиме (сначала формируются 50 SNMP-запросов и одновременно отправляются в сеть, затем модуль ожидает ответы и обрабатывает их, либо определяет ошибки). | При каждом запуске модуль получает от Userside 50 (по умолчанию) узлов, которые необходимо опросить, выполняет опрос и возвращает результат в Userside. Если все узлы в итерации доступны и содержат верные настройки, то одна итерация занимает около 2..3 секунд. Опрос производится в асинхронном режиме (сначала формируются 50 SNMP-запросов и одновременно отправляются в сеть, затем модуль ожидает ответы и обрабатывает их, либо определяет ошибки). | ||
Версия от 17:40, 18 сентября 2019
usm_iferr - модуль для периодического опроса (по SNMP) счетчиков ошибок на интерфейсах оборудования. Это позволяет видеть устройства с ошибками на интерфейсах (как в разрезе интерфейсов так и с количеством проблемных интерфейсов по каждому из устройств). Также строится дельта прироста ошибок за сутки и за неделю, что позволяет видеть устройства где проблемы продолжаются прямо сейчас.
Язык модуля: Python
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Описание
При каждом запуске модуль получает от 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