Zabbix как настроить snmp

Zabbix + SNMP ( Zabbix + SNMP )

30 марта 2010 (обновлено 2 ноября 2014)

Настраиваем взаимодействие оборудования с системой мониторинга Zabbix с помощью протокола SNMP.

Первым делом предупреждение и напоминание предупреждённым: протокол SNMP в тех его реализациях, что используется до сих пор элементарным активным сетевым оборудованием, вроде модемов и коммутаторов, невероятно небезопасен.
Фактически защиты нет. Единственный, на мой взгляд, способ защитится от компрометации SNMP трафика оборудования и воздействия на него злоумышленника — это вывод всего активного оборудования в закрытые от пользователей зоны и заградить сетевыми экранами с чёткими и однозначными листами доступа. Не очевидное ключевое слово — идентификатор community может несколько обезопасить работу с оборудованием, но это не панацея, так как оно выявляется путём примитивного «снифинга» трафика.

Нам понадобится «MIB browser» — приложение, позволяющее обращаться по SNMP протоколу к агенту и выспрашивать у него значения параметров по адресам. Разумеется, приложение не называлось бы «браузером», не будь оно способно строить иерархическую структуру параметров и позволять нам по ней ходить.

Есть несколько реализаций такого ПО. Можно выбрать по своему вкусу. Я, в своё время попробовал «GetIf» (http://www.wtcs.org/snmp4tpc/getif.htm) и никакое другое приложение для просмотра дерева параметров так и не понадобилось. Приложение простое, не загромождённое свиристелками и издавалками звуков и работает именно браузером а не заменителем половины других приложений, что могут понадобится в жизни. В общем, все описания именно про него.

Для пробной отрисовки графиков таких снимаемых значений, как утилизация интерфейсов и тому подобное, можно использовать PRTG Traffic Grapher (http://www.paessler.com/prtg6). Приложение задает минимум вопросов и вполне корректно работает с оборудованием поддерживающим стандартную базу MIB.

Настраиваем SNMP взаимодействие с модемами ZyXEL Prestige.

ZyXEL Prestige 791R EE и P-792H EE, а именно с ними мы будем работать, поддерживают связь по реализациях протокола SNMPv1 и SNMPv2.

Большинство производителей активного сетевого оборудования создают свои дополнения к дереву параметров SNMP. ZyXEL не исключение. Для того, чтобы погулять по ветвям параметров оборудования необходимо скачать и применить к «браузеру» файлы с описанием дополнительных параметров:

Распаковываем и копируем mib файлы в директорию «Mibs» нашего «браузера», удаляем файл .index и перезапускаем приложение. Получаем стандартное дерево SNMP с дополнениями от производителя оборудования.

Настраиваем оборудование на работу с протоколом SNMP.
С модемами ZyXEL все просто. Переходим к пункту меню «SNMP Configuration» (22) и приводим переменные к следующему виду:

Проверяем, отдаст ли оборудование данные по запросу члена community:

В ответ мы должны получить список параметров, нечто вроде этого:

Если нам ответили что-то вроде «Timeout: No Response from [host]», то взаимодействие между узлами не налажено и нужно разбираться с причиной.

Настраиваем Zabbix сервер для работы с модемами ZyXEL.

Создаем шаблон «t_zyxel».
Создаем группу «Modems».

Настроим мониторинг загрузки Ethernet интерфейса. Можно попробовать мониторить WAN интерфейс, тогда SNMP OID для «Incoming traffic» должен быть «1.3.6.1.2.1.2.2.1.10.2» а для «Outgoing traffic» — «1.3.6.1.2.1.2.2.1.16.2». Выбор Ethernet в качестве интерфейса для мониторинга обусловлен тем, что в некоторых модемах с старой версией прошивки в рамках общей конфигурации WAN интерфейс не мониторился совсем. И в моем случае все модемы работают мостами, так что трафик на интерфейсах по идее одинаков за исключением небольшого количества управляющего.

Создаем параметр «IncTraf: eth0» шаблона «t_zyxel»:

Создаем параметр «OutTraf: eth0» шаблона «t_zyxel»:

Указав интервал обновления в восемь (8) секунд с умножителем показателя в единицу (1), методом сохранения данных как разницу между двумя показаниями счётчика в указанный период обновления и тем, что количество проходящей через интерфейс информации исчисляется в октетах (байтх), результирующим показателем будет количество бит в секунду на интерфейсе; иначе говоря — «bps». Если нужен меньший интервал обновления, то множитель соответственно увеличивается.

Создаем график «NetUtilization: eth0»:

Читайте также:  Если муж не работает как его заставить

Применяем в шаблонах к показателям ключевое слово для организации community, заводим хосты, вводим их в шаблон «t_zyxel» и получаем мониторинг модемов по заданным показателям с отображением соответствующих графиков.

Настраиваем SNMP взаимодействие с Cisco PIX.

Cisco PIX отлично поддерживает связь по реализации протокола SNMPv2.

На маршрутизаторе разрешаем хождение трафика SNMP откуда и куда нужно:

Указываем маршрутизатору параметры конфигурации SNMP:

Проверяем, отдаст ли оборудование данные по запросу члена community (в нашем случае серверу Zabbix):

# /usr/bin/snmpwalk -c [community] -v 2c [host]

В ответ мы должны получить список параметров, нечто вроде этого:

Если нам ответили что-то вроде «Timeout: No Response from [host]», то взаимодействие между узлами не налажено и нужно разбираться с причиной.

Настраиваем Zabbix сервер для работы с Cisco PIX.

Создаем шаблон «t_pix».
Создаем группу «Channels».

От Cisco PIX нам нужно не так уж и много информации. Необходимо мониторить утилизацию внешнего интерфейса и количество соединений обслуживаемых на текущий момент маршрутизатором. Ради интереса можно отслеживать количество отвергнутых пакетов и попыток нарушить периметр безопасности, но это уже отдельная тема.

Настроим мониторинг загрузки внешнего (Outside) Ethernet интерфейса.

Создаем параметр «in.eth0» шаблона «t_pix»:

Создаем параметр «out.eth0» шаблона «t_pix»:

Указав интервал обновления в восемь (8) секунд с умножителем показателя в единицу (1), методом сохранения данных как разницу между двумя показаниями счётчика в указанный период обновления и тем, что количество проходящей через интерфейс информации исчисляется в октетах (байтах), результирующим показателем будет количество бит в секунду на интерфейсе; иначе говоря — «bps». Если нужен меньший интервал обновления, то множитель соответственно увеличивается.

Создаем параметр «connections» шаблона «t_pix»:

Создаем график «util.eth0»:

Применяем в шаблонах к показателям ключевое слово для организации community, заводим хосты, вводим их в шаблон «t_pix» и получаем мониторинг маршрутизаторов по заданным показателям с отображением соответствующих графиков.

Настраиваем SNMP взаимодействие с Cisco 1800.

Cisco 1800 отлично поддерживает связь по реализации протокола SNMPv2.

На маршрутизаторе создаем ACL разрешающий хождение трафика SNMP откуда и куда нужно для последующего прикрепления к правилам community:

Указываем маршрутизатору параметры конфигурации SNMP:

Проверяем, отдаст ли оборудование данные по запросу члена community (в нашем случае серверу Zabbix):

В ответ мы должны получить список параметров, нечто вроде этого:

Если нам ответили что-то вроде «Timeout: No Response from [host]», то взаимодействие между узлами не налажено и нужно разбираться с причиной.

Настраиваем Zabbix сервер для работы с Cisco 1800.

Создаем шаблон «t_cisco1800».
Создаем группу «Channels».

От Cisco 1800 нам нужно н так уж и много информации. Необходимо мониторить утилизацию интерфейсов и количество соединений обслуживаемых на текущий момент маршрутизатором. Ради интереса можно отслеживать количество отвергнутых пакетов и попыток нарушить периметр безопасности, но это уже отдельная тема. Интересующие нас интерфейсы в нашем случае могут быть на произвольных портах, поэтому точное значение OID придётся подбирать индивидуально для каждого хоста.

Настроим мониторинг загрузки Ethernet интерфейса.

Создаем параметр «in.eth0» шаблона «t_cisco1800»:

Создаем параметр «out.eth0» шаблона «t_cisco1800»:

Указав интервал обновления в восемь (8) секунд с умножителем показателя в единицу (1), методом сохранения данных как разницу между двумя показаниями счётчика в указанный период обновления и тем, что количество проходящей через интерфейс информации исчисляется в октетах (байтах), результирующим показателем будет количество бит в секунду на интерфейсе; иначе говоря — «bps». Если нужен меньший интервал обновления, то множитель соответственно увеличивается.

SNMP OID: .1.3.6.1.2.1.2.2.1.10 — Сбор входящего трафика (inOctets);
SNMP OID: .1.3.6.1.2.1.2.2.1.16 — Сбор исходящего трафика (outOctets).

Прибавление ещё одного значения определит целевой интерфейс — номер интерфейса по принципу:
.1 — FatEthernet0;
.2 — FatEthernet1;
.3 — FatEthernet2;
.4 — FatEthernet3;
.5 — FatEthernet4;
.6 — FatEthernet5;
.7 — FatEthernet6;
.8 — FatEthernet7;
.9 — FatEthernet8;
.10 — FatEthernet9;

Создаем параметр «Connections» шаблона «t_cisco1800»:

Создаем график «util.eth0»:

[ уже посетило: 39266 / +1 ] [ интересно! / нет ]

Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

Источник

zloykolobok

Блог посвящен: технологии ADSL, ADSL-модемам, а также CMS Joomla

Страницы

понедельник, 10 декабря 2012 г.

Zabbix — детальный мониторинг узлов сети, используя SNMP

Доброго времени суток. Мы продолжаем рассматривать замечательный мониторинг сети и узлов сети Zabbix. Так мы с Вами уже установили данную систему и настроили, разобрали основные понятия Zabbix, настроили простую проверку узлов сети (доступность). А в данной статье мы перейдем к настройке более детального мониторинга узла сети, используя SNMP.

Читайте также:  Проблема не работает google

Кратко об SNMP

SNMP (Simple Network Management Protocol) — это простой протокол сетевого управления или протокол управления устройствами в IP-сетях на основе TCP/UDP. SNMP предоставляет данные для управления устройствами сети в виде переменных, которые описывают конфигурацию данного оборудования. Эти переменные могут быть запрошены или заданы (если это позволяет оборудование и его конфигурация) управляющими приложениями.
В самом протоколе SNMP не определено какая информация заложена в переменных. Для этого SNMP использует базу управляющей информации (базу MIB). Базы MIB описывают структуру управляемых данных и информацию заложенную в переменных. MIB имеет иерархическую структуру пространства имен, содержащие идентификаторы объектов (OID). Каждый OID определяет переменную, которая может быть считана или установлена с помощью SNMP.
Существует три версии протокола SNMP:

  1. SNMPv1 — начальная реализация данного протокола, основная проблема данной версии низкая защита.
  2. SNMPv2 — вторая версия, улучшена производительность и безопасность.
  3. SNMPv3 — третья версия ничего нового не добавляет в данный протокол, единственное отличие от предыдущей версии это криптографическая защита данных.

Как уже говорилось в предыдущих статьях, система мониторинга Zabbix поддерживает протокол SNMP. И дальше мы с Вами настроим мониторинг порта на узле (мы будем мониторить текущее состояние интерфейса )

Создание узла сети

Первое, что мы сделаем создадим узел сети. Для этого переходим: Настройка -> Узлы сети и жмем на кнопку “Создать узел сети”.

Источник

Мониторинг — это один из столпов обеспечения высокой доступности ИТ-систем.
Как правило, системные администраторы при установке системы мониторинга в первую очередь настраивают ее на проверку параметров серверов и обнаружение недоступности сервисов, запущенных на этих серверах. Безусловно это приоритетная задача, но не стоит забывать и о другом оборудовании: ИБП, системах кондиционирования, сетевом оборудовании.

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

Включаем мониторинг

Думаю, я не ошибусь, если скажу, что большинству системных администраторов приходится работать с унаследованным «зоопарком» оборудования различных моделей и вендоров. К счастью, большинство моделей поддерживает открытый протокол SNMP. Именно по нему мы и будем получать информацию о состоянии сетевых интерфейсов.

Предположим, что Zabbix у вас уже установлен. Чтобы воспользоваться SNMP нужно:

  1. включить поддержку SNMP на сетевом устройстве (команды зависят от производителя)
  2. добавить соответствующие item в Zabbix — по одному на каждый параметр; для этого нужно указать используемую версию SNMP, корректный идентификатор параметра SNMP OID и SNMP community (что-то типа имени пользователя)
  3. добавить триггеры для отслеживания нежелательных значений item

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

Для облегчения задачи необходимо использовать шаблоны (templates). Шаблон содержит в себе все необходимые item’ы, триггеры и графики — остается только завести хост и подключить к нему шаблон.
Для Zabbix уже есть много готовых шаблонов, которые можно или нагуглить или посмотреть в мануале.
Если вы не нашли нужный шаблон, не расстраивайтесь: как правило, производители используют стандартные OID’ы из RFC1213 и RFC2233:

sysName.0 имя узла
.1.3.6.1.2.1.1.3.0 uptime
.1.3.6.1.2.1.2.2.1.8.X статус порта: 1(up) / 2(down) X — номер порта;
у Cisco номер порта пятизначный:
100XX для 100 Мбитных портов,
101XX для 1 Гбит/c
.1.3.6.1.2.1.2.2.1.16.X отправлено байт
.1.3.6.1.2.1.2.2.1.10.X принято байт
.1.3.6.1.2.1.31.1.1.1.5.X отправлено broadcast пакетов
.1.3.6.1.2.1.31.1.1.1.3.X принято broadcast пакетов
.1.3.6.1.2.1.31.1.1.1.4.X отправлено multicast пакетов
.1.3.6.1.2.1.31.1.1.1.2.X принято multicast пакетов
.1.3.6.1.2.1.2.2.1.17.X отправлено unicast пакетов
.1.3.6.1.2.1.2.2.1.11.X принято unicast пакетов
.1.3.6.1.2.1.2.2.1.20.X ошибок при отправке
.1.3.6.1.2.1.2.2.1.14.X ошибок при получении
Читайте также:  1с начатьпомещениефайла не работает

Помимо этого можно считать имя интерфейса, MTU, скорость и другие параметры. Полный список смотрите на сайте Cisco.

Cisco Catalyst, как правило, поддерживают дополнительно:
.1.3.6.1.4.1.9.9.109.1.1.1.1.5.1 — процент загрузки CPU
.1.3.6.1.4.1.9.9.48.1.1.1.5.1 — занятая память (в байтах)
.1.3.6.1.4.1.9.5.1.2.13.0 — статус температуры (1 — нормальная, 2 — повышенная, 3 — критическая)

Генератор шаблонов

Заметив, то что идентификаторы стандартизованы, я написал простенький скрипт на PHP, который позволяет сгенерировать XML-шаблон для Zabbix с нужными OID для всех портов. Мы протестировали его на оборудовании Cisco (500G, 2960. 3550 и 3750), 3Com (2426, 2924, 2948), паре D-Link и Zyxel 4012. (Кто хочет, может скачать исходники).
Генератор создает шаблоны, которые умеют:

  • отслеживать параметры интерфейсов (см. таблицу выше) и выводить их на графике;
  • устанавливать триггер на падение порта;
  • устанавливать триггер на превышение скорости прироста ошибок на порте;
  • отслеживать загрузку процессора, памяти и температуры для Cisco.

После того, как вы сгенерировали и сохранили шаблон для устройства, сымпортируйте его: перейдите в Configuration → Templates и нажмите справа вверху кнопку Import. Создайте новый Host или отредактируйте существующий — привяжите к нему ваш шаблон.
Если вы хотите изменить какие-либо параметры (например, SNMP community), то это можно сделать прямо в Zabbix: зайдите в шаблон в Configuration → Templates , в Items выделите нужные элементы галочками и внизу выберите из выпадающего списка Mass update.

В результате вы получите симпатичные графики:

Отладка

Если прошло несколько минут после добавления к устройству шаблона, а данные от SNMP так и не появились, необходимо проверить, может ли сервер Zabbix считать данные с устройства. Делается это утилитой snmpget:
snmpget -v версия_протокола -c комьюнити адрес_устройства OID

Например, получим число отправленных байт на первом гигабитном порту для Cisco:
snmpget -v 2c -c qwerty 192.168.1.1 .1.3.6.1.2.1.2.2.1.16.10101
IF-MIB::ifOutOctets.10101 = Counter32: 2044250092

Для не-Cisco железки:
snmpget -v 2c -c qwerty 192.168.1.2 .1.3.6.1.2.1.2.2.1.16.1
IF-MIB::ifOutOctets.1 = Counter32: 1691279168

Если вы получаете сообщение Timeout: No Response from . , значит вам нужно убедиться, что SNMP включен на устройстве и серверу разрешено соединяться с портом 161/UDP коммутатора.
Сообщение No Such Object available on this agent at this OID говорит о том, что запрашиваемый параметр не поддерживается.

Чтобы прочитать полный список параметров с устройства выполните:
snmpwalk -v версия_протокола -c комьюнити адрес_устройства

Любители GUI для чтения SNMP-данных с устройства могут воспользоваться программами типа MIB Browser.

Карта сети

Карту придется кропотливо составлять вручную. Тут надо знать пару трюков. Чтобы над соединительными линиями между оборудованием показывать скорость, добавьте в подпись вызов соответствующего item в фигурных скобках. Например:
↑ <02-CS-42-3750:ifOutOctets.10112.last(0)>
<02-CS-42-3750:ifInOctets.10112.last(0)>↓

Запись 02-CS-42-3750:ifOutOctets.10112.last(0) означает получить у хоста 02-CS-42-3750 последнее по времени значение параметра ifOutOctets (отправлено байт). ↑ и ↓ это просто коды стрелочек ↑ и ↓ для красоты.

Также в свойствах Link вы можете настроить отображении линии красным в случае падения порта в down.

Мониторинг состояния портов

К сожалению, в Zabbix нет удобного инструмента для просмотра состояния отдельных портов устройств, поэтому его пришлось написать. Информация импортируется из Zabbix и выводится администратору в удобном виде:

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

Минус скрипта в том, что он писался «для себя», поэтому установка достаточно корявая (-:. Скачайте исходники и прочитайте readme. UPD 13.03.13 (Версия для Zabbix 2.0)

Производительность

Нельзя не упомянуть о возможной проблеме с производительностью zabbix-сервера. Предположим, что вы раз в минуту получаете информацию об 11 параметрах каждого порта 50-ти 24-портовых свитчей. На базу данных zabbix-сервера ляжет нагрузка в среднем 220 записей в секунду. Для слабой машины она может оказаться непосильной. Поэтому рекомендуется ограничивать количество item’ов или увеличивать интервал проверки. Мы считаем достаточным запрашивать статус порта, трафик, количество ошибок и широковещательных пакетов раз в 60 секунд.

Источник

Оцените статью