wiki:ZabbixAgent

Version 7 (modified by alx, 9 years ago) ( diff )

Добавлено описание ключа MC04.sys.boardlist[].

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

ФорматПримерПоддерживается начиная с ревизииОписание
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>.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.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
0Good Octets Rx64Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
2Bad Octets Rx32Сумма длин всех фреймов, принятых с ошибками.
3Tx error32Опустошение буфера при передаче (underrun), фрейм с плохой CRC прочитан из памяти.
4Good Unicast Frames Rx32Число принятых без ошибок уникастовых фреймов.
5Sent Deferred32Фрейм был передан в полудуплексное соединение без коллизии, но передача была отложена из-за занятости среды.
6Good Broadcast Frames Rx32Число принятых без ошибок широковещательных фреймов.
7Good Multicast Frames Rx32Число принятых без ошибок мультикастовых фреймов. Не включает управляющие фреймы.
14Good Octets Sent64Сумма длин всех переданных фреймов.
16Unicast Frames Sent32Число переданных уникастовых фреймов.
17Excessive Collision32Число фреймов, отброшенных при передаче в полудуплексное соединение из-за коллизий.
18Multicast Frames Sent32Число переданных мультикастовых фреймов. Не включает управляющие фреймы.
19Broadcast Frames Sent32Число переданных широковещательных фреймов.
20Sent Multiple32Число фреймов, переданных в полудуплексное соединение, в процессе передачи которых возникло более одной коллизии.
21FC Sent32Число переданных фреймов управления потоком (Flow-Control).
22FC Rx32Число принятых фреймов управления потоком (Flow-Control).
23Receive FIFO Overrun32Ошибки приема фрейма из-за недостаточной пропускной способности внутренних ресурсов коммутатора (например выделения буферов ОЗУ).
24Undersize32Число принятых фреймов короче допустимой длины.
25Fragments32Число принятых фрагментов фреймов.
26Oversize32Число принятых фреймов, превышающих допустимый размер.
27Jabber32Число принятых jabber пакетов.
28RxError Frame Rx32Число ошибок приема, обнаруженных приемной частью MAC.
29Bad CRC32Число принятых фреймов с неверной CRC.
30Collisions32Число коллизий.
31Late Collisions32Число поздних коллизий.
порт 10
0Good Octets Rx32Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
2Bad Octets Rx16Сумма длин всех фреймов, принятых с ошибками.
3MAC Tx Error16Число фреймов, не преданных в результате внутренней ошибки MAC (например опустошения буфера).
4Good Frames Rx16Число принятых без ошибок фреймов.
14Good Octets Sent32Сумма длин всех успешно (без ошибок) принятых ethernet фреймов за исключением управляющих фреймов MAC (например pause frame).
16Good Frames Sent32Число всех успешно (без ошибок) переданных фреймов за исключением управляющих фреймов MAC (например pause frame).
23Internal Drop Rx16Число принятых без ошибок фреймов, отброшенных в результате внутренних заторов.
29Bad Frames Rx16Число принятых c ошибками фреймов.

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

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

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

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

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.