wiki:ZabbixAgent

Введение

Zabbix - популярная система мониторинга параметров объектов сети. Эта статья содержит информацию об использовании агента Zabbix, встроенного в плату SW-01, для мониторинга аппаратуры.

Агент Zabbix - это программа, выполняющаяся на наблюдаемом объекте и выполняющая непосредственно сбор и передачу на сервер наблюдаемых параметров. Zabbix поддерживает два типа агента - пассивный агент и активный агент.

Пассивный агент не отправляет данные по собственной инициативе, вместо этого он ожидает запросов от сервера. Когда Zabbix серверу требуется получить данные с объекта (произвести опрос), на котором работает пассивный агент, сервер устанавливает соединение с агентом и запрашивает у него нужный ему параметр, передавая ключ параметра. Агент выполняет чтение запрошенного параметра из аппаратуры и возвращает серверу прочитанную величину. Опрос данных сервером производится с заданной периодичностью.

Активный агент, в отличие от пассивного, не принимает входящих соединений от сервера, вместо этого он сам по своей инициативе соединяется с сервером. Преимуществом такого подхода является то, что активный агент может инициативно передать серверу новое значение наблюдаемого параметра сразу после изменения его значения (например при появлении или пропадании аварийного состояния), не дожидаясь наступления запланированного времени очередного опроса. Это позволяет серверу не пропускать возникающие в наблюдаемом оборудовании события и быстрее на них реагировать.

Принцип работы Zabbix агента

В плате SW-01 реализован активный агент Zabbix. При старте агент соединяется с сервером Zabbix и запрашивает у него список элементов данных (параметров), которые сервер желает наблюдать. В дальнейшем такие запросы агент повторяет периодически (каждые 5 минут) для обновления списка в случае изменения его на сервере.

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

При возникновении события, каковым является получение от установленной в блоке платы спорадического сообщения о возникновении или пропадании аварии или изменение состояния общей аварии платы, агент производит поиск аварии в полученном от сервера списке наблюдаемых параметров. Если соответствующий аварии параметр присутствует в списке, агент немедленно оповещает сервер о возникшем событии (передает ему новое значение параметра) независимо от наступления времени очередного опроса.

Конфигурация сервера

Добавьте сетевой узел в сервер Zabbix в соответствии с руководством Zabbix. Запомните установленное Вами имя узла сети - оно понадобится для конфигурации агента. Добавьте узлу сети необходимые элементы данных с типом "Zabbix агент (активный)" в соответствии с руководством Zabbix. Ключ элемента данных установить в соответствии с описанием ниже.

Также можно воспользоваться готовыми шаблонами. Перед импортом шаблонов на сервере необходимо добавить преобразование значений "MC04 board status" как показано на иллюстрации:

Добавление маппинга на сервере Zabbix

Ключи элементов данных

Каждый элемент данных (наблюдаемый сервером параметр) идентифицируется ключом. Агент платы SW-01 требует, чтобы запрашиваемые ключи соответствовали конкретному формату. Ключ должен начинаться со строки "MC04.". Далее следует элемент, определяющий тип опрашиваемого объекта: для элементов данных, относящихся к конкретному типу платы, вторым элементом ключа должно быть название платы, для элементов данных, относящихся к любой плате блока, вторым элементом ключа должно быть слово board, для элементов данных, относящихся к системе в целом, используется слово sys (ранее, до ревизии sw-r1423, второй элемент ключей игнорировался агентом). После второго элемента ключа должна быть точка.

Третьим элементом ключа является ключевое слово, определяющее функцию ключа. Поддерживаемые агентом функции ключей и их описание приводятся в таблице ниже. Формат оставшейся части ключа определяется его функцией.

ФорматПримерПоддерживается начиная с ревизииОписание
MC04.<board>.snmp<oid>[<slot>]MC04.E1-08.snmp.3.0[5] sw-r1327 Возвращает значение переменной платы в слоте <slot> c OID <oid>
MC04.<board>.nthbyte<oid>[<slot>,<n>]MC04.E1-08.nthbyte.9.0[2,3] sw-r1367 Возвращает значение n-ного байта переменной типа "строка" платы в слоте <slot> c OID <oid>
MC04.<board>.hwordat<oid>[<slot>,<offset>]MC04.MS-01.hwordat.6.0[8,0] sw-r1376 Возвращает значение 16-битного little-endian слова (half-word), находящегося по смещению <offset> в переменной типа "строка" с OID <oid> платы в слоте <slot>
MC04.<board>.hwordat-be<oid>[<slot>,<offset>]MC04.MS-01.hwordat-be.6.0[8,0] sw-r1376 Возвращает значение 16-битного big-endian слова (half-word), находящегося по смещению <offset> в переменной типа "строка" с OID <oid> платы в слоте <slot>
MC04.<board>.wordat<oid>[<slot>,<offset>]MC04.MS-01.wordat.6.0[8,0] sw-r1372 Возвращает значение 32-битного little-endian слова, находящегося по смещению <offset> в переменной типа "строка" с OID <oid> платы в слоте <slot>
MC04.<board>.wordat-be<oid>[<slot>,<offset>]MC04.MS-01.wordat-be.6.0[8,0] sw-r1372 Возвращает значение 32-битного big-endian слова, находящегося по смещению <offset> в переменной типа "строка" с OID <oid> платы в слоте <slot>
MC04.sys.boardlist[<type>]MC04.sys.boardlist[0] sw-r1374 Возвращает список плат типа <type> в виде json-объекта. Используется для низкоуровневого обнаружения плат. <type> - код типа запрашиваемой платы. Если <type> равен нулю, возвращается список всех установленных плат.
MC04.sys.ethstat[<p>,<c>]MC04.sys.ethstat[8,0] sw-r1370 Возвращает значение счетчика <c>2 порта <p>1 коммутатора ethernet платы SW-01

