Zabbix: топология сети наглядно и автоматически

Управляете сетью большего размера, чем локалхост? Не управляете, но хотите научиться? Приглашаем вас на курс «Linux. Уровень 5. Zabbix. Мониторинг IT инфраструктуры предприятия». На бесплатном семинаре учебного центра «Специалист» при МГТУ имени Баумана вы узнаете, как научить Zabbix мониторить сеть автоматически: находить существующие и добавлять новые узлы, рисовать и обновлять топологию.

iv1cutamccowubgbjxpirduuwwe.jpeg

Проведёт семинар ведущий преподаватель центра «Специалист» при МГТУ имени Баумана, главный системный администратор сети МГТУ им. Н.Э. Баумана Вячеслав Александрович Лохтуров. Записывайтесь (или смотрите в записи) наши бесплатные семинары.

Всем привет! Зовут меня Лохтуров Вячеслав Александрович. Я работаю инженером в МГТУ имени Баумана. Со дня окончания его в 1997 году работаю инженером. Параллельно преподаю в учебном центре № 1 «Специалист» — компании, которая является дружественной МГТУ. Там работает много других преподавателей, сотрудников.

Темой вебинара будет часть моей работы как инженера — замечательная система мониторинга…

Топология сети: история вопроса, википедия Бауманки, источники


Запись вебинара можно будет посмотреть по этой ссылке: https://wiki.val.bmstu.ru — вики-формат. Адреса моей электронной почты: val@bmstu.ru, val@specialist.ru. Это методическое пособие я использую как инженер. Здесь очень много различных материалов. Если не понравится — по вашей с нами теме («Заббикс») очень много материалов в интернете.

С точки зрения методического материала и преподавания я использую раздел «Материалы по методике чтения курсов»:

dxxtbcel7fbzpfzncdnohifiopy.jpeg

И есть раздел с вебинарами. По каждому из прочитанных мною здесь есть запись:

y9syon5yqio6tinrekmuwju2qec.jpeg

Я сразу говорил: «Если будем делать — давайте сделаем самое крутое! Давайте покажем, как в «Заббиксе» автоматически строится топология сети. За 45 минут мне надо успеть это рассказать.
По поводу топологии сети: в МГТУ имени Баумана огромная сеть; соответственно, топология сети — это то, что нам очень нужно было уже давно. Исторически так сложилось, что «Заббикс» не был той системой, которую мы использовали на начальном этапе. Как все выходцы кафедр вроде информатики, управления, вычислительной системы, комплекса и сети мы всё любили программировать сами, и вот — напрограммировали…

У нас имеется небольшая википедия, которая используется для работы. И среди элементов этой википедии есть раздел, посвященный коммутации сети. Доступ к этой википедии ещё закрыт небольшим VPN«ом:

nwthkwj2jsj-srqt6xkqrvgpps0.jpeg

Я сейчас покажу, как выглядит топология сети у нас в университете. Это стоит того, чтобы увидеть;, а потом сравним с тем, что получится в результате:

maa27hc-e9fct-_lqqkig-pn6gs.jpeg

Мне кажется, всё ясно: все свичи и путь их к корневому коммутатору; если что-то пропало — мы быстро из этого текстового файла восстановим. Строится топология сети еженочно. Всё хорошо, но не зрелищно, конечно. Продать это сложно. Поэтому у нас в университете такая схема.

Топология сети нужна, когда какой-то коммутатор исчез. Чтобы понять, куда он был подключен


Мы с вами попробуем увидеть нечто более зрелищное. И некой отсылкой к тому, что мы с вами будем делать, является эта статья на форуме:

kjanrq-tf4gagfaq3sclcshi7ji.jpeg

5ruwv-zvi6w7keseask1zaxrctm.jpeg

В ней рассказывается, что есть какой-то чудесный скрипт, написанный на моём бывшем любимом языке Perl, которые опрашивает сетевое оборудование, делает из этого какие-то выводы и каким-то чудесным образом скармливает результаты «Заббиксу». Но Perl мы не будем использовать, а будем использовать кое-что другое.

Прощаемся с тем, что у нас есть. Перейдём к практике.

fujfvxfzwxeijmvenkvnsghzxzs.jpeg

