Мониторинг системы с использованием SNMP
В данном разделе описаны примеры настройки мониторинга IVA CS по протоколу SNMP на основе решения Zabbix.
Zabbix располагает различными инструментами для мониторинга программного обеспечения и оборудования. Для отслеживания состояния оборудования (серверов IVA CS или хостов кластера), локальных ресурсов и приложений (статистика жестких дисков, памяти, процессоров и т. д.) используются специальные агенты Zabbix, а для мониторинга сервера телефонии IVA CS можно использовать возможность получения данных по SNMP-протоколу.
Настройка SNMP
SNMP-сервер по умолчанию выключен.
Включение SNMP-сервера выполняется через системные настройки — сервис swl_monitor.
Чтобы настроить параметры SNMP-сервера через системные настройки, необходимо:
-
перейти в раздел Настройки → вкладка Системные настройки → в строке Поиск ввести swl_monitor → будут отображены все системные настройки для сервиса swl_monitor
-
указать применяемые параметры системных настроек сервиса swl_monitor:
Пример:
Ключ настройки Значение Параметр true
Включить передачу данных по SNMP
IP-адрес и порт, на котором SNMP-сервер обрабатывает запросы
Имя пользователя SNMPv3 для авторизации и получения данных
Протокол аутентификации SNMPv3
Пароль аутентификации SNMPv3
Протокол шифрования SNMPv3
Пароль шифрования SNMPv3
-
после изменения системных настроек SNMP необходимо перезапустить сервис swl_monitor:
Перезапуск сервиса swl_monitor необходимо выполнять на тех хостах кластера, на которых необходимо получить актуальные настройки для SNMP Обзор → Кластер → Выбрать хост → Выбрать группу сервисов logic → Выбрать сервис swl_monitor → Нажать кнопку Перезапустить сервис → Подтверждение → Подтвердить перезапуск сервиса, нажав кнопку Да
Протоколы и безопасность
SNMP-сервер работает по протоколу UDP.
В штатном режиме используется SNMPv3 с аутентификацией и шифрованием — уровень безопасности authPriv.
Поддерживаемые протоколы аутентификации:
-
NoAuth
-
MD5
-
SHA (используется по умолчанию)
-
SHA224
-
SHA256
-
SHA384
-
SHA512
Поддерживаемые протоколы шифрования:
-
NoPriv
-
DES
-
AES (используется по умолчанию)
-
AES192
-
AES256
-
AES192C
-
AES256C
Получение метрик по SNMP
Дерево OID
OID (Object Identifier) — цифровой идентификатор для получения SNMP-менеджером конкретной метрики.
Все скалярные (основные) метрики (например: версия системы, параметры хоста, статистика звонков) расположены в ветке .1 с OID: 1.3.6.1.4.1.54321.100.1. Для получения значения скалярных меток достаточно использовать утилиту snmpget.
|
OID в таблице указаны относительно базового. Полный OID формируется следующим образом: <Базовый OID><OID метрики> Пример полного OID для загрузки CPU: |
1.3.6.1.4.1.54321.100 Базовый OID Тип метрики: хост / кластер Тип данных
│
├── .1 Скалярные метрики
│ ├── .1.x Версия системы
│ │ ├── .1 (OctetString) Версия IVA CS Хост текст
│ │ ├── .2 (OctetString) Патч Хост текст
│ │ └── .3 (OctetString) Дата сборки Хост текст
│ ├── .2.x Параметры хоста
│ │ ├── .1 (OctetString) Статус хоста Хост текст
│ │ ├── .2 (OctetString) Имя хоста Хост текст
│ │ ├── .3 (OctetString) IP-адрес Хост текст
│ │ ├── .4 (Counter64) Uptime (сек) Хост числовое целое
│ │ ├── .5 (OpaqueDouble) Загрузка CPU (%) Хост числовое с плавающей точкой
│ │ ├── .6 (Counter64) Используемая память (байт) Хост числовое целое
│ │ └── .7 (Counter64) Общая память (байт) Хост числовое целое
│ ├── .3.x Хранилище
│ │ └── .1 (Counter64) Размер файлов (байт) Хост числовое целое
│ ├── .4.x Статистика звонков
│ │ ├── .1 (Counter64) Количество всех RTP-пакетов Кластер числовое целое
│ │ └── .2 (Counter64) Количество потерянных RTP-пакетов Кластер числовое целое
│ ├── .5.x Активные звонки
│ │ └── .1 (Counter64) Текущее количество звонков Кластер числовое целое
│ ├── .6.x Сервисы
│ │ ├── .1 (Counter64) Количество запущенных сервисов Хост числовое целое
│ │ └── .2 (OctetString) Информация о сервисах Хост JSON
│ └── .7.x Шлюзы
│ ├── .1 (Counter64) Количество шлюзов Кластер числовое целое
│ └── .2 (OctetString) Информация о шлюзах Кластер JSON
Получение данных SNMP с помощью snmpget и snmpwalk
Для выполнения запросов необходимо использовать консоль хоста, на котором установлены утилиты snmpget и snmpwalk.
При использовании настроек по умолчанию:
-
для получения одной метрики:
snmpget -v3 \ -n public \ -u ivasw \ -l authPriv \ -a SHA256 -A 'ivaswSTrP@SSWRD' \ -x AES256 -X 'ivaswSTrP@SSWRD' \ <HOST_IVA_CS>:<PORT> \ 1.3.6.1.4.1.54321.100<OID> -
для получения всех метрик:
snmpwalk -v3 \ -n public \ -u ivasw \ -l authPriv \ -a SHA256 -A 'ivaswSTrP@SSWRD' \ -x AES256 -X 'ivaswSTrP@SSWRD' \ <HOST_IVA_CS>:<PORT> \ 1.3.6.1.4.1.54321.100
Параметры команд:
| Маркер | Значение | Описание |
|---|---|---|
|
Версия протокола SNMPv3 |
|
|
Контекстный идентификатор запроса |
|
|
|
Имя пользователя — из параметра snmp.user_name |
|
|
Используемый уровень безопасности (аутентификация + шифрование) |
|
|
Протокол аутентификации — из параметра snmp.authentication_protocol |
|
|
Пароль аутентификации — из параметра snmp.authentication_passphrase |
|
|
Протокол шифрования — из параметра snmp.privacy_protocol |
|
|
Пароль шифрования — из параметра snmp.privacy_passphrase |
|
IP-адрес хоста сервера телефонии IVA CS, на котором выполняется запрос |
|
|
Порт, на котором SNMP-сервер обрабатывает запросы — из параметра snmp.address |
|
|
|
OID метрики из дерева OID |
Примеры запросов и ответов
| При вводе некорректных данных запрос будет отклонен |
-
имя хоста
# Запрос snmpget -v3 \ -n public \ -u ivasw \ -l authPriv \ -a SHA256 -A 'ivaswSTrP@SSWRD' \ -x AES256 -X 'ivaswSTrP@SSWRD' \ 10.0.207.151:9012 \ 1.3.6.1.4.1.54321.100.1.2.2# Ответ SNMPv2-SMI::enterprises.54321.100.1.2.2 = STRING: "ivacs0" -
загрузка CPU
# Запрос snmpget -v3 \ -n public \ -u ivasw \ -l authPriv \ -a SHA256 -A 'ivaswSTrP@SSWRD' \ -x AES256 -X 'ivaswSTrP@SSWRD' \ 10.0.207.151:9012 \ 1.3.6.1.4.1.54321.100.1.2.5# Ответ SNMPv2-SMI::enterprises.54321.100.1.2.5 = Opaque: Float: 12.500000 -
количество активных звонков
# Запрос snmpget -v3 \ -n public \ -u ivasw \ -l authPriv \ -a SHA256 -A 'ivaswSTrP@SSWRD' \ -x AES256 -X 'ivaswSTrP@SSWRD' \ 10.0.207.151:9012 \ 1.3.6.1.4.1.54321.100.1.5.1# Ответ SNMPv2-SMI::enterprises.54321.100.1.5.1 = Counter64: 3
| Информация собирается не мгновенно, а периодически — раз в минуту (базовая настройка) |
Настройка и использование Zabbix
| Более подробно про работу с Zabbix — официальная документация Zabbix |
-
войти в Zabbix и авторизоваться под собственными учетными данными пользователя:
-
поле Имя пользователя: ввести логин пользователя
-
поле Пароль: ввести пароль пользователя
-
нажать кнопку Войти
-
-
создать новый хост:
Перейти к разделу Мониторинг (Monitoring) → Открыть вкладку Узлы сети (Hosts) → Нажать кнопку Создать узел сети (Create host) → Новый узел сети (New host) → Вкладка Узел сети (Host) -
настроить параметры хоста:
-
поле Имя узла сети (Host name): ввести уникальное имя хоста, например iva_cs
-
поле Группы узлов сети (Host groups): выбрать группу хостов сети, к которой будет принадлежать добавляемый хост, например Testing
-
секция Интерфейсы: добавить используемый интерфейс — нажать кнопку Добавить → выбрать SNMP:
-
поле IP адрес: ввести IP-адрес хоста — сервера телефонии IVA CS, например
10.0.207.51 -
поле Подключаться через: выбрать IP — подключение к хосту с использованием IP-адреса
-
поле Порт: ввести порт, на котором SNMP-сервер обрабатывает запросы, например
9012 -
поле Версия SNMP: выбрать SNMPv3 — версия используемого SNMP
-
поле Максимальное количество повторений (Max repetition count): ввести
5— количество повторений собственных массовых запросов SNMP (по умолчанию10) -
поле Имя контекста (Context name): ввести
public -
поле Имя безопасности (Security name): ввести
ivasw -
поле Уровень безопасности (Security level): выбрать authPriv
-
поле Протокол аутентификации (Authentication protocol): выбрать SHA256
-
поле Пароль аутентификации (Authentication passphrase): ввести
ivaswSTrP@SSWRD -
поле Протокол безопасности (Privacy protocol): выбрать AES256
-
поле Ключевая фраза безопасности (Privacy passphrase): ввести
ivaswSTrP@SSWRD -
поле Использование объединенных запросов (Use combined requests): установить флаговую кнопку
-
-
поле Наблюдение через (Monitored by): выбрать Сервер
-
поле Активировано (Enabled): установить флаговую кнопку
-
нажать кнопку Добавить (Add)
-
-
проверить доступность:
Перейти к разделу Мониторинг (Monitoring) → Открыть вкладку Узлы сети (Hosts) → Название добавленного хоста: столбец Доступность / Availability → SNMP: зеленый (мониторинг хоста доступен) / красный (мониторинг хоста не доступен) -
добавить элемент данных:
Перейти к разделу Мониторинг (Monitoring) → Открыть вкладку Узлы сети (Hosts) → Нажать на название добавленного хоста → Нажать Элементы данных (Items) → Элементы данных (Items)→ Нажать кнопку Создать элемент данных (Create item) → Новый элемент данных (New item) → Вкладка Элемент данных (Item) -
настроить параметра элемента данных:
-
поле Имя (Name): ввести название элемента данных, например
test.CS.Calls -
поле Тип (Type): выбрать тип элемента данных — SNMP агент (SNMP agent)
-
поле Ключ (Key): ввести ключ элемента данных, например
test.cs.active_calls -
поле Тип информации (Type of information): выбрать тип данных, например, Числовой (с плавающей точкой) (Numeric (float)) (выбор типа зависит от типа данных выбранной метрики из дерева OID — колонка Тип)
-
поле Интерфейс узла сети (Host interface): выбрать интерфейс хоста — в формате <HOST_IVA_CS>:<PORT>
-
поле SNMP OID: ввести OID, например
1.3.6.1.4.1.54321.100.1.5.1 -
поле Интервал обновления (Update interval): ввести
1m -
секция Пользовательские интервалы (Custom intervals):
-
поле Тип (Type): выбрать Переменный (Flexible)
-
-
поле История (History): выбрать Хранить до (Store up to) и указать
1d -
поле Динамика изменений (Trends): выбрать Хранить до (Store up to) и указать
365d -
поле Активировано (Enabled): установить флаговую кнопку
-
нажать кнопку Добавить (Add)
-
Для визуализации элементов данных (построения графиков) необходимо:
Перейти к разделу Мониторинг (Monitoring) →
Открыть вкладку Узлы сети (Hosts) →
В строке добавленного хоста нажать Графики →
Настроить параметры отображения
Пример возможной визуализации:






