Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


Боковая панель

icinga:centreon-plugins:avaya-ip-phone-monitoring

Мониторинг Avaya IP-Phone в Icinga с помощью плагина Centreon Plugins

В состав комплекта плагинов Centreon Plugins не входит выделенный плагин мониторинга IP-телефонов Avaya. Однако для этой цели мы можем использовать реализацию мониторинга стандартной Linux-системы с помощью периодических опросов по протоколу SNMP из плагина os::linux::snmp::plugin.

Данная статья не описывает процессов интеграции плагина с системами мониторинга типа Icinga/Nagios, а лишь обозначает некоторые практические примеры использования режимов работы плагинов Centreon Plugins .


Режимы работы плагина

Плагин мониторинга os::linux::snmp::plugin имеет несколько режимов работы, позволяющих отслеживать состояние разных показателей. С точки зрения мониторинга IP-телефонов Avaya нам будут интересны лишь некоторые из этих режимов:

# /usr/lib/nagios/plugins/centreon-plugins/centreon_plugins.pl \
--plugin=os::linux::snmp::plugin \
--list-mode

... Modes Available: ... cpu ... interfaces ... load memory ... uptime

Режим cpu

Режим позволяет создать отдельную службу мониторинга, например «Avaya CPU Usage», статус которой будет меняться в зависимости от текущей нагрузки на процессор аппарата. Пример вызова данного режима:

# ./centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=cpu \
--warning-average='90' --warning-core='90' --critical-average='98' --critical-core='98' \
--hostname='MY-PHONE01' --snmp-community='myROcs' --snmp-version='2c' \
--use-new-perfdata

OK: 1 CPU(s) average usage is 14.00 % - CPU '0' usage : 14.00 % | 'cpu.utilization.percentage'=14.00%;0:90;0:98;0;100 '0#core.cpu.utilization.percentage'=14.00%;0:90;0:98;0;100

Опциями warning-average и critical-average задаём границы изменения общей нагрузки процессора (по всем ядрам) в процентах (более 90% - предупреждение, более 98% - критический статус).

Опциями warning-core и critical-core задаём границы изменения нагрузки по каждому отдельному процессорному ядру в процентах (более 90% - предупреждение, более 98% - критический статус).


Режим load

Режим позволяет создать отдельную службу мониторинга, например «Avaya Load Average», статус которой будет меняться в зависимости от средней загрузки операционной системы аппарата в целом. Пример вызова данного режима:

# ./centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load \
--critical='12,,' \
--hostname='MY-PHONE01' --snmp-community='myROcs' --snmp-version='2c'

OK: Load average: 2.50, 2.49, 2.46 | 'load1'=2.50;;0:12;0; 'load5'=2.49;;;0; 'load15'=2.46;;;0;

Опциями warning и critical мы можем задать границы изменения загрузки системы в формате «load last 1m, load last 5m, load last 15m». То есть в нашем примере, задан только критический порог для показателя load за последнюю минуту со значением в 12 единиц (это пограничное значение было подсмотрено в документации Avaya).


Режим memory

Режим позволяет создать отдельную службу мониторинга, например «Avaya Memory Usage», статус которой будет меняться в зависимости от текущего уровня утилизации оперативной памяти аппарата. Пример вызова данного режима:

# ./centreon_plugins.pl --plugin='os::linux::snmp::plugin' --mode='memory' \
--hostname='KOM-PHONE01' --snmp-version='2' --snmp-community='myROcs' \
--warning-usage-prct='90' --critical-usage-prct='98' \
--use-new-perfdata --filter-perfdata='(usage.bytes|usage.percentage)' 

OK: Ram Total: 115.25 MB Used (-buffers/cache): 51.04 MB (44.29%) Free: 64.21 MB (55.71%), Buffer: 0.00 B, Cached: 36.58 MB, Shared: 852.00 KB | 'memory.usage.bytes'=53518336B;;;0;120844288 'memory.usage.percentage'=44.29%;0:90;0:98;0;100

Опциями warning-usage-prct и critical-usage-prct задаём границы изменения статуса службы мониторинга в процентах (более 90% - предупреждение, более 98% - критический статус).