Я буду счастлив, если вы сможете всё это воспроизвести в домашних условиях и постарался подготовить для этого всё, что только можно. После вебинара вы захотите всё повторить и начнёте с того, что вам потребуется развернуть «Заббикс», виртуальную машину, сеть. Как же это делать?

Дома вы наберёте команду ipconfig и увидите, что у вас дома такая IP-сеть (может, другая, но чаще всего такая):

nw0msdf_bqqc1rbf2v9poyhvd8m.jpeg

Пятый адрес (192.168.1.5) у меня здесь, а у вас может быть 20-й или 30-й… Наверняка есть Wi-Fi-роутер, который эти адреса выдаёт. Поэтому я сейчас нарисую топологию, исходя из того, что может быть у вас дома, чтобы вы могли это воспроизвести:

z_ilpvbesmx9x8x0ntvfyvgz6by.jpeg

  • У вас имеется WI-FI-роутер.
  • Система, в которой вы хотите воспроизвести вебинар.
  • Роутер раздаёт 192.168.1/24 — 1-й адрес WI-FI-роутера, а 5-й, например, — у вашей системы.
    Мы будем использовать виртуализацию. Кто не знает, что такое виртуализация — вы сейчас узнаете, что дома можно развернуть 2, 10, 20 машин, соединить их в хитрую сеть. Используя виртуализацию, мы развернём linux-систему, внутри которой будет «Заббикс». И чтобы никаких конфликтов у неё не было с другими вашими устройствами, мы назначим её адрес 100. Получается, машина у нас будет иметь адрес 192.168.100.


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

fw0p7_zevdd2b-hy4_myzkofi78.jpeg

Чтобы нам 45 минут не тратить на установку Debian, я возьму готовый предустановленный образ. Кому надо — пишите на почту, пришлю вам этот образ, хотя ничего особенно выдающегося в нём нет (просто чтобы не тратить время на инсталляцию):

hdsvju1d3xv2tlcppgmw7ze0fhk.jpeg

Пока он устанавливается, в методическом пособии можно увидеть раздел…

Развёртывание стенда


Там есть история про команду ipconfig:

uz3ma3gdidyrxl4ni-foi1xerse.jpeg

А дальше, когда машина развернётся:

1rby6nfa4-ie37px_jgo2gzdmsg.jpeg

Можно дать имя в настройках, дадим ей побольше оперативной памяти:

ybruel8q66rozvw0tlyjxg3gaxy.jpeg

Виртуализации разные бывают — VirtualBox хорош для домашнего использования. На предприятии мы с товарищами используем VSphere (очень довольны продуктом от VMware), но на курсах «Виртуалбокса» хватает более чем.

Сеть:

9sieaok8u0wwjefjyo8fgmze0y4.jpeg

Раз мы говорим, что эта машина будет подключена к нашей сети, мы сможем с ней работать — она должна быть соединена мостом с физическим адаптером. Mac-адрес перегенерирую. Запускаю нашу виртуальную машину:

jxtuvw-er7hyjbhh8de-zowhqcg.jpeg

И после запуска произвожу конфигурацию. В пособии перечислены файлы, которые нужно отредактировать: назначить машине имя, файл hosts желательно отредактировать, resolv.conf (отвечает за клиента DNS) и выбранный нами ip-адрес — эти четыре файла надо отредактировать. Я постараюсь сделать это как можно быстрее.

Развёртывание Zabbix


В образе сразу заведён пароль этого пользователя (root) — никогда его не используйте на практике! Только ради экономии времени я пользуюсь привилегированной учётной записью:

cfdkmtiq3gditwh0q8d5obxhqyw.jpeg

В пособии перечислены файлы, которые надо отредактировать.

ouww7abmkynaldx0c53orqbq1fi.jpeg

Далее даю название нашей машине (сервер мониторинга Zabbix):

o7aweyooy2otoditfxa76k4g6dw.jpeg

Файл hosts:

xkzum3abl5tgowzag-aq0eew_us.jpeg

Меняем адрес на 100-й и название нашего выдуманного домена (у каждого слушателя на наших курсах он свой, индивидуальный, как и сеть с доменом):

imskg32tktggjcqyi-ue7phl_ww.jpeg

Что ещё осталось? Resolv.conf (клиент DNS):

dj_dpbav7eoi7w59gjgnaclace4.jpeg

Corp1.un будет пристыковываться к коротким именам, а в качестве DNS-сервера работает, как правило, ваш WI-FI-роутер:

