Софт

Snmp Discovery

Рейтинг: 4.0/5.0 (491 проголосовавших)

Категория: Windows

Описание

Zabbix - General

Доброе время суток! Установил Zabbix 2.0.9, настроил низкоуровненвое обнуружение по SNMP сетевых интерфейсов, но никак не могу отобразить Alias интерфеса на графике. IF-MIB::ifDescr.<#SNMPINDEX> - показывает всё красиво! IF-MIB::ifAlias.<#SNMPINDEX> - а это, даже не знаю куда вставить чтобы отобразилось на графике. Может кто сталкивался с этим? Шаблон брал стандартный который есть в Zabbix «Template SNMP Interfaces»

На графике отображаются только item'ы. Значит, чтобы отображать на графике алиасы, ты должен включить их в имя item'ов

Даее, item'ы, trigger'ы и графики из прототипов создаются в момент обнаружения. Т.е. если ты изменил прототипы и тебе необходимо, чтобы изменения были применены к хостам, тебе придётся удалить с хостов шаблон вместе с данными ( unlink and clear ), а затем снова назначить шаблон на хост. Да, черезжопу - это zabbix.

Ответ на: комментарий от router 09.11.2013 19:03:01

Я неправильно написал, мне нужно отобразить в названии графика description интерфеса «ifAlias»

anonymous ( 09.11.2013 23:17:46 )

Ответ на: комментарий от anonymous 09.11.2013 23:17:46

Смотри, у тебя есть правило discovery. В нём указан OID «IF-MIB::ifDescr». Попробуй запросить его snmpwalk'ом с любого сеетвого устройства, получишь результат вида

low level discovery работает следующим образом. У сетевого устройства запрашивается IF-MIB::ifDescr, потом индекс из левой части берётся за <#SNMPINDEX>, а правая часть - за <#SNMPVALUE>. И эти данные используются при создании item'ов, trigger'ов и графиков из прототипов. Посмотри, как определены прототипы для item'ов и графиков.

<#SNMPINDEX> дальше используется в постороении SNMP OID'ов, его менять нельзя. <#SNMPVALUE> используется в именах графиков и Item'ов. И тебе нужно менять имена.

Далее, посмотри snmpwalk'ом не IF-MIB::ifDescr, а IF-MIB::ifAlias. Ты увидишь, что индексы в точности те же самые, а значения другие, и НЕ ВСЕГДА УНИКАЛЬНЫ.

Если ты хочешь видеть вместо имён интерфейсов описания, тебе придётся изменить правило discovery так, чтобы запрашивались IF-MIB::ifAlias, и вручную поменять все прототипы.

После этого - отменить привязку шаблона к хосту ( unlink and clean ) и добавить его заново.

Если ты хочешь видеть И имена, И описания, тебе придётся создавать внешний скрипт, который будет выполнять discovery самостоятельно, и выдавать на STDOUT результат в JSON. См. ссылку выше. И опять же заново перепривязывать шаблон к хосту.

Ответ на: комментарий от router 09.11.2013 23:33:36

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

Проблема с PHP time zone, извините если задал вопрос не там, где надо.

Всем доброго времени суток. подскажите пожалуйста что делать, у меня постоянно возникает ошибка в PHP time zone, перепробовал уже все возможные варианты, но ошибка не уходит :( ставлю zabbix на ubuntu

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Snmp discovery:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Автоматизируем мониторинг: низкоуровневое обнаружение - Версия для печати

    Автоматизируем мониторинг: низкоуровневое обнаружение

    Мониторинг большого количества устройств требует в помощь инструменты автоматизации. Иначе, если все делать мышкой, то можно “укликаться”, пока добавишь и настроишь все, что требовалось. К тому же, обязательно где-нибудь ошибёшься, человек не робот. Благо, в Zabbix все эти инструменты есть: это шаблоны [1]. API [2]. обнаружение сетевых устройств [3]. авторегистрация [4] Zabbix-агентов.

    И вот с версии 2.0 сюда добавилось Low-Level Discovery (LLD) [5] или низкоуровневое обнаружение. Хотелось бы рассказать что это такое.

    Низкоуровневое обнаружение

    Обнаружение сетевых устройств (Network Discovery) — очень полезная штука, которая позволяет избежать ручного добавления новых узлов сети [6] и связывания их с нужными шаблонами. При чем можно создавать довольно сложные сценарии. Например, автоматически связывать нового клиента(его CPE) базовой станции Wi-Fi c нужным шаблоном для CPE и даже автоматически добавлять этот узел в нужном месте на карте. В документации [7] есть наглядный пример того как сетевое обнаружение настраивается.

    LLD становится нужен на следующем этапе, после того как узел найден и прикреплён к шаблону. LLD позволяет находить объекты самого узла.

    • файловых систем компьютера
    • сетевых интерфейсов компьютера
    • данных из SNMP-таблиц с одномерным индексом

    Можно расширить возможности LLD путем своих собственных скриптов, главное, чтобы на выходе скрипта для Zabbix был понятный ему вывод вида JSON.

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

    Конечно можно обойтись и без LLD, ведь во всех предыдущих версиях обходились же шаблонами. Вот только все, кто Zabbix используют, сталкивались с ситуацией, что в одном сервере логических дисков два, а в другом четыре. Что у одного коммутатора Ethernet-портов 8, а у другого из той же линейки – 24. Остается писать шаблон на 24 порта (на 4 диска), а потом, после привязки устройства вручную отключать лишние элементы данных, триггеры. Вот мы уже и “укликались”. А тут кто-то новый сервер сделал, а в нем этих дисков 8… А еще кто-то из коллег в существующем сервере еще одну партицию создал с нестандартным путем и ничего не сказал…

    Как это было раньше

    Чтобы понять, что нам дает LLD, нет ничего лучше наглядного примера. Вспомним, что приходилось делать с многопортовыми коммутатороми в предыдущих версиях Zabbix.

    Допустим, у нас есть коммутаторы Cisco, D-Link, Zyxel и прочий “зоопарк”. С количеством портов 5/8/16/24/50.

    Будем мониторить состояние портов, используя SNMPv2 и счетчики, описанные в IF-MIB. LLD у нас пока нет, поэтому начнем писать обычный шаблон. Назовем его Template_IF_MIB_SNMPV2 .

    В шаблоне для одного порта нам нужно создать 14 элементов данных (можно конечно и меньше, но мы решим, что нам критически важно собирать практически все), а также некоторое количество триггеров. графиков. В веб-интерфейсе Zabbix на это уйдет минут 10, если активно махать мышкой и пользоваться кнопкой “Клонировать”.

    Переведя дух, как-то продолжать не сильно хочется для других портов. Кому охота делать одно и то же 50 раз? Поэтому сразу возникают вопросы:

    • Как избежать траты времени при создании оставшихся портов (2-50)
    • Как избежать без ручного вмешательства заведомо обреченных на неудачу запросов к счетчикам с 6 по 50 порта, когда универсальный шаблон будет прикреплен к 5 портовому коммутатору
    • Как не засорять сеть опросами счетчиков портов, которые не используются

    Первую проблему можно попробовать решить, например, выгрузкой [11] шаблона в XML с последующим CTRL+C /CTRL+V в текстовом редакторе. Или даже написать небольшой внешний скрипт и генерировать XML им. Но…

    Что можно сделать теперь при помощи LLD

    Но с Low-Level Discovery у нас есть возможность сделать все гораздо проще. Вместо того, чтобы создавать элементы данных для одного порта, мы просто ОДИН раз создадим прототипы элементов данных, а также прототипы необходимых триггеров. Так как мы это делаем только один раз, то совсем не жалко потратить время и создать в дополнении также информативные графики, а точнее прототипы графиков.

    Итак, чтобы создать в шаблоне LLD заходим в правила обнаружения :

    Далее, нажимаем создать правило обнаружения и создаем новое правило, назовем его Network interfaces discovery :

    Указываем все как на картинке. Некоторые поля стоит прокомментировать:

    Настройка низкоуровневого обнаружения в Zabbix - IT Blog

    Настройка низкоуровневого обнаружения в Zabbix

    Низкоуровневое обнаружение позволяет автоматически создавать элементы данных, триггеры, графики.
    Массово его лучше не использовать, так как на практике заметил что оно дает значительную нагрузку на систему.

    Приведу пример настройки обнаружения для просмотра загрузки портов управляемого коммутатора.
    Для начала открываем «Настройка » — «Шаблоны «, создаем новый шаблон или напротив готового нажимаем «Обнаружение «.
    Нажимаем «Создать правило » и заполняем основные параметры:
    Name: Interaces
    Type: SNMPv2 agent
    Key: snmp.discovery
    SNMP OID: ifDescr
    SNMP community: public
    Port: 161

    Вместо «ifInOctets» аналогично можно использовать например: ifOutOctets, ifInErrors, ifOutErrors, ifInDiscards, ifOutDiscards, ifOperStatus и т.д.

    При создании графика в имени пишем например «Трафик. Порт <#SNMPINDEX>» и добавим в Item например два элемента данных, отвечающие за входящий (ifInOctets) и исходящий трафик (ifOutOctets).

    SNMP discovery MES-5248

    Элтекс

    Здравствуйте.
    Имеется сей гений инженерной мысли и мониторинг посредством zabbix. Пытаюсь сделать шаблон автоопределения портов с помощью snmp discovery, однако получается не то, на что я рассчитываю, потому что snmpvalue для интерфейсов всегда возвращает одно и то же значение:

    RFC1213-MIB::ifDescr.1 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.2 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.3 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.4 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.5 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.6 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.7 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.8 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.9 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.10 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.11 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.12 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.13 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.14 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.15 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.16 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.17 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.18 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.19 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.20 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.21 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.22 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.23 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.24 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.25 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.26 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.27 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.28 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.29 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.30 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.31 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.32 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.33 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.34 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.35 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.36 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.37 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.38 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.39 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.40 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.41 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.42 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.43 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.44 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.45 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.46 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.47 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.48 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1000 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1001 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1002 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1003 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1004 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1005 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1006 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1007 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1008 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1009 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1010 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1011 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1012 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1013 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1014 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1015 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1016 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1017 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1018 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1019 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1020 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1021 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1022 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1023 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1024 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1025 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1026 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1027 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1028 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1029 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1030 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.1031 = STRING: "Ethernet Interface"
    RFC1213-MIB::ifDescr.3000 = STRING: "Tunnel Interface"
    RFC1213-MIB::ifDescr.100000 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100008 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100014 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100019 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100031 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100047 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100172 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100206 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100302 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100308 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100414 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100501 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100524 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100526 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100641 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100642 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100643 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100665 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100666 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100685 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100701 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100848 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100852 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100887 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100909 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100914 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100922 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100936 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100970 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100981 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100987 = STRING: "vlan"
    RFC1213-MIB::ifDescr.100995 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101110 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101615 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101899 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101900 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101901 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101902 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101903 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101904 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101905 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101906 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101907 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101908 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101984 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101998 = STRING: "vlan"
    RFC1213-MIB::ifDescr.101999 = STRING: "vlan"
    RFC1213-MIB::ifDescr.102000 = STRING: "vlan"
    RFC1213-MIB::ifDescr.102001 = STRING: "vlan"
    RFC1213-MIB::ifDescr.102276 = STRING: "vlan"
    RFC1213-MIB::ifDescr.102504 = STRING: "vlan"

    когда коммутатор здорового человека, возвращает разные значения:

    RFC1213-MIB::ifDescr.1 = STRING: "GigabitEthernet1/1"
    RFC1213-MIB::ifDescr.2 = STRING: "GigabitEthernet1/2"
    RFC1213-MIB::ifDescr.3 = STRING: "Vlan1"
    RFC1213-MIB::ifDescr.4 = STRING: "EOBC0/0"
    RFC1213-MIB::ifDescr.5 = STRING: "EOBC0/2"
    RFC1213-MIB::ifDescr.6 = STRING: "Null0"
    RFC1213-MIB::ifDescr.7 = STRING: "SPAN RP Interface"
    RFC1213-MIB::ifDescr.8 = STRING: "SPAN SP Interface"
    RFC1213-MIB::ifDescr.9 = STRING: "Control Plane"
    RFC1213-MIB::ifDescr.10 = STRING: "unrouted VLAN 1"
    RFC1213-MIB::ifDescr.11 = STRING: "unrouted VLAN 1002"
    RFC1213-MIB::ifDescr.12 = STRING: "unrouted VLAN 1004"
    RFC1213-MIB::ifDescr.13 = STRING: "unrouted VLAN 1005"
    RFC1213-MIB::ifDescr.14 = STRING: "unrouted VLAN 1003"
    RFC1213-MIB::ifDescr.15 = STRING: "unrouted VLAN 2"
    RFC1213-MIB::ifDescr.16 = STRING: "unrouted VLAN 9"
    RFC1213-MIB::ifDescr.17 = STRING: "unrouted VLAN 647"
    RFC1213-MIB::ifDescr.18 = STRING: "unrouted VLAN 666"
    RFC1213-MIB::ifDescr.19 = STRING: "unrouted VLAN 667"
    RFC1213-MIB::ifDescr.20 = STRING: "unrouted VLAN 763"
    RFC1213-MIB::ifDescr.21 = STRING: "unrouted VLAN 936"
    RFC1213-MIB::ifDescr.22 = STRING: "unrouted VLAN 937"
    RFC1213-MIB::ifDescr.23 = STRING: "unrouted VLAN 940"
    RFC1213-MIB::ifDescr.24 = STRING: "unrouted VLAN 996"
    RFC1213-MIB::ifDescr.25 = STRING: "TenGigabitEthernet2/1"
    RFC1213-MIB::ifDescr.26 = STRING: "TenGigabitEthernet2/2"
    RFC1213-MIB::ifDescr.27 = STRING: "TenGigabitEthernet2/3"
    RFC1213-MIB::ifDescr.28 = STRING: "TenGigabitEthernet2/4"
    RFC1213-MIB::ifDescr.29 = STRING: "TenGigabitEthernet2/5"
    RFC1213-MIB::ifDescr.30 = STRING: "TenGigabitEthernet2/6"
    RFC1213-MIB::ifDescr.31 = STRING: "TenGigabitEthernet2/7"
    RFC1213-MIB::ifDescr.32 = STRING: "TenGigabitEthernet2/8"
    RFC1213-MIB::ifDescr.33 = STRING: "TenGigabitEthernet3/1"
    RFC1213-MIB::ifDescr.34 = STRING: "TenGigabitEthernet3/2"
    RFC1213-MIB::ifDescr.35 = STRING: "TenGigabitEthernet3/3"
    RFC1213-MIB::ifDescr.36 = STRING: "TenGigabitEthernet3/4"
    RFC1213-MIB::ifDescr.37 = STRING: "TenGigabitEthernet3/5"
    RFC1213-MIB::ifDescr.38 = STRING: "TenGigabitEthernet3/6"
    RFC1213-MIB::ifDescr.39 = STRING: "TenGigabitEthernet3/7"
    RFC1213-MIB::ifDescr.40 = STRING: "TenGigabitEthernet3/8"
    RFC1213-MIB::ifDescr.41 = STRING: "unrouted VLAN 8"
    RFC1213-MIB::ifDescr.42 = STRING: "unrouted VLAN 12"
    RFC1213-MIB::ifDescr.43 = STRING: "unrouted VLAN 26"
    RFC1213-MIB::ifDescr.44 = STRING: "unrouted VLAN 27"
    RFC1213-MIB::ifDescr.45 = STRING: "unrouted VLAN 28"
    RFC1213-MIB::ifDescr.46 = STRING: "unrouted VLAN 29"
    RFC1213-MIB::ifDescr.47 = STRING: "unrouted VLAN 30"
    RFC1213-MIB::ifDescr.48 = STRING: "unrouted VLAN 35"
    RFC1213-MIB::ifDescr.49 = STRING: "unrouted VLAN 58"
    RFC1213-MIB::ifDescr.50 = STRING: "unrouted VLAN 71"
    RFC1213-MIB::ifDescr.51 = STRING: "unrouted VLAN 720"
    RFC1213-MIB::ifDescr.52 = STRING: "unrouted VLAN 721"
    RFC1213-MIB::ifDescr.53 = STRING: "unrouted VLAN 722"
    RFC1213-MIB::ifDescr.54 = STRING: "unrouted VLAN 723"
    RFC1213-MIB::ifDescr.55 = STRING: "unrouted VLAN 724"
    RFC1213-MIB::ifDescr.56 = STRING: "unrouted VLAN 725"
    RFC1213-MIB::ifDescr.57 = STRING: "unrouted VLAN 726"
    RFC1213-MIB::ifDescr.58 = STRING: "unrouted VLAN 844"
    RFC1213-MIB::ifDescr.59 = STRING: "unrouted VLAN 908"
    RFC1213-MIB::ifDescr.60 = STRING: "unrouted VLAN 1115"
    RFC1213-MIB::ifDescr.61 = STRING: "Vlan58"
    RFC1213-MIB::ifDescr.62 = STRING: "Loopback0"
    RFC1213-MIB::ifDescr.63 = STRING: "Loopback1"
    RFC1213-MIB::ifDescr.64 = STRING: "Loopback2"
    RFC1213-MIB::ifDescr.65 = STRING: "Loopback3"
    RFC1213-MIB::ifDescr.66 = STRING: "Loopback5"
    RFC1213-MIB::ifDescr.67 = STRING: "Port-channel1"
    RFC1213-MIB::ifDescr.68 = STRING: "Port-channel2"
    RFC1213-MIB::ifDescr.69 = STRING: "Port-channel2.4"
    RFC1213-MIB::ifDescr.70 = STRING: "unrouted VLAN 4 for Port-channel2.4"
    RFC1213-MIB::ifDescr.71 = STRING: "Port-channel2.508"
    RFC1213-MIB::ifDescr.72 = STRING: "unrouted VLAN 508 for Port-channel2.508"
    RFC1213-MIB::ifDescr.73 = STRING: "Port-channel2.626"
    RFC1213-MIB::ifDescr.74 = STRING: "unrouted VLAN 626 for Port-channel2.626"
    RFC1213-MIB::ifDescr.75 = STRING: "Port-channel2.707"
    RFC1213-MIB::ifDescr.76 = STRING: "unrouted VLAN 701 for Port-channel2.707"
    RFC1213-MIB::ifDescr.78 = STRING: "Port-channel2.831"
    RFC1213-MIB::ifDescr.79 = STRING: "unrouted VLAN 831 for Port-channel2.831"
    RFC1213-MIB::ifDescr.82 = STRING: "Port-channel2.1911"
    RFC1213-MIB::ifDescr.83 = STRING: "unrouted VLAN 1911 for Port-channel2.1911"
    RFC1213-MIB::ifDescr.84 = STRING: "Port-channel3"
    RFC1213-MIB::ifDescr.85 = STRING: "Port-channel3.3"
    RFC1213-MIB::ifDescr.86 = STRING: "unrouted VLAN 3 for Port-channel3.3"
    RFC1213-MIB::ifDescr.87 = STRING: "Port-channel3.507"
    RFC1213-MIB::ifDescr.88 = STRING: "unrouted VLAN 507 for Port-channel3.507"
    RFC1213-MIB::ifDescr.89 = STRING: "Port-channel3.625"
    RFC1213-MIB::ifDescr.90 = STRING: "unrouted VLAN 625 for Port-channel3.625"
    RFC1213-MIB::ifDescr.91 = STRING: "Port-channel3.706"
    RFC1213-MIB::ifDescr.92 = STRING: "unrouted VLAN 702 for Port-channel3.706"
    RFC1213-MIB::ifDescr.95 = STRING: "Port-channel3.849"
    RFC1213-MIB::ifDescr.96 = STRING: "unrouted VLAN 849 for Port-channel3.849"
    RFC1213-MIB::ifDescr.97 = STRING: "Port-channel3.1910"
    RFC1213-MIB::ifDescr.98 = STRING: "unrouted VLAN 1910 for Port-channel3.1910"
    RFC1213-MIB::ifDescr.99 = STRING: "Port-channel4"
    RFC1213-MIB::ifDescr.100 = STRING: "Port-channel7"
    RFC1213-MIB::ifDescr.101 = STRING: "Port-channel8"
    RFC1213-MIB::ifDescr.102 = STRING: "Port-channel8.515"
    RFC1213-MIB::ifDescr.103 = STRING: "unrouted VLAN 515 for Port-channel8.515"
    RFC1213-MIB::ifDescr.104 = STRING: "Port-channel8.640"
    RFC1213-MIB::ifDescr.105 = STRING: "unrouted VLAN 640 for Port-channel8.640"
    RFC1213-MIB::ifDescr.106 = STRING: "Port-channel8.721"
    RFC1213-MIB::ifDescr.107 = STRING: "unrouted VLAN 719 for Port-channel8.721"
    RFC1213-MIB::ifDescr.110 = STRING: "Port-channel8.869"
    RFC1213-MIB::ifDescr.111 = STRING: "unrouted VLAN 869 for Port-channel8.869"
    RFC1213-MIB::ifDescr.112 = STRING: "Port-channel8.1931"
    RFC1213-MIB::ifDescr.113 = STRING: "unrouted VLAN 1931 for Port-channel8.1931"
    RFC1213-MIB::ifDescr.114 = STRING: "Port-channel9"
    RFC1213-MIB::ifDescr.115 = STRING: "Vlan12"
    RFC1213-MIB::ifDescr.116 = STRING: "Vlan12-mpls layer"
    RFC1213-MIB::ifDescr.117 = STRING: "Vlan26"
    RFC1213-MIB::ifDescr.118 = STRING: "Vlan26-mpls layer"
    RFC1213-MIB::ifDescr.119 = STRING: "Vlan28"
    RFC1213-MIB::ifDescr.120 = STRING: "Vlan28-mpls layer"
    RFC1213-MIB::ifDescr.121 = STRING: "Vlan29"
    RFC1213-MIB::ifDescr.122 = STRING: "Vlan29-mpls layer"
    RFC1213-MIB::ifDescr.123 = STRING: "Vlan30"
    RFC1213-MIB::ifDescr.124 = STRING: "Vlan30-mpls layer"
    RFC1213-MIB::ifDescr.125 = STRING: "Vlan35"
    RFC1213-MIB::ifDescr.126 = STRING: "Vlan35-mpls layer"
    RFC1213-MIB::ifDescr.127 = STRING: "Vlan71"
    RFC1213-MIB::ifDescr.128 = STRING: "Vlan71-mpls layer"
    RFC1213-MIB::ifDescr.129 = STRING: "Vlan720"
    RFC1213-MIB::ifDescr.130 = STRING: "Vlan721"
    RFC1213-MIB::ifDescr.131 = STRING: "Vlan722"
    RFC1213-MIB::ifDescr.132 = STRING: "Vlan723"
    RFC1213-MIB::ifDescr.133 = STRING: "Vlan724"
    RFC1213-MIB::ifDescr.134 = STRING: "Vlan725"
    RFC1213-MIB::ifDescr.135 = STRING: "Vlan726"
    RFC1213-MIB::ifDescr.136 = STRING: "Tunnel0"
    RFC1213-MIB::ifDescr.137 = STRING: "Tunnel1"
    RFC1213-MIB::ifDescr.138 = STRING: "Tunnel2"
    RFC1213-MIB::ifDescr.139 = STRING: "Tunnel3"
    RFC1213-MIB::ifDescr.140 = STRING: "Tunnel4"
    RFC1213-MIB::ifDescr.141 = STRING: "Tunnel5"
    RFC1213-MIB::ifDescr.142 = STRING: "Tunnel6"
    RFC1213-MIB::ifDescr.143 = STRING: "Tunnel7"
    RFC1213-MIB::ifDescr.144 = STRING: "Tunnel8"
    RFC1213-MIB::ifDescr.145 = STRING: "Tunnel9"

    Собственно у меня по этому поводу огромная просьба к разработчикам софта для этого MES-5248: Не могли бы Вы, пожалуйста, при snmp запросе ifDescr научить эту железяку возвращать в значении уникальные идентификаторы порта, как это делает, например, цыска в пасте выше? Я был бы Вам очень признателен.

    Zabbix Cisco discover SNMP - template

    I-Notes.Org Zabbix Cisco discover SNMP template


    Давно хотел выложить данный шаблон, да все никак времени не мог выделить, данный шаблон подойдет в принципе под любой свитч с поддержкой snmp, только некоторые oid надо будет переписать, а тестровался и писался исключительно под cisco оборудование.
    Подключив шаблон к устройству, просто укажите в макросах
    $ — snmp коммьюнити.
    Шаблон автоматически определит все интерфейсы устройства и добавит графики нагрузки, кстати некоторые элементы данных отключены, но я думаю не проблема их включить при необходимости
    Скачать шаблон

    Поделись с друзьями: Смотрите также:
    • Zabbix APC Switched Rack PDU SNMP template
    • VmWare esxi 5.x enable snmp
    Написать комментарий поиск по сайту Ваш IP адрес: Ваш user agent:

    Mozilla/4.0 (compatible; MSIE 8.0; S60; SymbOS; Opera Mobi/SYB-1107071606; en) Opera 11.10

    Большой брат следит за тобой. ))

    самый случайный пароль: ваше мнение мы вконтакте крайние статьи обсуждение категории Ключевые слова Архивы Ссылки Инфа

    Копирование, либо перепечатывание информации с данного блога без обратной гиперссылки, на первоисточник, запрещена, и на сколько мне известно наказывается по закону! Так что семь раз отмерь, ой не то. семь раз подумай, прежде чем стырить какую-то из моих статей! ;) По всем интересующим вопросам, можно связаться через форму обратной связи. Спасибо за внимание.

    Хостинг

    Выражаем благодарность Server Club за любезно предоставленный хостинг!

    Snmp discovery

    Zabbix. Обнаружение, SNMP (Предварительный анализ, Настройка snmp запросов, Постройка ффкусняшек)

    Приветствую тех, кто не читал предыдущие 3 главы/раздела. А сразу, так сказать, перешел в наступление. Ничего плохого в этом нету, я такой же, как и вы. Ну да ладно.
    Итак, что мы имеем на даный момент: подготовленый и настроенный сервер мониторинга. Который просто напросто мечтает мониторить всё подряд в вашей сети. Что ж, давайте дадим ему такую возможность.

    Итак, я обычно использую два способа мониторинга: это либо обычный пинг, либо опрос по ssh. Для решения моих задач этого хватает с головой и выше крыши. Но я также понимаю, что есть люди, которые наблюдают за серверами, за их службами и тд. и тп. И это здорово. Таким людям я посоветую использовать Zabbix-агент. Который, например, при обнаружении в процессе мониторинга того, что служба не поднята, может ее запустить. Или можете поизвращаться: запускать и тушить службу по расписанию. Скажу сразу, настраивать агент не сложно, я по-началу даже хотел это описание включить в мануал. Но потом передумал, так как мои случаи слишком тревиальны и просты. Тем более на офф сайте замечательно всё расписано. Но, если вдруг я буду настраивать что-то интересное с помощью агента, то в этих статьях сразу появятся записи. Только вы не подумайте, что я такой не умеха. В моей практике были и умопомрачительные требования, но они настолько специфичны и редки, что их просто нету смысла включать в описание, я лишь опишу самое основное, так сказать первые шаги. А дальше, как я всегда говорю, нет ничего такого, что бы вы не смогли сделать, тем более, если это сделали до вас. Предел возможности это предел вашей фантазии. Что-то увлекся я писаниной. Ближе к телу делу.

    А начнём мы с самого простого.
    Для начала мы определимся, что конкретно мы хотим мониторить в сети. Какое оборудование, и какие диапазоны IP оно покрывает. Ну и в дальнейшем облегчим себе жизнь.
    И так лезем сюда
    Настройка -> Обнаружение
    Видим что-то такое.

    Дальше Создать правило.


    И тут мы заполняем поля.
    Обнаружение делаем простейшее по пингу. А в диапазон ip адресов вносим те сети, которые мы будем мониторить.
    Вносить сети можно так.
    10.10.10.0-255,40.40.40.0-65,40.40.40.68-90,40.40.40.100-255
    Главное чтобы перечесления шли через обычную запятую.
    Состояние выбираем "деактевирован". Мы это потом запустим.
    Жмём сохранить.
    Теперь подготовимся к автомотической сортировке. Открываем
    Настройка->Группы узлов сети , создаём группу. В появившемся окне заполняем название группы. И больше ничего не делаем. Нажимаем Сохранить (если у вас будет групп больше чем одна, есть смысл создать их все сейчас). И дальше лезем сюда
    Настройка->Действие
    Справа в углу выбираем обнаружение

    Потом жмакаем на кнопочку Создать действие .

    В появившемся меню

    Мы будем создавать условия, при которых это действие будет срабатывать. Это нужно для того, чтобы необходимые нам объекты попали в нужную нам группу(ы), которую(ые) мо создали. Итак, первым делом создаём условия действия.
    В меню условия действия (выделенно красным) нажимаем на кнопку Новый (её видно на картинке выше). И вы увидите меню, которое показанно ниже.
    Из этого меню нам нужно 3 составляющие, при выполнении которых у нас будет срабатывать действие.
    Итак, это:
    Состояние обнаружеие = UP
    Правило обнаружение = Local network (внимание, если правило обнаружения вы назвали пупкин, то у вас вместо Local network будет пупкин. Будьте бдительны)
    IP адресс узла сети = 10.10.10.0-10.10.10.50,10.10.10.52-255,40.40.40.0-255
    Тут вы пишете предпологаемые IP адреса, которые будут находиться в этой группе. Я писал сети с запасом. Однако есть ситуации, когда один IP из этой подсети 100% будет находиться в другой группе. В таком случае я его исключал из этого диапазона. Это я показал на примере выше.

    В итоге, вы будете иметь что-то такое


    Можете удалить все что находится в полях тема по умолчанию. В общем, можете сделать, как показано на картинке выше. Следующим в очереди будет Операция действия, при выполнений условий будет выполняться эта операция. Нажимаем новый , выбираем пункт добавит в группу и выбираем нужную для нас группу.
    В конце всего этого нажимаем на кнопочку Сохранить .
    Итак, мы успешно создали действие, которое будет фильтровать обнаруженные IP в нужные для нас группы. По аналогии создадим действия для других групп. По аналогии создаются и тригеры, при срабатывании которых будет запускаться действие. Это может быть и отсылка сообщения к вам на почту или же запуск действия по snmp, например запуск определённой службы. Об этом я напишу чуть позже. Но если вы разберётесь сами, это будет хорошим плюсом в вашу сторону.

    Теперь я вам на простом примере расскажу, как работать с snmp запросами. Дальнейшие действия с snmp будут почти похожи. Тут самое главное уловить суть.
    Вот наше задание.
    У нас есть маршрутизатор/свитч cisco (не суть, какое оборудование, мне была удобна cisco, вам может быть будет удобен juniper,d-link, не важно) и нам на одном интерфейсе ( или например подинтерфейс на маршрутизаторе) нужно мониторить нагрузку на интернет канал (для вас это может быть и просто мониторинг сетевого трафика, для анализа пропускной способности вашей сети.) Вообще, вы можете построить график из любых данных хоть из данных по пингу. Тут, я ещё раз повторюсь, главное - это уловить суть.

    Итак, в моем случае, это маршрутизатор. И надо смотреть нагрузку на интернет канал, в сторону нашего провайдера.
    С чего начать? Начинайте с чего угодно. Я обычно начинаю с прописывания политик для snmp на самой cisco. У еня это выглядит вот так:
    Вот так вот, всего три строчки. А по большому счету всего только одна.

    Допустим вы первый раз слышите, что такое это ваше snmp. Что это за магические 4 буквы вы можете прочитать в википедии. Дальше я покажу, как проверять запросы, не занося их сначала в заббикс. А вдруг вы вносили их, вносили, а они оказались не те что надо. И давай всё сначала. Я покажу, как делать запросы из омандной строки.
    Так как мы будем делать запросы с нашего сервера Zabbix, то и отправлять тестовые запросы мы тоже будем с него.
    Конектимся к серверу, заходим под рутом в командную строку. И пишем вот это
    На выходе получите что-то типа такого
    tRaliVali это нечто иное, как наш public key. Другими словами: это пароль для запросов snmp.
    ifInOctets - это запрос. Какие именно данные мы хотим получить с cisco. В данном случае это показывает входящий трафик, количество байт в секунду (byte/s) в данный момент опроса. Соответственно ifOutOctets покажет исходящий трафик интерфейса. Так как провайдер у меня воткнут прямиком в маршрутизатор, то исходящий трафик для меня будет исходящим трафиком интерфейса на маршрутизаторе, а входящий трафик для меня будет входящим трафиком интерфейса на маршрутизаторе. Запомните, чётко представляйте все то, что вы делаете и хотите получить, тогда не запутаетесь и не ошибётесь.
    Ну вроде бы понятно, как работает snmp запрос. И я знаю, с какого интерфейса я хочу получить данные. А что делать, если я не знаю как в cisco или какой номер должен стоять, если я хочу снять данные с под-интерфейса, который отвечает за 280 VLAN и физически воткнут в 3 порт на cisco.
    В настройках cisco он выглядит так.
    Так как я знаю, что имя интерфейса - GigabitEthernet0/3.280, то запрос на сервере будет выглядить так:

    Вывод команды будет такой:
    Сейчас думаете: "их же тут 2! Какой из них?". Но я то знаю благодаря предварительному ознакомлению с snmp.
    .1.3.6.1.2.1.2.2.1.2.i - это описание интерфейса i. Таким образом, я делаю вывод, что нам нужна 1 строчка. И отсюда узнаю, что в запросе будет учавствовать интрфейс под номером 28.
    Вот таким вот нехитрым образом можно делать предварительные запросы snmp прямо из командной строки.

    Допустим, мы узнали уже всё, что нам нужно. И мы бы хотели всё это дело завести в мониторинг.

    Заходим
    Настройка -> узы сети
    Выбираем требуемую для нас cisco (в моём случаи это ciscoo 7201)
    И выбираем элементы данных

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

    Теперь, что и как мы вносим в поля.
    ОПИСАНИЕ - пусть будет KANAL in (мы же смотрим входящий трафик)
    Тип - SNMPv2 агент (ну я пользую второй. хотя первый тоже подходит)
    SNMP OID - вносим эти загадочные циферки ( у меня .1.3.6.1.2.1.2.2.1.10.48 вносим как есть с точкой впереди)
    SNMP community - пароль. В данном мануале это tRaLiVali (регистр имеет значение)
    Ключь - ifInOctets.48 (знакомое что-то верно?)
    Тип информации - числовой (целое)
    Тип данных - Десятиричный
    Единица измерения - bps (мы же скорость мерим)
    Использовать множитель - Пользовательский множитель
    Пользовательский множитель - 8
    Интервал обновления - 15 (я понял, что раз в 15 сек. это для меня то, что нужно. Некоторым и раз в 5 мин. - это норм)
    Состояние - Активен
    Хранить значения - Дельта (скорость в секунду)

    Обратите внимание что я указал только нужные для изминения поля. Если вы что-то не так написали, то и скорость у вас не так будет мериться, и график будет показывать невесть что. Пользовательский множитель, потому что в байте 8 бит.
    Нажимаем кнопку сохранить

    По аналогии делаем данные и для ifOutoctets.48
    Теперь рисуем график.
    Настройка -> узы сети
    Выбираем требуемую для нас cisco (в моём случаи это ciscoo 7201)
    И выбираем элементы данныхграфики (да-да вместо элементы данных выбираем графики в той же строчке, только правее)

    Потом в правом верхнем углу нажимаем кнопочку Создать график

    Сначало создаём для входящего трафика.
    В появившемся окне нажимаем кнопку
    Добавить
    потом в строке параметры выбрать
    Выбираем элемент данных, который мы недавно создали.
    По вкусу настраиваем (я напишу что выбираю я)
    Тип - простой
    Функция - среднее
    Способ черчения - заполение
    Цвет - 009900 (зелёный) (000099 - синий)
    Расположение оси Y - право
    Порядок сортировки (0->100) - 0

    сохранить

    Аналогично делаем и для исходящщего.
    После всего этого любуемся графиками
    Мониторинг -> Графики

    Вот так вот несложно создаются элементы данных. И строятся графики. Самое основное и принцип работы я вам описал. Как видите, это совсем не сложно. Но когда у вас объём работы большой, то это просто долго и нудно. Но что поделать, такая вот у нас работа. Зато потом красиво и наглядно всё видно. На этом эту часть мы закончим.

    Раздел с картами, я думаю, вы осилите сами. К сожалению, я не смогу вам показать какую красоту можно сделать, используя карты. У одного провайдера я разрисовал всю его сеть по домам. И вывел это в отдельный отчет. Очень круто было, группа подержки мгновенно реагировала, потому что видела сразу где есть свет или какие проблемы происходят на том или ином участке. Но, к сожалению, сервер приказал долго жить. И то, что я делал в течении 3 месяцев нужно будет делать с 0. Вот такие вот случаи тоже бывают. Но думаю, что вы разберётесь сами. Там правда все очень-очень просто.

    P.S. я хотел было вынести рисование графиков в отдельную главу, но решил объединить с этой. И, наверно, это будет последняя часть мануала по введению. Я и так слишком долго уже пишу этот мануал (уже год как), просто физически нет на это времени. Но думаю, что благодаря ему администрация откроет ещё один раздел. И, думаю, я буду не единственным, кто напишет заметочки про Zabbix. Если что будет попадаться у меня интересное в настройках мониторинга, я обязательно буду выкладывать статьи. Желаю удачи.