1 Номер порта ethernet может принимать значение от 0 до 10. Порты 0-7 - межплатные соединения в блоке, порты 8 и 9 - внешние интерфейсы "eth1" и "eth2" соответственно, порт 10 - внутренний порт центрального процессора платы.

2 Описание доступных счетчиков портов ethernet приведено в следующей таблице.

Номер счетчикаНаименованиеРазрядностьОписание
порты 0-9
0 Good Octets Rx 64 Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
2 Bad Octets Rx 32 Сумма длин всех фреймов, принятых с ошибками.
3 Tx error 32 Опустошение буфера при передаче (underrun), фрейм с плохой CRC прочитан из памяти.
4 Good Unicast Frames Rx 32 Число принятых без ошибок уникастовых фреймов.
5 Sent Deferred 32 Фрейм был передан в полудуплексное соединение без коллизии, но передача была отложена из-за занятости среды.
6 Good Broadcast Frames Rx 32 Число принятых без ошибок широковещательных фреймов.
7 Good Multicast Frames Rx 32 Число принятых без ошибок мультикастовых фреймов. Не включает управляющие фреймы.
14 Good Octets Sent 64 Сумма длин всех переданных фреймов.
16 Unicast Frames Sent 32 Число переданных уникастовых фреймов.
17 Excessive Collision 32 Число фреймов, отброшенных при передаче в полудуплексное соединение из-за коллизий.
18 Multicast Frames Sent 32 Число переданных мультикастовых фреймов. Не включает управляющие фреймы.
19 Broadcast Frames Sent 32 Число переданных широковещательных фреймов.
20 Sent Multiple 32 Число фреймов, переданных в полудуплексное соединение, в процессе передачи которых возникло более одной коллизии.
21 FC Sent 32 Число переданных фреймов управления потоком (Flow-Control).
22 FC Rx 32 Число принятых фреймов управления потоком (Flow-Control).
23 Receive FIFO Overrun 32 Ошибки приема фрейма из-за недостаточной пропускной способности внутренних ресурсов коммутатора (например выделения буферов ОЗУ).
24 Undersize 32 Число принятых фреймов короче допустимой длины.
25 Fragments 32 Число принятых фрагментов фреймов.
26 Oversize 32 Число принятых фреймов, превышающих допустимый размер.
27 Jabber 32 Число принятых jabber пакетов.
28 RxError Frame Rx 32 Число ошибок приема, обнаруженных приемной частью MAC.
29 Bad CRC 32 Число принятых фреймов с неверной CRC.
30 Collisions 32 Число коллизий.
31 Late Collisions 32 Число поздних коллизий.
порт 10
0 Good Octets Rx 32 Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
2 Bad Octets Rx 16 Сумма длин всех фреймов, принятых с ошибками.
3 MAC Tx Error 16 Число фреймов, не преданных в результате внутренней ошибки MAC (например опустошения буфера).
4 Good Frames Rx 16 Число принятых без ошибок фреймов.
14 Good Octets Sent 32 Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
16 Good Frames Sent 32 Число всех успешно (без ошибок) переданных фреймов за исключением управляющих фреймов MAC (например pause frame).
23 Internal Drop Rx 16 Число принятых без ошибок фреймов, отброшенных в результате внутренних заторов.
29 Bad Frames Rx 16 Число принятых c ошибками фреймов.

Конфигурация агента

Конфигурация агента Zabbix производится через веб-интерфейс. Агент может работать с несколькими серверами Zabbix. Список серверов отображается в таблице на вкладке "Мониторинг" в виде записей с типом "Zabbix" (совместно с типами мониторинга ИСУМ и SNMP). Для добавления сервера Zabbix необходимо нажать кнопку "Добавить систему мониторинга" на вкладке "Мониторинг", в появившемся диалоге выбора типа мониторинга выбрать "Zabbix агент (активный)" и нажать "OK".

В появившемся диалоге конфигурации Zabbix-сервера необходимо ввести имя создаваемой записи (произвольная строка, которая не должна совпадать с уже имеющимися в таблице систем мониторинга), адрес сервера (имя хоста или IP адрес, на котором работает сервер Zabbix), имя блока (имя узла сети, присвоенное данному блоку на сервере Zabbix). После ввода перечисленных параметров нажмите "OK", сервер будет добавлен в таблицу систем мониторинга (в неактивном состоянии).

Для активации мониторинга необходимо установить чекбокс в колонке "Активен" в строке сервера Zabbix.

Last modified 21 months ago Last modified on Sep 15, 2016, 6:04:44 PM

Attachments (5)

Download all attachments as: .zip