ncaomvyveyk93fjj6zklqzpvfni.jpeg

Что осталось? Самый главный, большой файл — network/interfaces. Здесь шаблон для разных курсов, много интерфейсов:

dmywakkly3qdswu_mkrpp1dxy0u.jpeg

Но у нашей машины будет один интерфейс. Она будет сервером мониторинга с 100-м адресом и ходить в интернет через 1-й:

2hogjvlx7gd5uxfxlvgmbalopdq.jpeg

Пожалуй, необязательно, но быстрее для применения всех файлов — перезагрузить машину.

Установка и запуск сервиса в Debian


«Заббикc» можно устанавливать различными способами. По «Заббиксу» имеется прекрасный сайт с документацией (кстати, на русском языке активный раздел поддерживается). Соответственно, здесь предлагаются разные варианты. Я являюсь большим сторонником установки ПО из штатного репозитория. Не случайно именно поэтому я выбрал «Дебиан»:

-9eu2cfgrndehx_bvjyjxo_gjwg.jpeg

pkhalax-z8jy1_vivipznmnozem.jpeg

Кстати, если всё сделано хорошо, то сейчас я должен иметь возможность подключиться к своей системе. Давайте попробуем сделать. Беру любимый клиент SSH и подключаюсь к системе 192.168.1.100:

sfmetrwaaftvvrjxe9jetdjpv3a.jpeg

Повезло:

reqezbzkzbnynazdnxp9blstocq.jpeg

Опять же, не очень правильно, что здесь разрешён вход пользователю root:

bu5j_eloihgsp4_8heomyuedskc.jpeg

Никогда так не делайте на предприятии! Здесь — только экономия времени.

enkrk6smoeftphgdxai8xooemcu.jpeg

Теперь мы должны установить «Заббикс». Будучи большим любителем и сторонником использования базового ПО и противником подключения всяких сторонних репозиториев, я буду ставить ту версию, которая есть в данном Debian. Опять же, спасибо авторам «Дебиана» — достаточно набрать установку такого пакета:

idad4z6qgksfxjtpl0zh8z6wu3c.jpeg

Вспомнил ещё одну вещь! Мы только что систему установили — надо синхронизировать репозиторий (apt update):

suho1w8zayqwukaczax17o2acgo.jpeg

Таким образом, достаточно набрать команду установки zabbix-server с поддержкой базы данных (БД) своей информации в SQL, как будет установлено достаточно много компонентов (пара минут должна уйти на инсталляцию):

hj1yokti8khkpotcwlzkfu-lnji.jpeg

Из чего состоит «Заббикс»


«Заббикс» состоит из следующих компонентов:

  • «Заббикс»-сервер;
  • он активно работает с конфигурацией, которую мы с вами будем настраивать вручную и автоматически;
  • свои данные он хранит в базе данных, в качестве которых могут использоваться различные СУБД; мы с товарищами чаще всего сталкивались с MySQL (самый распространённый вариант — его и возьмём), поэтому традиционно используем (хотя «Заббикс» готов работать с другими СУБД — PostgreSQL, и Oracle используются).


Для того чтобы мы с вами могли работать c «Заббиксом», используется так называемый frontend. Frontend Zabbix — это приложение, написанное, наверное, на PHP (может, не всё, но большая часть). Соответственно, само приложение используется веб-сервер. Пока ставится только эта часть (сейчас мы дождёмся её установки):

-pf7x13a5ap9clor_mxdrs3nj2i.jpeg

Окончена. Теперь, поскольку «Заббикс» использует базу данных, нам надо её создать, следуя документации. Чтобы создать БД, я буду использовать простой скрипт:

az7jlzl5ymcajcp1lkhebgv1nxa.jpeg

Не буду подробно рассказывать, какие команды что означают. Если кто-то с СУБД работал, тот увидит что-то знакомое — имя базы данных и так далее…

6vbdkkjydgvlkrnslc9_6s5xvr0.jpeg

Теперь, используя этот скрипт, создаю базу данных:

9-dsv2o62nrjbkpzx6jevg4ax_q.jpeg

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

zj31sdartmnaavfhghqy7im32bq.jpeg

То есть сейчас мы в MySQL загоняем метаданные, которые «Заббикс» будет использовать для хранения конфигурации и результатов:

ro1p0baiwev54t9ttf1k-36zyj4.jpeg

Не буду тратить время на то, чтобы глянуть, что он там создаст (будет огромное количество таблиц создано). «Заббикс» как продукт развивается уже более десяти лет и постоянно стремится стать всё лучше и лучше, поэтому структура данных там довольно увесистая. Но всё это «под капотом». Мы же, как администраторы, будем работать с внешним фронтенд-приложением, с которым всё будет просто, понятно и доступно.

Согласно документации, почему-то несколько файлов. Но раз они так сделали — значит, они знают, что нужно! База данных готова:

qlsfpgwecdjkq43bvi7-ddnbr4q.jpeg

Теперь, согласно документации, надо вот этому компоненту:

u-n0vlfpaz12mtjtdkvjekaf1za.jpeg

Объяснить, что он должен работать с БД, подключаясь под определённым логином и паролем. Делается это через файл конфигурации:

5xpmaappvlhi6dtjmzb90m8dbb4.jpeg

В самый конец файла вставляем:

89ghulcpbzbzw913qbznnaecsjm.jpeg

n8oo_yuz-elzo7w8scuvnwsjxo8.jpeg

Здесь у нас описывается, что сервер БД находится здесь под нашей учёткой:

u5vtwiauap-aibs5mbmgersdnji.jpeg

«Дебиан»-пакет под «Заббикс» не подразумевает автостарт. Перед вами — команда великого и ужасного SystemD, о которой есть великое множество холиваров:

4tmw_9on0khv1_i8flmuoufthkm.jpeg

Она делает запуск «Заббикса» автоматическим после загрузки сервера. Запускаем «Заббикс:

66ktajsilnljqvtg8rff03vw5ki.jpeg

Эти два компонента запущены:

jfppihb3mhcy6oc9ma6rzmxhqsy.jpeg

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

Развёртывание Zabbix. Локализация временной зоны


Я развернул образ, а в нём — неправильное время:

xumw-rual8waq_g1bs36hd660g8.jpeg

Дата у нас правильная. У нас временная зона неправильная, поэтому вот таким махом я её поправил:

ifstaqnjg4rrepsxshjhw_4o9p0.jpeg

Приступаем к frontend. Установка и запуск web-интерфейса


В Debian стоит установить такой пакет (после того, как будет установлен веб-сервер Apache):

alpti55pbgnyvxlkwg6cusjayje.jpeg

Будут установлены PHP, библиотека для связи программ, написанных на PHP, с MySQL. В общем, запускаю:

ohfxown1obtvst8-eqn988l5kjy.jpeg

Никаких действий выполнять долго не нужно, всё будет сделано автоматически:

fdgr6qma4k3n_ii43xiia9xpkmc.jpeg

Сейчас мы ставим вот этот компонент — фронтенд «Заббикса»; веб-сервер, и будем ему объяснять, что ему надо работать с «Заббикс»-сервером и СУБД:

vuxobykpvrchotjwrd6locuvp7e.jpeg

Через веб-сервер мы будем управлять «Заббиксом» и через него же будем смотреть, что же он там намониторил.

Он почти установился, и сейчас мы увидим, что он имеет близкое отношение к нашей стране. Разрабатывался он как приложение какого-то человека, работавшего в банке. Он решил настроить мониторинг и взял да написал свою программу вместо того, чтобы использовать готовую. Он работал в Риге, а мы с вами в Москве:

rdp-uuppjegozljjxljdvkcyctk.jpeg

В этом файле ↑ инициализации PHP необходимо это ↓ сделать:

afzdw6duwvdchcizhxre6pg-owm.jpeg

n9uv119oq-21nip3nyevkey0c50.jpeg

Не буду углубляться, как веб-приложение настраивается в «Дебиане». Достаточно подключить конфигурацию, которая досталась из пакета «Заббикса» и перезагрузить веб-сервер «Апач»:

cjwqdwnivhxabf6kbey1qs3yyso.jpeg

Подключаемся к frontend для настройки Zabbix


Почти готовы подключиться к фронтенду. Осталось только объяснить ему, где находится сервер баз данных. Здесь два варианта, и мы сделаем через Wizard. Для него потребуется файл, куда будут конфигурации записаны:

nphh1imvszjdktstdx-insdzihs.jpeg

А веб-сервер должен обладать правами на запись в этот файл:

x7dj_oz6sci-rbq_xqem-hyt_sg.jpeg

После чего можно попробовать подключиться в браузере. Можно по IP-адресу. У меня DNS настроен, поэтому я воспользуюсь возможностью:

0n1hlfvvisfesceo4d-rv2mra7g.jpeg

У нас появляется Wizard «Заббикса», где я буду нажимать Next, поскольку большинство его уже устанавливали:

5mcodckrskfsyf0rlu0omicrlnc.jpeg

qoqto_wcxr0gc_kwsr3ia12muhw.jpeg

5w1rpu_jvw5veghgbvrjltn722g.jpeg

zgjwngenwdojjj-jkx6um7kfnaa.jpeg

lii7t2ybvosn2l1dg0wc4tf2exm.jpeg

lzgvvams559x1iofedcqifizxy0.jpeg

Наш «Заббикс» готов к подключению. Вводим логин и пароль:

jxtf53atwbmrcyx9pjsiaqauffy.jpeg

Конфигурация, хосты… Никаких хостов не мониторит — «Заббикс» пока готов мониторить только сам себя, если мы установим Zabbix Agent:

5897zvb2kgkutggf-ccxvkpqlsy.jpeg

Разворачиваем облако коммутаторов


Но нашем вебинаре никаких «Заббикс»-агентов не будет. Это слишком просто и неинтересно! У нас с вами будет мониторинг распределённой сети, цепочек коммутаторов связи, поэтому нам понадобится эта цепочка коммутаторов. Где же их взять?

Я посоветовал использовать виртуализацию Virtual Box. Он позволяет эмулировать PC (компьютеры), а сейчас познакомлю вас с другим эмулятором, тоже используемый на наших курсах. Замечательный продукт — называется Graphical Network Simulator (GNS):

bef8d_bgqsw6r8xweossqbswqp8.jpeg

Этот эмулятор позволяет эмулировать оборудование Cisco. Здесь мы и развернём наше облако коммутаторов. Потребуется снова придумать название проекта (сохраним конфигурацию, вдруг завтра понадобится):

vrcwxiidkq-rt6rlkrw3bohkee8.jpeg

Если вы дома хотите научиться работать с оборудованием Cisco, поставьте себе этот GNS и сделайте так, как мы делаем на семинаре, а именно — развернём сейчас облако коммутаторов. Проблема в том, что в GNS нет коммутаторов (их эмуляция здесь отсутствует) — только эмуляция роутеров. Поэтому нам придётся положить роутер (перетащить курсором мыши):

3qkfw98g1cll_antal4ffvb3j8e.jpeg

И как-то сделать, чтобы он был коммутатором. Как сделать в GNS эмуляцию коммутаторов? Надо взять роутер 36-й серии. Можно назвать его коммутатором (клик правой кнопкой по коммутатору):

dshgzra7cwuo96scx-s5vzxxgmc.jpeg

Можно нарисовать коммутатор:

dwzbxklfnlvwgmewwyagg9ax61s.jpeg

khhtzlj_kwjdmmgofbbzrs1yove.jpeg

v8lywaans322t7f3vnrllvhidic.jpeg

Похож? Но настоящим коммутатором он станет только тогда, когда вы добавите туда вот такую плату:

cix9qkmxc6ow8v5iwqk-atxl_fu.jpeg

В этой линейке роутеров Cisco можно ставить 16-портовую Ethernet-плату. И для большого количества лабораторных работ, связанных с коммутаторами, эта плата вполне годится.
Коммутаторов у нас должно быть облако, поэтому сейчас я это облако сделаю (меняю название, картинку и вставляю плату). Начнём с трёх коммутаторов, а если успеем, то и четвёртый добавим:

bftirv6azk16f-do5lt1uqntz4m.jpeg

Соединять будем, особо не целясь не куда. У нас же топология должна будет автоматически построена:

n24dufxk_bsi44_xj95nvga6afi.jpeg

mq9blquvwehjkbmvt5pjlplgsjs.jpeg

Готово:

wjgtf8aqoy1vnx-h2-kiaw8oa7q.jpeg

Теперь я это дело запускаю:

pwe6f1uu9h0idchwsfqj6xpu_ae.jpeg

Поздравляю тех, кто впервые смотрит, как Cisco работает — так можно по-быстрому настроить коммутатор Cisco. А пока они у нас запускаются…