Опция filter-perfdata позволяет отобрать только интересующие нас метрики производительности. Вы можете удалить из команды эту опцию, чтобы увидеть полный вывод плагина без фильтрации.


Режим uptime

Режим позволяет создать отдельную службу мониторинга, например « Avaya Uptime», которая будет отслеживать время непрерывной работы аппарата между перезагрузками его встроенной ОС. Пример вызова данного режима:

#./centreon_plugins.pl --plugin='os::linux::snmp::plugin' --mode='uptime' \
--hostname='KOM-PHONE01' --snmp-version='2' --snmp-community='myROcs'

OK: System uptime is: 4d 15h 38m 3s | 'uptime'=401883s;;;0;

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


Режим interfaces

Режим позволяет создать отдельную службу мониторинга, например «Avaya Interfaces», статус которой будет меняться в зависимости от уровня утилизации и наличия ошибок на сетевых интерфейсах аппарата. Пример вызова данного режима:

# ./centreon_plugins.pl --plugin='os::linux::snmp::plugin' --mode=interfaces \
--hostname='KOM-PHONE01' --snmp-version='2' --snmp-community='myROcs' \
--add-traffic --units-traffic='%' \
--add-errors \
--warning-out-traffic='98' --warning-out-error='1' --warning-out-discard='50' \
--warning-in-traffic='98' --warning-in-error='1' --warning-in-discard='50' \
--use-new-perfdata --filter-uom='null' \
--filter-perfdata-adv='not (%(value) == 0)' \
--filter-perfdata='.*[.](traffic|error|discard|crc)[.].*' \
--critical-status='%{errdisable} ne "-"'

OK: All interfaces are ok | 'eth0#interface.traffic.in.bitspersecond'=448.82;;;0; 'eth0#interface.traffic.out.bitspersecond'=466.67;;;0; 'eth0.101#interface.traffic.in.bitspersecond'=375.38;;;0; 'eth0.101#interface.traffic.out.bitspersecond'=411.28;;;0;

Опция add-traffic добавляет в вывод плагина данные о производительности (perfdata) по трафику на сетевых интерфейсах, а опция units-traffic определяет то, что абсолютные показатели будут для удобства пересчитываться в проценты (в том числе и для сравнения с допустимыми пороговыми значениями).

Опция add-errors включает режим вывода сведений об ошибках на интерфейсах.

Опциями warning-in-* и warning-out-* задаём границы допустимых для нас значений в процентном соотношении. Например, в нашем случае опция warning-in-traffic служит для изменения статуса службы мониторинга на предупреждающий в случае, если утилизация входящего трафика превышает 98%.

Необязательной опцией filter-uom можем отказаться от вывода единиц измерения (UOM) в выводимых данных perfdata.

Опция filter-perfdata-adv позволяет нам задать расширенные условия для вывода данных perfdata. В нашем конкретном примере, из вывода плагина исключаются все значения, имеющие нулевой показатель (может быть полезно, если требуется сократить объём сохраняемых метрик).

Опция filter-perfdata позволяет отбросить все не интересующие нас метрики perfdata с использованием регулярных выражений.

Ну и, наконец, с помощью опции critical-status мы добавляем отлов интерфейсов, находящихся в состоянии ошибки.

У телефонов Avaya серии J100, на которых проводилось тестирование и отладка работы плагина мониторинга os::linux::snmp::plugin было замечено то, что по протоколу SNMP может не возвращаться информация о пропускной способности сетевых интерфейсов. Это, в свою очередь,не позволяет контролировать процент текущей утилизации интерфейса и менять статус службы мониторинга в случае превышения допустимых пороговых значений.


Проверено на следующих конфигурациях:

Версия ОС Версия Icinga Версия Centreon Plugins Модель Avaya IP-Phone
Debian GNU/Linux 10.12 (Buster) r2.13.2-1 20220113 J139 / J189

Автор первичной редакции:
Алексей Максимов
Время публикации: 01.02.2022 13:40

Обсуждение

Ваш комментарий:
 

icinga/centreon-plugins/avaya-ip-phone-monitoring.txt · Последнее изменение: 01.02.2022 15:35 — Алексей Максимов