Usm observer

From WiKi - UserSide

en | ru

Эта функция является одной из возможностью
обновления даты активности у объекта

usm_observer - это модуль для постоянного контроля средствами SNMP настраиваемых показателей у устройств и оповещения сотрудников и подразделений о фактах выхода значений этих показателей за пределы установленных значений.


Данный модуль является заменой устаревшему модулю us_control


Общие данные

Язык модуля: Python

Текущая версия: см. на странице: Модули

Статус модуля: Платный

Для работы модуля необходим Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: "Status of Python versions". Рекомендуется использовать версию с состоянием "security" или "bugfix". Версии отмеченные как "end-of-life" не поддерживаются. Отмеченные как "feature" не рекомендуется использовать.

Установка

Скопируйте архив в каталог с модулями, например, /opt/userside и разархивируйте его.

cd /opt/userside
sudo unzip usm_observer_2.0.0.zip

Перейдите в каталог usm_observer, создайте виртуальное окружение

cd usm_observer
sudo python3 -m venv venv
sudo venv/bin/pip install --upgrade pip
sudo venv/bin/pip install --upgrade -r requirements.txt

Настройка

Если это первая настройка версии 2.х, то скопируйте пример конфигурационного файла

sudo cp settings.yaml-example settings.yaml

Отредактируйте файл settings.yaml. В разделе api укажите url вашего USERSIDE и API-ключ в поле key. В разделе log вы можете изменимть путь к логам в поле path и уровень логирования (DEBUG, INFO, WARNING, ERROR) в поле level. Если нужно чтобы лог выводился на стандартный вывод вместо файла, то для path укажите значение STDOUT — это может быть удобно при первоначальной настройке модуля.

Тестовый запуск

Чтобы удобней контролировать первый тестовый запуск, установите в settings.yaml путь к логу в значение STDOUT и запустите модуль:

venv/bin/python main.py

Если модуль отработал корректно и корректно завершил работу, то установите корреткный путь к логу, чтиобы запись велась в файл.

Если в процессе тестового ручного запуска были обнаружены ошибки, устраните их или обратитесь за помощью в нашу службу поддержки, используя тикет-систему в вашем личном кабинете клиента.

Автоматический запуск

Добавьте в crontab строку, предварительно изменив путь к модулю:

2/* * * * *   root    /opt/userside/usm_observer/venv/bin/python /opt/userside/usm_observer/main.py

Убедитесь, что модуль запускается. Для этого спустя несколько минут понаблюдайте за файлом журнала:

tail -f /var/log/usm_observer/usm_observer.log

Ротация файлов журнала

Файлы журнала, создаваемые модулем, нуждаются в ротации. Для этого следует использовать стандартные инструменты ротации логов в операционной системе.

Следующая настройка будет выполнять ротацию всех файлов *.log ежесуточно и хранить 7 архивных копий (за 7 дней)

Создайте файл /etc/logrotate.d/usm_observer следующего содержания:

/var/log/usm_observer/usm_observer.log {
    rotate 7
    daily
    compress
    delaycompress
    missingok
    notifempty
}

Логика работы

  • Каждый запуск модуль проверяет состояние SNMP-параметров у контролируемых устройств. Если значение параметра выходит за пределы допустимого, то считается, что произошла тревога. Тревожных параметров на устройстве может быть несколько. По каждому устройству, где был найден тревожный параметр или наоборот - параметр пришёл в норму - формируется электронное письмо и/или SMS для выбранного (на уровне каждого устройства) круга получателей
  • По каждому устройству формируется отдельное письмо/сообщение, в котором будут все параметры, состояние (тревога/норма) которых изменилось. В письме информация будет представлена развёрнуто, в SMS - компактно
  • Следующее сообщение будет прислано только в случае, если изменился вновь какой-то параметр
  • Если в процессе опроса будет выяснено, что опрашиваемое устройство неактивно (в процессе подключения к устройству произошла ошибка, либо возникла ошибка при съёме параметра), то это будет отмечено модулем и в следующие несколько циклов запуска (по-умолчанию: 5) это устройство опрашиваться не будет, чтобы не создавать задержек в опросе прочих параметров.
  • Для устройств, с которых удалось получить параметры - будет обновлена дата последней активности.
  • Если указан ошибочный параметр (OID), то при опросе устройства - на этом параметре опрос данного устройства будет прекращен.


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

Общая настройка

Для начала требуется указать список контролируемых параметров и события, при которых считать, что значения этих параметров вышли из нормы.

Параметры можно компоновать в профили опроса

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

Ведётся лог опроса параметров (не все значения, а только их изменения), который хранится в базе системы

Имеется также и текущий список опрашиваемых устройств

Настройка в карточке устройства

При редактировании карточки оборудования доступен блок, в котором можно выбрать профиль опроса для данного устройства, указать какие-то отдельные параметры для опроса, что не входят в выбранный профиль и указать получателей сообщений о тревоге

В режиме просмотра блок модуля также выводится и из него есть возможность просмотреть текущее состояние параметров и лог изменения их состояния