Это наша Windows-система (Windows 7) и Debian:

i6veukk0v9begz_gtkanjnx5sme.jpeg

Здесь виртуализация GNS3 и облако коммутаторов:

xujw6t_eaje5nbl_56akrkthhwk.jpeg

Теперь понятно, что происходит: в рамках одной машины используется две системы виртуализации. Виртуализация PC-систем (справа) и виртуализация Cisco-систем (слева):

66hxm25qeoexjawmjhhqpxy0yqa.jpeg

Надо сделать так, что сервер мог мониторить оборудование:

yoekfz41z6ls3l72ik5yv6hltps.jpeg

А чтобы он мог его мониторить, это оборудование должно иметь адреса в этой же сети:

verk8xxlqj_ldywe8dgkr7nw974.jpeg

Поэтому, долго не думая, я решил этим коммутаторам дать адреса (точки 101, 102, 103 для 1-го, 2-го и 3-го коммутаторов соответственно). 100-й — наш Linux:

fhxrnfp__tatacrxnf0i1egxato.jpeg

Настроить это можно следующим образом: пойти на авторизованный курс Cisco и вам за недорого это расскажут.

Для того, чтобы коммутатор был доступен для администрирования, нужно произвести следующие настройки — зайти в режим конфигурации, дать имя подходящее, назначить IP-адрес интерфейсу и скопировать результат в долговременную память:

xrhsof2vqmanjxahxyeeuwkitwy.jpeg

Я заготовлю рыбу, чтобы не тратить на это много времени. Первый коммутатор будет называться switch1, IP-адрес — 101-й. Эту конфигурацию я копирую в коммутатор:

he4qtcdsyugl9n7zlbsuvv1vdfm.jpeg

Два раза кликните по нужному коммутатору (сейчас — switch1):

uxgad5fmtc4q8xsr5tiry-yhkma.jpeg

gcmn75v8xtwb9icgrakorfvo_o4.jpeg

Настроили switch1. Теперь — конфигурация для второго свича: называется switch2, IP — 102:

rzh_g6y2i_5c3jxkrm2e3flbu-i.jpeg

w35ap6gewzm3zpsggptzpljb6xc.jpeg

Соответственно поступаем с третьим коммутатором.

Ну что, будет очень круто, если с нашего Windows-компьютера будет доступен не только наш сервер, но и то, что мы сейчас настроили:

4yvajrk9agiaacpycpxs6ojp6gq.jpeg

GNS3 — система хорошая. Я такой акцент делаю потому, что проблем с ней хватает: немного подглючивает, немного… Но для того, чтобы обучаться, вполне достаточно. Эта пауза для меня тревожная — надеюсь, всё обойдётся, и наш коммутатор ответит через какое-то время:

gq3qslehu1-r-_skqokqhowkvqw.jpeg

Ан нет, не ответит, сколько бы я не ждал! Связи не хватает между нашим компьютером и GNS. GNS сам по себе, так что не хватает ещё одного элемента:

v914vfcq1mexkh_tyr96b_b4qe4.jpeg

Подключаем Cloud


Для того чтобы эти коммутаторы стали доступны, необходимо использовать объект Cloud:

riuwwqk1kguxglmtswubooqglas.jpeg

Сегодня Cloud использует его в совершенно другом смысле. Авторы GNS как интернет-сервис провайдера. В настройках этого объекта я могу его подключить к своей сетевой карте:

gwrir-quzcq745winbjfqhdry88.jpeg

Выглядит она страшно, но это та самая сетевая карта:

ylzquxupsoni1diu2tm2zuwbbwc.jpeg

lbplskyzgznkrrla6utigrs0qr0.jpeg

Cloud я положил. Теперь нужно соединить один из коммутаторов с Cloud (только тогда связь может появиться):

e9kz40sqnsx0avn3qmpijjuc7lu.jpeg

Подозреваю, что быстрее в нашем случае перезагрузить коммутатор, чтобы всё встало. Единственно, хочу убедиться, что его конфигурация сохранена. К слову, внутри коммутаторов ping уже должен идти:

v6dlhwwha_rpetf4u-mvds8sqkg.jpeg

Настоящий Cisco! Первый пакет пропадает, остальное всё есть:

junmdzk7lnakhvcrpzjmmkydkgm.jpeg

