Диагностика для устройства¶
При работе в системах с большим количеством настроек у пользователя часто возникают вопросы - почему не работает тот или иной функционал.
Особенно у новичков когда документация не полна и настройки не очевидны (распределены по нескольким местам).
Традиционно в этом случае с вопросами обращаются к другим пользователям или специалистам.
Обычно большинство обращений заканчивается рекомендациями включить ту или иную настройку и проверить лог на предмет магических строк.
В итоге простое действие занимает значительное время.
Для упрощения понимания работы системы предназначен функционал Диагностики (Diagnostic) для устройства.
Диагностика - последовательность проверок (Check) для выяснения текущего использования функционала.
Итогом проверок может быть одно из 4 состояний (State):
- Включён (
Enabled) - функционал успешно используется - Отключён (
Blocked) - функционал отключён настройками системы - Сбой (
Failed) - в ходе использования функционала произошёл сбой - Неизвестно (
Unknown) - функционал не задействован
Интерфейс пользователя¶
В интерфейсе пользователя диагностики представлены индикаторами (indicator) отображающими текущее состояние.
На индикаторе выводится имя диагностики, а цвет кодирует состояния:
- Включён (
Enabled) - зелёный - Сбой (
Failed) - оранжевый - Отключён (
Blocked) - серый - Неизвестно (
Unknown) - индикатор не выводится

Диагностика¶
Диагностики в системе можно разделить на внутренние - занятые проверкой работы функций системы
и пользовательские -- добавляемые через интерфейс пользователя.
Отличие между ними только в настройках - у первых они вынесены в код,
а вторые доступны для изменения и находятся в меню Управление устройствами (Service Activation) -> Настройки (Setup) -> (Конфигурация диагностик) Object Diagnostic Config

- Имя (
Name) - название диагностики. Отображается на индикаторе - Описание (
Description) - описание диагностики - Порядок показа (
Display Order) - приоритет вывода индикатора - Показывать индикатор (
Show in form) - показывать индикатор на форме устройства - Политика проверки (
State policy)- Любая (
ANY) - для успеха достаточно прохождение любой проверки - Все (
ALL) - для успеха необходимо прохождения всех проверок
- Любая (
- Проверки (
Checks) - список проверок- Проверка (
Check) - название проверки - Аргумент (
arg0) - параметр для проверки. Интерпретация зависит от проверки
- Проверка (
- Зависимость от диагностик (
Depended) - зависимость от дигностик. В проверку будут включён результат перечисленных диагностик - Параметры запуска
- Запускать при полном опросе (
Enable Box) - Заупскать при периодическом опросе (
Enable Periodic) - Политика запуска
Run policy)- Always - каждый опрос
- When failed - первый раз, а затем при сбое
- Порядок запуска (
Run order)- On start в начале опроса
- On end по окончании опроса
- Запускать при полном опросе (
- Класс аварии (
Alarm Class) - поднимать аварию при сбое диагностики (переход в состояниеfailed) - Метки аварии (
Alarm Labels) - добавить в аварию метки - Сохранять историю (
Save on history) - сохранять результат проверок в историю - Правила проверки устройств (
Match Rules) - позволяют задавать на каких устройствах запускать диагностику
Note
Для диагностик, запускаемых в конце опроса: если на предыдущем этапе произойдёт ошибка - диагностика запущена не будет!
Встроенные диагностики¶
В составе системы уже добавлены несколько диагностик, запускаются при старте полного опроса (Box Discovery) и проверяют работу с оборудованием.
PROFILE¶
Проверяет правильность выбора SA Profile устройства. Настройки:
- Галочка
Profileв настройках профиля объекта включает/выключает диагностику - Правила проверки профиля SA находятся в (
Profile Check Rules)
SNMP¶
Проверяет реквизиты доступа к SNMP. Может ипользовать несколько реквизитов при наличии правил подбора. Настройки:
- Приоритет протокола доступа
Access Preference. ЕслиAccess Preference - CLI Onlyдиагностика блокируется - Разрешить подбор реквизитов. Разрешает использование правил подбора реквизитов при установлении доступа
CLI¶
Проверяет реквизиты доступа к TELNET/SSH. Может ипользовать несколько реквизитов при наличии правил подбора. Настройки:
- Приоритет протокола доступа
Access Preference. ЕслиAccess Preference - SNMP Onlyдиагностика блокируется - Разрешить подбор реквизитов. Разрешает использование правил подбора реквизитов при установлении доступа
Access¶
Комплексная диагностика, включает в себя CLI, SNMP и HTTP. Для работоспособности требует всех входящих протоколов доступа.
SNMPTRAP и SYSLOG¶
Устанавливает факт приёма SNMP Trap или Syslog для устройства. Срабатывает при первом получении SNMP Trap'a или Syslog'а с устройства. Настройки:
- Источник Syslog/Trap (
Syslog Source/Trap Source) в настройках устройства Event Proccess Policyв настройках устройства или профиля объекта
Таблица настроек встроенных диагностики
| Name | Run Policy | Checks | Alarm Class |
|---|---|---|---|
| PROFILE | Unknown or Failed | PROFILE | Discovery | Guess | Profile |
| SNMP | Unknown or Failed | SNMPv1, SNMPv2c | NOC | Managed Object | Access Lost |
| CLI | Unknown or Failed | TELNET, SSH | NOC | Managed Object | Access Lost |
| Access | --- |
SNMP, CLI | NOC | Managed Object | Access Degraded |
| SNMPTRAP | --- |
--- |
--- |
| SYSLOG | --- |
--- |
--- |
Проверки¶
Диагностики реализуются через проверки. В составе системы есть несколько проверок:
- REMOTE_PING - Проверить доступность IP адреса с устройства. Необходима реализация скрипта ping
- SNMPv1,SNMPv2c - Проверка реквизитов доступа
SNMP. Используются реквизиты из настроек устройства. - TELNET, SSH - Проверка реквизитов доступа
CLIдляTELNETиSSH. Используются реквизиты из настроек устройства. - PROFILE - Проверка профиля устройства по правилам из меню
- LOCAL_PING - Проверка доступности IP адреса с выноса НОКа (активатора).
Помимо встроенных проверок пользователь может добавить собственные. Для этого необходимо подключить кастом и разместить код в core/checkers.
После перезапуска системы они станут доступны для выбора.