Stak Опубликовано 9 февраля, 2015 · Жалоба Update: Выложил на Github. https://github.com/rmavrichev/zabbix Для желающих 3й версии - адаптированные шаблоны, файл zbx3_Basic_templates.xml . Включает: Basic App MySQL Basic App Zabbix Agent Basic App Zabbix Proxy Basic App Zabbix Server Basic Cisco SNMP with traps Basic IBM - IMM2 SNMP Basic ICMP Network Device Basic Juniper SNMP with traps Basic OS Linux Basic SNMP Network Device Basic Virt VMware Basic Virt VMware Guest Basic Virt VMware Hypervisor Адаптировал под себя шаблоны с низкоуровневым обнаружением (LLD) из поставки zabbix 2.2 , может кому-то ещё пригодятся. SNMP Interfaces with Traps Basic SNMP Network Device.xml Подходит для всего, что умеет IF-MIB (на циске, микротике и хуавее проверял), использует 64-бит счётчики. Теперь рисует дескрипшн интерфейса в имени графиков, discovery интерфейсов ограничен рег.выражением ^(.*Ethernet.*|Vlan.*|Tunnel.*|Port-channel.*)$[TRUE] (надо задать через меню "Администрирование", можно переопределить на уровне конкретного хоста (на Микротике по другому именуются интерфейсы, например) , ловит и складывает в кучу fallback-traps по SNMP (т.е. всё, что не попало под другие шаблоны трапов). Также умеет взводить триггеры на наличие ошибок на порту (больше 10 за период опроса суммарно для TX и RX), и перегрузку по TX или RX более 80%. Ловит SNMP трапы на IF-MIB::linkDown (падение интерфейсов) и взводит по ним триггер. Собирает инвентори через ENTITY-MIB, для всех модулей, у которых есть серийные номера. SNMP Cisco CPU and Memory with Traps Cisco SNMP with traps.xml Мониторит cpu, температуру, состав шасси, ловит циско-специфик трапы на некоторые события и взводит по ним триггеры. В общем, довесок к первому, специфичный для цисок. для трапов трансляцию oid в человеко-читаемые делал на уровне snmpd, т.е. zabbix-y отдаются уже оттранслированные трапы. Huawei SNMP with traps.xml Мониторит cpu, память, температуру и состояние алармов компонентов шасси (проверялся на NE40E), ловит трапы на некоторые события и взводит по ним триггеры. По идее, должен работать на всех хуавеях. Ещё есть полезный скриптик для пинания цисок на слив конфига на тфтп, используется как действие на триггер "изменение стартап-конфига". /usr/bin/snmpset -v 2c -O qv -t 5 -c {$SNMP_WRITE} {HOST.CONN} .1.3.6.1.4.1.9.2.1.55.{$TFTP_IP} s {HOST.HOST}-`date '+%Y%m%d_%H%M%S'`.txt 2>&1 P.S. Обновил шаблоны до крайних версий. zabbix_trap_receiver.pl.txt (переименовать в .pl) - версия ресивера с включенной транслацией hex->ascii (спасибо французам), т.к. некоторые железки отдают ifDescr в трапах как HEX-String (cisco 3750, например). Впрочем, некоторые (Dlink DGS3620) вообще не отдают.... P.P.S: Переработал шаблоны, добавил ивентори и триггер на падение интерфесов по трапу в базовый, в специфичные - добавлен мониторинг температуры, состояния блоков питания и вентиляторов. Также добавлен скрипт для сохранения конфигов с хуавея на тфтп. #!/bin/sh # GNU GPL # Zabbix global script for backup Huawei CFG to TFTP server # Usage: # ./hwGetConfig.sh Private 10.77.2.3 10.78.3.4 huawei.cfg # WARNING: filename MUST end with ".cfg" # Zabbix usage: # Global script like this: /usr/local/bin/hwGetConfig.sh {$SNMP_WRITE} {HOST.CONN} {$TFTP_IP} {HOST.HOST} 2>&1 # $1 {$SNMP_WRITE} # $2 {HOST.CONN} # $3 {$TFTP_IP} # $4 {HOST.HOST} /usr/bin/snmpset -v 2c -O qv -t 5 -c $1 $2 .1.3.6.1.4.1.2011.6.10.1.2.4.1.9.100 i 6 2>&1 /usr/bin/snmpset -v 2c -O qv -t 5 -c $1 $2 .1.3.6.1.4.1.2011.6.10.1.2.4.1.2.100 i 6 .1.3.6.1.4.1.2011.6.10.1.2.4.1.3.100 i 2 .1.3.6.1.4.1.2011.6.10.1.2.4.1.4.100 s $4-`date '+%Y%m%d_%H%M%S'`.cfg .1.3.6.1.4.1.2011.6.10.1.2.4.1.5.100 a $3 .1.3.6.1.4.1.2011.6.10.1.2.4.1.9.100 i 4 2>&1 #END zabbix_trap_receiver.pl.txt Basic SNMP Network Device.xml Cisco SNMP with traps.xml Huawei SNMP with traps.xml zbx3_Basic_templates.xml Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 17 марта, 2015 · Жалоба Разобрался, как выполнять скрипты на proxy (полезно, если с самого заббикс-сервера не во все сети есть доступ, можно попинговать, или дёрнуть конфиг). Можно это делать через zabbix_get, надо только поставить на прокси ещё и заббикс-агент, и разрешить в нём remote commands. пример:Ping (proxy) Скрипт Сервер /usr/bin/zabbix_get -s{$PROXY_IP} -p10050 -k"system.run[/bin/ping -c 3 {HOST.CONN} 2>&1]" П.С.: {$PROXY_IP} и другие переменные задаются через Администрирование -> Общие -> Макросы. Утилиты zabbix_get в пакете заббикс-сервера для бубунты не было, взял бинарник из пакета прокси. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 17 марта, 2015 · Жалоба Однозначно заберу себе, спасибо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 17 марта, 2015 · Жалоба Адаптировал под себя шаблоны с низкоуровневым обнаружением (LLD) из поставки zabbix 2.2 , может кому-то ещё пригодятся. SNMP Interfaces with Traps Подходит для всего, что умеет IF-MIB (на циске и микротике проверял), использует 64-бит счётчики. Теперь рисует дескрипшн интерфейса в имени графиков, discovery интерфейсов ограничен рег.выражением ^(.*Ethernet.*|Vlan.*|Tunnel.*|Port-channel.*)$[TRUE] (надо задать через меню "Администрирование", можно переопределить на уровне конкретного хоста (на МТ по другому именуются интерфейсы, например) , ловит fallback-traps по SNMP (т.е. всё, что не попало под другие шаблоны трапов). Также умеет взводить триггеры на падение порта (отключен по умолчанию, я включаю его для отдельных портов на уровне хоста), наличие ошибок на порту (больше 10 за период опроса суммарно для TX и RX), и перегрузку по TX или RX более 80%. SNMP Cisco CPU and Memory with Traps Мониторит сабж, температуру, состав шасси, ловит циско-специфик трапы на события и взводит по ним триггеры. В общем, довесок к первому, специфичный для цисок. П.С.: для трапов трансляцию oid в человеко-читаемые делал на уровне snmpd, т.е. zabbix-y отдаются уже оттранслированные трапы. P.P.S. Обновил шаблоны до крайних версий. Ещё есть полезный скриптик для пинания цисок на слив конфига на тфтп, используется как действие на триггер "изменение стартап-конфига". /usr/bin/snmpset -v 2c -O qv -t 5 -c {$SNMP_WRITE} {HOST.CONN} .1.3.6.1.4.1.9.2.1.55.{$TFTP_IP} s {HOST.HOST}-`date '+%Y%m%d_%H%M%S'`.txt 2>&1 Зачем мониторить? <name>Errors RX int $1</name> От этого толку мало, если хотите мониторить ошибки на портах, мониторте канальный уровень и физический. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 18 марта, 2015 · Жалоба Зачем мониторить? <name>Errors RX int $1</name> От этого толку мало, если хотите мониторить ошибки на портах, мониторте канальный уровень и физический. Ну собственно в этом триггере мониторится значение IF-MIB::ifInErrors.{#SNMPINDEX}, емнип, это и есть канальный уровень (CRC фрейма). Я только свёл два отдельных триггера из исходного шаблона в один, да графики поправил, что бы эти данные вместе с трафиком отображались. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 18 марта, 2015 · Жалоба Однозначно заберу себе, спасибо Пожалуйста :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergeiK Опубликовано 18 марта, 2015 · Жалоба Разобрался, как выполнять скрипты на proxy (полезно, если с самого заббикс-сервера не во все сети есть доступ, можно попинговать, или дёрнуть конфиг). Можно это делать через zabbix_get, надо только поставить на прокси ещё и заббикс-агент, и разрешить в нём remote commands. пример:Ping (proxy) Скрипт Сервер /usr/bin/zabbix_get -s{$PROXY_IP} -p10050 -k"system.run[/bin/ping -c 3 {HOST.CONN} 2>&1]" П.С.: {$PROXY_IP} и другие переменные задаются через Администрирование -> Общие -> Макросы. Утилиты zabbix_get в пакете заббикс-сервера для бубунты не было, взял бинарник из пакета прокси. Хм. А можно пояснть? Стандартный механизм через external_scripts на заббикс-прокси почему вам не понравился? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 18 марта, 2015 · Жалоба Хм. А можно пояснть? Стандартный механизм через external_scripts на заббикс-прокси почему вам не понравился? Разве external_scripts можно использовать в действиях, в ответ на срабатывание триггера, к примеру? У меня сложилось такое впечатление (возможно, что неверное) , что внешние скрипты - для проверок состояния чего-либо, т.е. наполнения элементов данных. Я говорил о глобальных скриптах, в 2.2.4 их , судя по всему, можно выполнять либо на сервере, либо на заббикс-агенте. Варианта с прокси я не нашёл. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergeiK Опубликовано 18 марта, 2015 · Жалоба Хм. А можно пояснть? Стандартный механизм через external_scripts на заббикс-прокси почему вам не понравился? Разве external_scripts можно использовать в действиях, в ответ на срабатывание триггера, к примеру? У меня сложилось такое впечатление (возможно, что неверное) , что внешние скрипты - для проверок состояния чего-либо, т.е. наполнения элементов данных. Я говорил о глобальных скриптах, в 2.2.4 их , судя по всему, можно выполнять либо на сервере, либо на заббикс-агенте. Варианта с прокси я не нашёл. Что значит глобальные? Я так понял, это actions script. Пожалуй, да, прокси это не умеет. Но тут совсем просто, ssh без пароля на удаленный хост вполне решает задачу. Хотя, ваш механизм тоже интересен :). Но вы использовали пинг в примере, а как action пинг использовать по меньшей мере странно. Пинг как раз как опросник идет. Snmpset или еще что-то было бы рационально... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
FATHER_FBI Опубликовано 18 марта, 2015 · Жалоба Зачем мониторить? <name>Errors RX int $1</name> От этого толку мало, если хотите мониторить ошибки на портах, мониторте канальный уровень и физический. Ну собственно в этом триггере мониторится значение IF-MIB::ifInErrors.{#SNMPINDEX}, емнип, это и есть канальный уровень (CRC фрейма). Я только свёл два отдельных триггера из исходного шаблона в один, да графики поправил, что бы эти данные вместе с трафиком отображались. Я бы вам все таки посоветовал мониторить: dot3StatsAlignmentErrors dot3StatsCarrierSenseErrors dot3StatsExcessiveCollisions dot3StatsFCSErrors Каждый тип ошибок влечет за собой свои конкретные косяки и при появлении определенного типа ошибок, уже за ранее можно определить в чем проблема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 19 марта, 2015 · Жалоба Что значит глобальные? Я так понял, это actions script. Пожалуй, да, прокси это не умеет. Но тут совсем просто, ssh без пароля на удаленный хост вполне решает задачу. Хотя, ваш механизм тоже интересен :). Но вы использовали пинг в примере, а как action пинг использовать по меньшей мере странно. Пинг как раз как опросник идет. Snmpset или еще что-то было бы рационально... Пинг просто для примера, а реально это мне было нужно для дёрганья конфига с цисок, если он поменялся. Пример: Cisco config backup (proxy) /usr/bin/zabbix_get -s{$PROXY_IP} -p10050 -k"system.run[/usr/bin/snmpset -v 2c -O qv -t 5 -c {$SNMP_WRITE} {HOST.CONN} .1.3.6.1.4.1.9.2.1.55.{$TFTP_IP} s {HOST.HOST}-`date '+%Y%m%d_%H%M%S'`.txt 2>&1]" Cisco config backup (server) /usr/bin/snmpset -v 2c -O qv -t 5 -c {$SNMP_WRITE} {HOST.CONN} .1.3.6.1.4.1.9.2.1.55.{$TFTP_IP} s {HOST.HOST}-`date '+%Y%m%d_%H%M%S'`.txt 2>&1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 19 марта, 2015 · Жалоба Я бы вам все таки посоветовал мониторить: dot3StatsAlignmentErrors dot3StatsCarrierSenseErrors dot3StatsExcessiveCollisions dot3StatsFCSErrors Каждый тип ошибок влечет за собой свои конкретные косяки и при появлении определенного типа ошибок, уже за ранее можно определить в чем проблема. Возможно, вы правы, но пока хватает. Сравнил на одной железке (свич доступа в офисе), через EtherLike-MIB можно получить заметно больше данных. snmpwalk -v 2c -c public -On 10.78.15.5 1.3.6.1.2.1.10.7.2.1 | grep Counter32 | grep -v 'Counter32: 0' .1.3.6.1.2.1.10.7.2.1.4.10002 = Counter32: 791 dot3StatsSingleCollisionFrames .1.3.6.1.2.1.10.7.2.1.4.10007 = Counter32: 75 .1.3.6.1.2.1.10.7.2.1.5.10002 = Counter32: 707 dot3StatsMultipleCollisionFrames .1.3.6.1.2.1.10.7.2.1.5.10007 = Counter32: 40 .1.3.6.1.2.1.10.7.2.1.8.10007 = Counter32: 6267 dot3StatsLateCollisions .1.3.6.1.2.1.10.7.2.1.18.10033 = Counter32: 1 dot3StatsSymbolErrors .1.3.6.1.2.1.10.7.2.1.18.10034 = Counter32: 1 .1.3.6.1.2.1.10.7.2.1.18.10041 = Counter32: 1 .1.3.6.1.2.1.10.7.2.1.18.10043 = Counter32: 1 rmavrichev@spb-nms-1:~$ snmpwalk -v 2c -c public -On 10.78.15.5 IF-MIB::ifInErrors | grep Counter32 | grep -v 'Counter32: 0' .1.3.6.1.2.1.2.2.1.14.10033 = Counter32: 1 .1.3.6.1.2.1.2.2.1.14.10034 = Counter32: 1 .1.3.6.1.2.1.2.2.1.14.10041 = Counter32: 14 - 13 из них runts, отдельного счётчика в EtherLike-MIB не нашёл. .1.3.6.1.2.1.2.2.1.14.10043 = Counter32: 1 Хотя из того, что удалось сопоставить с IF-MIB::ifInErrors - только dot3StatsSymbolErrors. For an interface operating at 100 Mb/s, the number of times there was an invalid data symbol when a valid carrier was present. В общем, желающие детализации - могут добавить самостоятельно :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GateKeeper Опубликовано 8 апреля, 2015 · Жалоба Что-то я давненько не следил за темой: они там у себя LLD-то как таковой пофиксили? тыц Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 13 апреля, 2015 · Жалоба Что-то я давненько не следил за темой: они там у себя LLD-то как таковой пофиксили? тыц Да вроде всё норм работает. Запилил на днях бэкап конфигов с Хуавея на тфпт, по триггеру на сохранения конфига, и остальные шаблоны причесал (инвентори добавил, мониторинг вентиляторов и температуры и ещё всяких полезностей). В первый пост сейчас добавлю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
azat174 Опубликовано 8 июля, 2015 · Жалоба Добрый день! Попробовал эти шаблон Basic_Snmp_Network_Device Подскажите пож-та Требует регулярные выражения на @SerialNumbers @Int_Discovery Гле их взять? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
p10neer Опубликовано 8 июля, 2015 · Жалоба ТС писал discovery интерфейсов ограничен рег.выражением ^(.*Ethernet.*|Vlan.*|Tunnel.*|Port-channel.*)$[TRUE] (надо задать через меню "Администрирование", можно переопределить на уровне конкретного хоста (на Микротике по другому именуются интерфейсы, например) От себя добавлю полный путь: Administration -> General -> Regular expressions. Stak, спасибо за шаблоны! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
azat174 Опубликовано 8 июля, 2015 · Жалоба ТС писал discovery интерфейсов ограничен рег.выражением ^(.*Ethernet.*|Vlan.*|Tunnel.*|Port-channel.*)$[TRUE] (надо задать через меню "Администрирование", можно переопределить на уровне конкретного хоста (на Микротике по другому именуются интерфейсы, например) От себя добавлю полный путь: Administration -> General -> Regular expressions. Stak, спасибо за шаблоны! Спасибо! А на @SerialNumbers, что за выражение? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
p10neer Опубликовано 8 июля, 2015 · Жалоба В Description Discovery rule Inventory видим следующее SerialNumbers - it's a regular expression, defined as:^([0-9a-zA-Z]+)$[TRUE] Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
azat174 Опубликовано 9 июля, 2015 · Жалоба В Description Discovery rule Inventory видим следующее SerialNumbers - it's a regular expression, defined as:^([0-9a-zA-Z]+)$[TRUE] Спасибо понял Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 28 августа, 2015 · Жалоба Обновил шаблоны, добавил чуть-чуть мелких оптимизаций. zbx_export_templates.xml Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alex-rj45 Опубликовано 20 октября, 2015 (изменено) · Жалоба Обновил шаблоны, добавил чуть-чуть мелких оптимизаций. Прикрепленные файлы Прикрепленный файл zbx_export_templates.xml (115,13К) Количество загрузок:: 18 На аггрегированых портах (проверял на cisco etherchannel) показывает неверную скорость. В консоли: 30 second input rate XXXXXXXXX bits/sec, по факту на графиках XXXXXXXXX*кол-во мемберов etherchannela. Как бы исправить? Изменено 20 октября, 2015 пользователем alex-rj45 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DejaVu Опубликовано 14 ноября, 2015 · Жалоба Коллеги, а ни ку у кого нет шаблона для cisco ip sla udp-jitter ? Я думал, легко найду - а нет, под какти есть - под заббикс не нашел. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
grfmaniak Опубликовано 15 марта, 2016 · Жалоба импортирую в Zabbix 3.0: Не удалось найти преобразование значений "ciscoEnvMonState" используемое в прототипу элементов данных "State of "$1"" в правиле обнаружения "Fan Sensors detect" на "Cisco SNMP with traps". Каким оно должно быть? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
p10neer Опубликовано 16 марта, 2016 · Жалоба 1 - normal 2 - warning 3 - critical 4 - shutdown 5 - notPresent 6 - notFunctioning Миграция прошла без проблем? Тоже присматриваюсь к 3 версии. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
KenaS Опубликовано 29 марта, 2016 · Жалоба Спасибо! Дай Бог тебе здоровья! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...