На самом деле здесь не натуральная эмуляция используется, а iOS. Поэтому я останавливаю 1-й коммутатор и снова запускаю:

nqvfvonfdf78rrmvlfy2bti50t4.jpeg

e-hljocq_u863hcwtqwuoy7ulzi.jpeg

Если всё в порядке, то мы должны увидеть связь через облако — моя Windows 7 через сетевую карту будет связана с этим оборудованием (оборудование имеет IP-адреса в той же сети, что и Windows). В общем, это точка связи GNS и Windows. Проверим, что там со связью:

dbvodhj8-wdkwxqf4iycwymwheu.jpeg

Давайте посмотрим, как он себя чувствует… Отсюда пингуется:

lrzmorkfuglvex1hz7ir5togsti.jpeg

Пошло! Видите, связь появилась:

-chrghapsw8pu8kmycxcjyixida.jpeg

Я люблю GNS, потому что он бесплатный, работает… Но не всё просто! Вот забавная ситуация: с Windows-системой пингуется наш Linux, с Windows пингуется наш свич, но с Linux-системой свич не пингуется:

1fwureh4q3tz4quhdcm7nybwwh8.jpeg

Так преподу можно и поседеть! Ведёшь занятие, а у людей стенд не работает… Ну, ничего, уговорим! Бесплатно, дёшево и сердито.

Опыт показал: для того чтобы связь была между всеми тремя элементами (с Windows — на Linux, с Linux — на GNS), необходимо зайти в настройки сетевой карты и выбрать странную опцию — «Неразборчивый режим» («Разрешить всё»):

fpw8opcow_frnq3ph1ksbtivq6w.jpeg

jrjvveot5clomchekaw9_xmyxc0.jpeg

Приходите на «Виртуализацию»! Этот неразборчивый режим есть во всех решениях (и в «Сфере» тоже). Связан он с прохождением Ethernet-пакетов, mac-адресов и так далее. Приходите на курс по виртуализации, подробности — там.

Запускаем снова нашу систему в надежде на то, что коннективность восстановится:

my8tcyvvejsf5bt-cb5sh-va_lu.jpeg

Только теперь можно будет настраивать мониторинг наших коммутаторов из «Заббикса». Давайте посмотрим, как это произойдёт:

geku6mzbdiqubhvfjx4pevfuiau.jpeg

Заложен фундамент. Если у нас сейчас будет связь, то будет всё готово. В «Заббиксе» уйма «Цисок», хитро соединённых друг с другом — можно начинать мониторить. Подключаемся к пользователю root с паролем и проверяем пинг:

wqlnpckl6msf6vp_rmiyt_q2a5s.jpeg

g79y8z6hx_bix4mvyje3ju34uia.jpeg

Всё готово:

4mqw1qfbb61ytex0d4ldrwaklee.jpeg

Как администратор местного DNS я ещё сделал возможность отправлять по именам пинга.

Как же Zabbix может мониторить оборудование Cisco?


На оборудование Cisco нельзя установить агент. Многие из вас знают, что оборудование Cisco прекрасно мониторится по протоколу SNMP. Сейчас мы подготовим почву для этого.

Сейчас мы с вами подготовим почву для этого. Чтобы мониторить оборудование по протоколу SNMP надо, во-первых, на сам сервер мониторинга установить поддержку SNMP:

rxpjd_oqrxzg3kyshufud5ydoik.jpeg

В «Заббикс» эта поддержка не входит, он использует внешние библиотеки, входящие в эти пакеты:

y76rv4b1ulvxexqwi69yhhqld1u.jpeg

Не буду вам рассказать, что такое management information base — приходите на курсы по взаимодействию Lunux и Cisco, там об этом подробно рассказывается. А сейчас мы просто ставим на «Линукс» пакеты, необходимые для мониторинга:

0xzeedg4nazeeohex3hvh-zqjho.jpeg

ynloprjiladptnptxhd2nowybrc.jpeg

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

u6yjyteqwobo-tckmhdnhm8clt4.jpeg

Здесь просто запускается SNMP-сервер с таким паролем:

9tiezomf0b9sk_r6tqf3a9hg8zw.jpeg

И делаем это на всех трёх наших коммутаторах:

k-cu-vr3kzxuq3fcelvdhwyuo3e.jpeg

После этих действий мы проверим, может ли наш сервер мониторинга обратиться к оборудованию Cisco (к любому из этих коммутаторов) по протоколу SNMP и, например, что-нибудь узнать. Здесь есть тестовые варианты:

u6yjyteqwobo-tckmhdnhm8clt4.jpeg

Можно опрашивать наши коммутаторы, используя так называемые OID«ы (object-идентификаторы). Здесь мы опрашиваем свич (запрашиваем значения параметра switch1):

dhqreksw-lbhj1_ky-kitwkcbdu.jpeg

И мы видим, что этот Oid ссылается на имя коммутатора, то есть мы можем с каждого коммутатора вытянуть его имя (для топологии пригодится, даже очень):

8erodew0gy2koqyma4o2k5xo5qi.jpeg

А можно использовать более человеческие, текстовые — sysName запрашиваем у свича (то же самое можно у switch2 спросить и т. д.):

tirkihmj9zh3mbtljm-8mzuuva4.jpeg

Установка SNMP-консоли


Ещё одно действие неочевидное:

9lbhif1jx-4eees2yl4g2n6sse4.jpeg

rfxs2forhqzmhx1vb1pxzyecjzi.jpeg

5rc6qi5sesktvgwhchqnlk14hwy.jpeg

Согласно лицензионным соглашением нужно закомментировать строки в этом файле… Это — замечательная команда «дятел», которая очистила содержимое файла, в котором было сказано: «Для подтверждения лицензии закомментируйте всё, что там есть».

Соответственно, «Заббикс»-сервер надо перезагрузить, потому что мы установили библиотеки, которые будут им использоваться:

nhn2rvgejooztpw-t-6iyqigdjw.jpeg

8uj9dwokqg4-byvjdxbp59fhwdc.jpeg

Многие знают, что теперь достаточно войти в раздел Host, создать хост и выбрать протокол SNMP. Указать IP-адрес:

gzcsuga-vjjumzjitkwe0zvy2ak.jpeg

bigvkcnw1ji20omf739p434dzaa.jpeg

Но мы не для того здесь собрались. Давайте попробуем заставить «Заббикс» автоматически найти все наши коммутаторы. У нас с вами их три, а в Бауманке их больше ста (120, кажется). 100 коммутаторов добавлять было бы не так весело, поэтому — бонус: мы с вами посмотрим, как «Заббикс» найдёт наши коммутаторы.

Автоматическое добавление устройств в Zabbix


Страница «Автоматическое добавление устройств в Zabbix»:

op4h3abcnttdjkx_h-zzpzb0zge.jpeg

Чтобы он это делал, мы пойдём в раздел «Конфигурация» (подраздел Discovery) и не будем там создавать новое правило, а будем использовать существующее:

  • Это правильно гласит, что надо сканировать эту сеть… Узнаёте нашу? Чтобы долго не ждать, я укажу ограниченный диапазон 100–110 (мне достаточно).
  • Сканирование раз в час — многовато; поставим — каждые 60 секунд.
  • На сканируемых устройствах наш «Заббикс» сейчас ищет «Заббикс»-агента. Я обещал, что никаких агентов у нас с вами не будет, поэтому удаляю.
  • И говорю, что на самом деле наше устройство доступно по протоколу SNMPv2, community — public; такой OID мы запрашивали:
  • Даю указание сканировать и обращаться ко всем устройствам, которые на этот запрос ответят. Соответственно, он уже это делает. Надо не забыть включить это сканирование (по умолчанию оно отключено):


Теперь каждую минуту «Заббикс» пробегает по этим IP-адресам, запрашивает по протоколу SNMP у устройства его имя. Если устройство есть и SNMP-протокол поддерживает, то оно ответит:

haxg-ohyxs1bfr23wjr10quhgoa.jpeg

Этого недостаточно для того, чтобы наши устройства появились в этом списке:

1fqqijogq1obsqxxxnqmd06l6l8.jpeg

Необходимо настроить действия. Мы создадим новое (назову его, копируя из методички):

zjdshidzytis9o614hr8ebunnsi.jpeg

qbvr7grb1zx-e375rrkrndjtf0y.jpeg

Условие: запрос должен вернуть информацию о том, что это — коммутатор. По «счастливой случайности», у нас все коммутаторы называются switch (switch1, switch2, switch3), поэтому Received value должно бы

© Habrahabr.ru