Как сделать карту сети

Карта локальной сети. Построение карты в Algorius Net Viewer

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

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

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

Я, будучи преподом, всегда настаивал на составлении такой карты при прохождении преддипломной практики у сетевиков. Ведь даже беглого взгляда на слайд с map’ой хватает, чтоб оценить общий объём парка машинок, прикинуть количество серверов и понять впахивал чел или просто слил 3 месяца своего драгоценного времени в никуда.

Ладненько. К черту лирику. Думаю, необходимость такой замечательной вещи, как карта сети вы и сами прекрасно осознаёте. Давайте уже перейдём к практической части.

Шаг 1. Первым делом нужно подготовить весь необходимый инструментарий. Рисовать основу, он же будущий фон для карты, мы будем в фотошопе. Т.к. урок и без того получится долгим, я не буду утруждаться пошаговым разбором загрузки пробной версии этой программы и последующей установкой. Переходите на офф сайт адоба, регаетесь, скачиваете последний CC и накатываете, руководствуясь правилом «Далее-далее». Справитесь. Чай не валенки.

Как сделать карту сети

Шаг 2. После этого нужно подготовить сканы этажных планов. Тут всё просто. Проходитесь по конторе, у запасных выходов временно снимаете планы с противопожарной схемой. Или же фоткаете на смарт, если снять вообще не варик. Но я бы постарался. Качественный скан однозначно лучше. Если схемы большие, формата А3, а у вас аппарат хавает лишь четвёрки, тож не беда. Объединим чуть позже. Главное наличие материала.

Как сделать карту сети

Шаг 3. И последнее, что нам потребуется – это, собственно, прога для построения. Честно, я, как лютый олдфаг, изначально хотел сделать обзор на FPingerи прослезиться, но подумал, что в 2020 году это уже совсем архаизм. Поэтому в качестве основного продукта будем использовать прямого наследника старины пингера – Algorius Net Viewer.

Как сделать карту сети

Шаг 4. Заходим на офф. сайт разрабов и провалившись в раздел «Купить» выбираем бесплатный вариант. Он имеет ограничение на количество устройств на одной карте. Максимум 25. На первый взгляд маловато. Однако для небольших контор – более чем достаточно. К тому же тут есть небольшой нюанс. 25 на одной карте. А одновременно у вас может быть открыто целых 5 карт. Т.е. по факту это уже 125 устройств. Вполне себе среднестатистическая средняя сеть. Берём.

Как сделать карту сети

Шаг 5. Настало время искусства. Запускаем фотошоп и закидываем на верхнюю границу рамки в главном окне скан-файлы с планами этажей. Не пугайтесь. Тут не будет какого-то супер-пупер дизайна. Просто базовая обработка и склейка.

Как сделать карту сети

Шаг 6. Как видите, у меня 2 файла А4. Поэтому мне придётся их соединять. Выносим отдельно один из файлов и смотрим размер холста.

Как сделать карту сети

Шаг 7. Запоминаем ширину. Её нужно будет умножить на 2 в новом документе. И высоту. Она останется прежней.

Как сделать карту сети

Как сделать карту сети

Шаг 9. Указываем размеры. Ширина в 2 раза больше, а высота та же, что и в оригинальном файле. Подтверждаем.

Как сделать карту сети

Шаг 10. Теперь переносим сканы на рабочую область вновь созданного документа.

Как сделать карту сети

Шаг 11. Совмещаем. Выравниваем насколько это возможно и выделив на правой панельке все видимые слои (в нашем случае 3) посредством зажатого шифта вызываем контекстное меню. Объединить слои.

Как сделать карту сети

Шаг 12. Теперь наша карта едина. Осталось её подшаманить. Выбираем инструмент кисть. Кликаем на квадратик с основным цветом и пипеткой берём образец «молока». «ОК».

Как сделать карту сети

Шаг 13. Дальше размер. Возьму побольше. Тип – «жёсткая». В принципе можно приступать к самой нудной и кропотливой части. Закрашиваем всё лишнее. Размеры стен кабинетов. Несуществующие перегородки и другие обозначения бесконечно далёкие от реальной обстановки. Тут всё зависит исключительно от вашей усидчивости и терпения.

Как сделать карту сети

Шаг 14. По итогу получится нечто подобное.

Как сделать карту сети

Как сделать карту сети

Шаг 16. Выбираем место сохранения. Формат – «Photoshop», он же PSD. Сам файл переименовываем в «Исходник схемы» и кликаем по кнопке «Сохранить».

Как сделать карту сети

Шаг 17. Отлично. Дождавшись завершения сейва, повторяем ту же процедуру, но теперь в качестве формата берём «JPEG», а название обозначим, как fon. С фотошопом закончили. Закрываем его.

Как сделать карту сети

Шаг 18. И переходим к нашей программе Algorius Net Viewer. Её установка не вызовет сложностей, поэтому сразу перейду к работе. В приветственном окне жмём «Создать новую карту».

Как сделать карту сети

Как сделать карту сети

Шаг 20. Выбираем пунктик «Изображение» и указываем путь к нашему жепегу. Окай.

Как сделать карту сети

Шаг 21. Если сильно приближено, отдаляем нажав несколько раз на минус.

Как сделать карту сети

Шаг 22. И давайте сразу её сохраним, чтоб в случае чего не переделывать заново. Назовём «Карта ЛВС». Вроде понятно. Сейв.

Как сделать карту сети

Шаг 23. Теперь приступаем к добавлению тачек. Слева ищем Workstation и переносим её в нужный кабинет. В появившемся окне настроек устройства указываем IP-адрес, сетевое имя. Если есть картинка пользователя, то можете добавить её в соответствующем пункте. В качестве описания пишете ФИО и должность сотрудника трудящегося за данной машинкой.

Как сделать карту сети

Шаг 24. На вкладке мониторинг добавляем стандартный Ping. Если оставить arp, то он не пройдёт сквозь маршрутизаторы. Тут уж сами решайте. Но я бы ставил классический ICMP-запрос. Тут всё. «ОК».

Как сделать карту сети

Шаг 25. Увеличиваем размер компьютера и наведя мышкой проверяем отображение информации. Огонь.

Как сделать карту сети

Шаг 26. Для разнообразия добавлю рядышком ноут. Если не знаете имён или просто удобней ориентироваться по IP-шникам, то можно оставить и так.

Как сделать карту сети

Как сделать карту сети

Шаг 28. Влуплю 72. Ок. От терь видно отлично.

Как сделать карту сети

Шаг 29. В принципе, на этом этапе уже можно добавлять все компы входящие в состав вашей небольшой сети. Но лучше для начала присвоить имена кабинетам. Выбираем слева вкладку «Слои». Переименовываем текущий слой в «Рабочие станции».

Как сделать карту сети

Шаг 30. Чуть выше создаём новый слой. Названия кабинетов.

Как сделать карту сети

Шаг 31. Хорошо. Теперь на верхней панельке ищем Т и присваиваем название одному из кабинетов. Допустим IT-отдел. Галочку с фона-подложки снимаем и размер увеличиваем до 72. ОК.

Как сделать карту сети

Шаг 32. Ровняем. Таким образом вы можете скрывать ненужные слои. Например, с рабочими станциями и у вас будет оставаться чистая карта с названиями кабинетов. В будущем, когда карта будет закончена, можно оставлять на экране только сетевое оборудование. Или же отфильтровать видеорегистраторы и камеры. Очень удобная фишка.

Как сделать карту сети

Шаг 33. Теперь касательно коммуникаций. Давайте закинем на карту свитч. Назовем sw1.

Как сделать карту сети

Шаг 34. Соединим его с рабочими станциями посредством линий. С этой. И с этой.

Как сделать карту сети

Шаг 35. Вообще, для лучшего понимания, как грамотно раскидывать коммуникации гляньте соседнюю вкладку «Small». В ней разработчики продемонстрировать пример небольшой сети. Тут есть всё необходимое. Принтеры, МФУшки, роутеры, точки доступа, проводная и беспроводная среда передачи. Общем обязательно ознакомьтесь.

Как сделать карту сети

Шаг 36. Ещё левее, пример средней сети. Но тут размещено очень много устройств. Поэтому выдаётся ошибка о превышении лимита. Ещё раз отмечу, что мы ограничены количеством устройств на одной карте – максимум 25. Но при этом одновременно можно запустить целых 5 карт. А это уже прилично. Таким образом можно раскидать 5 этажей одного здания по 1 на карту. Или сделать 5 небольших карт с маленькими объектами. Тут уж надо смотреть по обстановке.

Как сделать карту сети

И я бы даже посоветовал приобрести расширенную лицензию. Бессрочка на 100 компьютеров на сегодняшний день у них стоит всего 6к. Но, думаю, тем кто админит такой парк лучше задуматься об освоении полноценной системы мониторинга сетевого оборудования Zabbix.

Это свободно-распространяемая система на базе Linux. Так что если мой курс по администрированию данной платформы получит достаточный отклик, то следующие материалы могу выпустить и по этой темке.

Касательно курса. Напоминаю, что пока всё ещё действует 50% скидка на его предзаказ. Так что, если вы давно надумывали прокачать свои навыки и освоить линуху – сейчас самое лучшее время. Ссылку с подробностями ищите в описании.

Как сделать карту сети

>>>КЛИКНИТЕ, ЧТОБЫ УЗНАТЬ ПОДРОБНОСТИ

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

Большое спасибо за ваше внимание. Камрадам по традиции удачи, успехов, отличного настроения. Берегите себя и свои сервера. Настраивайте мониторинг, рисуйте понятные карты и главное, не забывайте об их актуализации. И будет вам счастье. До новых встреч. Всем пока.

Источник

Как создавать понятные логические (L3) схемы сети

Какая информация должна быть представлена на L3-схемах?

Для того, чтобы создать схему сети, вы должны иметь точное представление о том, какая информация должна присутствовать и на каких именно схемах. В противном случае вы станете смешивать информацию и в итоге получится очередная бесполезная «гибридная» схема. Хорошие L3-схемы содержат следующую информацию:

Какой информации НЕ должно быть на L3-схемах?

Перечисленной ниже информации не должно быть на сетевых схемах, т.к. она относится к другим уровням [модели OSI, прим. пер.] и, соответственно, должна быть отражена на других схемах:

Используемые обозначения

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

Как сделать карту сети

Какая информация необходима для создания L3-схемы?

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

Пример

В данном примере мы будем использовать простую сеть. В ней будут присутствовать коммутаторы Cisco и МСЭ Juniper Netscreen. Нам предоставлена схема L2, также как и конфигурационные файлы большинства представленных устройств. Конфигурационные файлы пограничных маршрутизаторов ISP не предоставлены, т.к. в реальной жизни такую информацию ISP не передаёт. Ниже представлена L2-топология сети:

Как сделать карту сети

А здесь представлены файлы конфигурации устройств. Оставлена только необходимая информация:

Сбор информации и её визуализация

Хорошо. Теперь, когда мы имеем всю необходимую информацию, можно приступать к визуализации.

Процесс отображения шаг за шагом

Как сделать карту сети

Повторите этот процесс шаг за шагом для каждого сетевого устройства. Соберите всю информацию, относящуюся к IP, и отобразите на этой же схеме: каждый ip-адрес, каждый интерфейс и каждый статический маршрут. В процессе ваша схема станет очень точной. Убедитесь, что устройства, которые упомянуты, но пока неизвестны, отображены на схеме. Точно так же, как мы делали ранее с адресом 192.168.10.1. Как только вы выполните всё перечисленное для всех известных сетевых устройств, можно начать выяснение неизвестной информации. Вы можете использовать для этого таблицы MAC и ARP (интересно, стоит ли писать следующий пост, рассказывающий подробно об этом этапе?).

В конечном счёте мы будем иметь схему наподобие этой:

Как сделать карту сети

Заключение

Нарисовать логическую схему сети можно очень просто, если вы обладаете соответствующими знаниями. Это продолжительный процесс, выполняемый вручную, но это отнюдь не волшебство. Как только у вас есть L3-схема сети, достаточно нетрудно поддерживать её в актуальном состоянии. Получаемые преимущества стоят приложенных усилий:

Источник

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

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

Как сделать карту сети

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

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

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

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

Как сделать карту сети

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

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Подключаем Cloud

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

Как сделать карту сети

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

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

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

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

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

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

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Всё это есть в методичке. Осталось указать, что с этим делать – «Операции»:

Как сделать карту сети

В первую очередь необходимо добавить в какую-нибудь группу. Я буду использовать готовую группу Discovered hosts:

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Если всё сделано верно, то через какое-то время у нас в «Заббиксе» чудесным образом должно появиться 3 коммутатора. Ждём. Появятся они в разделе Hosts. Связь есть (проверили на всякий случай):

Как сделать карту сети

Как сделать карту сети

Было бы у нас 100 коммутаторов – появилось бы 100 коммутаторов. Теперь можно говорить о главной теме – автоматическое построение топологии сети.

Создание карты сети

В «Заббиксе» в разделе «Мониторинг» – подраздел «Карты сети». Можно создать свою собственную карту с любым произвольным именем (назову, как в методичке – Switches map):

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

В эту карту можно добавлять устройства:

Как сделать карту сети

Нам предстоит довольно занудная операция по добавлению всей нашей сотни коммутаторов сюда:

Как сделать карту сети

Добавляю новый элемент и говорю системе, что это на самом деле хост, который ты мониторишь; хост – switch1:

Как сделать карту сети

Как сделать карту сети

Часто спрашивают, можно ли сделать этот процесс автоматическим? Ответ: «Можно!». Но тогда надо решить увлекательную задачу: «Как нам понять, где какие коммутаторы расположить?» То есть геометрию. Потенциальное решение: в коммутаторе можно указать геолокационную метку (параметр типа «ты стоишь на 6-м этаже, корпус АЗЛК, 666-я аудитория), нарисовать корпус учебной лабораторной, все её аудитории… В общем, это хороший курсач для студента 4-го курса вычислительной специальности. У нас с вами на это планов не было!

Я сейчас добавлю все 3 коммутатора вручную, но обещаю, что линии связи между ними я рисовать не буду. Вы добавляете 101-й коммутатор, у нас автоматом добавляется в «Заббикс» – извольте нарисовать его в карте ручками. Неприятный момент, но имеет место быть. Простого решения этой задачи нет, за 45 минут уж точно. И то, что у нас получится, мне кажется интересным.

Быстро добавляю 3 коммутатора:

Как сделать карту сети

Я сказал, что линии не буду добавлять? Буду, но только для того, чтобы потом нам можно было понять, как их рисовать. Я соединю два этих коммутатора (у нас 1-й с 3-м не соединён):

Как сделать карту сети

Я их соединю (выделяются свич1 и свич3):

Как сделать карту сети

Наша система должна будет это дело исправить:

Как сделать карту сети

Важно не забыть сохранить результат:

Как сделать карту сети

Как сделать карту сети

Кстати, про GNS – можно красиво сделать… Скрыть его хостнейм, сделать его в виде коммутатора и подложить одно под другое, сделав облако коммутаторов:

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Как нам построить топологию? Настройка автоматического создания и обновления линий связи

Чтобы топология строилась автоматически, нам необходимо получать информацию о ней автоматически. В университете мы используем оборудование Cisco, поэтому давно полюбили протокол, который называется Cisco discovery protocol – достаточно набрать на любом устройстве show cdp neighbors, и он подскажет, что к 5-му интерфейсу подключён коммутатор switch1:

Как сделать карту сети

Как сделать карту сети

Альтернатива cdp – lldp (у нас есть сегмент коммутаторов «страшной» компании Nortel – там lldp). Видите, тут два коммутатора:

Как сделать карту сети

Сервер «Заббикс» должен как-то вытаскивать эту информацию (её я вижу на самой Cisco). Способов много. Один из самых быстрых, но стрёмных – использовать протокол RSH. Весьма дремучий протокол, и я о нём знаю только в силу своего возраста:

Как сделать карту сети

Как сделать карту сети

Нормальные люди RSH не знают, зато его можно быстро использовать, чтобы удалённо что-то с Cisco делать. Или, если речь идёт о какой-то менеджмент-сети, где никого постороннего нет, то можно и в продакшне использовать. Впрочем, точки безопасности – всё равно полный швах!

Итак, я настроил поддержку доступа к протоколу RSH к моим Cisco к серверам с этого IP-адреса:

Как сделать карту сети

Теперь могу на сервер установить RSH-клиент…

Как сделать карту сети

Как сделать карту сети

…и продемонстрировать, насколько легко теперь выполнять инструкции, которые мы только что выполняли, подключаясь к оборудованию Cisco непосредственно с менеджмент-станции – на свиче1 выполню эту инструкцию:

Как сделать карту сети

Как сделать карту сети

Соответственно должно появиться на свиче2:

Как сделать карту сети

Подключение с сервера мониторинга

Далее. Пишут мне менеджеры: «Вячеслав, поступил запрос от слушателя. Хочет углублённо пройти Bash, Csh, Sed и Awk». Это дремучие Unix-утилиты, которые в лохматом году люди знали. Вот сейчас будет немного дремучего Unix. Мы установим этот пакет (нам надо отформатировать вывод, чтобы он был лучше структурирован):

Как сделать карту сети

А целиком команда будет выглядеть следующим образом:

Как сделать карту сети

Не буду рассказывать, чем код возврата в Dos отличается от Unix. Далее отфильтрую только строки, в которых содержится switch, удалю лишние пробелы и вырежу через пробелы нужные поля:

Как сделать карту сети

Как сделать карту сети

Давайте посмотрим результат, и вы увидите, чем он отличается от предыдущего. Ещё немного «магии» Unix. Обработка превращения информации в структурированную (на примере switch2). Вместо этой неструктурированной информации (куча пробелов, какие-то непонятные ключи):

Как сделать карту сети

На выходе появляется:

Как сделать карту сети

Свич2 соединён со свичом3 через интерфейсы Fas 0/6 (со стороны свича2) и Fas 0/5 (со стороны свича3). Таблица получается: какой-то коммутатор с каким через какие интерфейсы соединён.
Пока на этом протокол RSH и CDP оставлю. Сейчас мы, получив эту информацию, нарисовать эти линки на всех коммутаторах. Чтобы это сделать, нам нужна информация, к каким коммутаторам подключаться. Можно завести текстовый файл, где перечислить все коммутаторы… Но это не спортивно!

Коммутатор мы должны только добавить физически, а он автоматом должен обнаружиться «Заббиксом». База данных коммутаторов у нас уже есть в «Заббиксе». Как приложению вытащить информацию о коммутаторах из «Заббикса»?

Zabbix API

«Заббикс»-API написан с использованием «замечательного» протокола JSON. Я закончил программировать в те времена, когда JSON ещё не было, поэтому для меня, как для админа… В наше время такой фигни не было! Вот текстовый файл для меня – это нормально, а JSON… (шутка)
JSON так JSON!

JSON – это формат, используемый для обмена данных с веб-сервером, и утилита cURL – одна из тех удобных утилит, которые позволяют направить любой запрос к веб-серверу:

Как сделать карту сети

Как сделать карту сети

Не буду углублённо рассказывать, что такое POST-запрос, GET-запрос, а скажу кратко. В «Заббиксе», который работает здесь:

Как сделать карту сети

Входит это приложение:

Как сделать карту сети

Которое готово воспринять вот такой запрос в «страшных» фигурных скобках (это и есть JSON):

Как сделать карту сети

В этом запросе указывается, что я хочу сделать с «Заббиксом», указываются параметры:

Как сделать карту сети

А «Заббикс» даёт ответ. Перед вами пример, который говорит: «Заббикс», дай мне, пожалуйста, строку для аутентификации, чтобы я мог направлять к тебе последующие запросы». Я подтверждаю свои полномочия логином и паролем:

Как сделать карту сети

Такой JSON-запрос сейчас нам вернёт JSON-ответ:

Как сделать карту сети

И в этом JSON-ответе будет такая строка:

Как сделать карту сети

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

Работа с объектами host

Вспоминаем, для чего мы начали JSON изучать: мы хотим из «Заббикса вытащить базу данных коммутаторов. Какие коммутаторы опрашивать? Давайте это вытащим!

Познакомьтесь: в «Заббикс»-API входит, среди прочего, метод host.get:

Как сделать карту сети

Host – это наши хосты. Get – это «дай». Далее я указываю: дай мне информацию о хостах!

Как сделать карту сети

В параметрах говорю: выводи всё, что знаешь о хостах:

Как сделать карту сети

Но должен сопроводить свой запрос этой строкой:

Как сделать карту сети

Давайте продемонстрирую. Чтобы мне было удобно, я этот запрос скопирую:

Как сделать карту сети

И вставлю тот аутентификатор, который мне «Заббикс» вернул:

Как сделать карту сети

Итак, Zabbix Api: мы посмотрели, как попросить у «Заббикса» аутентификатор на доступ. А далее демонстрирую, как с помощью этого аутентификатора получить какой-нибудь ответ:

Как сделать карту сети

Мне кажется, всё понятно. Можно даже разглядеть, если лупу взять. Свич1 узнаёте? Где-то там свич2…

Как сделать карту сети

Глаза я ломал долго, а потом решил почитать, как же с этим JSON в командной строке работать. И одна из рекомендаций звучала так: используйте JSON Query. Она очень здорова, скрашивает ответ, смотрите:

Как сделать карту сети

Как сделать карту сети

Во-первых, всё стало цветное – уже хорошо; во-вторых, здесь явно видно свич2, свич1:

Как сделать карту сети

Далее, немного повозившись с JSON Query, мы с вами увидим ещё много интересного. И чтобы каждый раз не копировать эти «крокодилы» из блокнота, я предлагаю определить, на чём мы будем программировать работу с нашим «Заббиксом». Есть Zabbix API – это JSON, есть куча языков программирования. JSON вроде как к Java-скрипту относится, но на самом деле для работы с «Заббиксом» чаще всего используют другие языки – например, Perl, Perl-скрипт, который что-то делает.

Оформление запросов в виде Bash-скриптов

Perl не модный нынче язык, устаревший. Если бы я начинал жизнь сначала, я бы начинал изучать, наверное, Pyton. И однозначно известно, что под «Питон» есть удобная библиотека для работы с «Заббиксом». Но, поскольку мы с вами здесь собрались и не будем отдавать предпочтение каким-то языкам, я использую этот язык:

Как сделать карту сети

Язык системного администратора, то есть меня – Bash! Поэтому я эти запросы к «Заббиксу»:

Как сделать карту сети

Оформлю в виде скриптов:

Как сделать карту сети

Скрипты готовые, я буду их копипастить. Выглядят они адски. Думаю, хороший код на «Питоне» будет гораздо более читабельным. Но, поскольку я сам не знаю «Питон» и не хочу отдавать какое-то предпочтение, я буду писать на том, что близко сердцу системного администратора:

Как сделать карту сети

Не буду рассказывать, что это за обратные слэши (и бог с ними). А вот строка аутентификации будет у нас оформлена в виде переменной, которую надо перед этим экспортировать:

Как сделать карту сети

Как сделать карту сети

Какое значение она у нас имела? И теперь вместо того, чтобы длинные строки копипастить, я могу просто запускать скрипт:

Как сделать карту сети

Скрипт возвращает полный швах. Через JSON Query можно вывести это красиво:

Как сделать карту сети

Как сделать карту сети

Вспоминаем задачу: получить базу данных коммутаторов, которые есть в «Заббиксе»!

Я сразу результат нарисую. Не буду долго и окольно рассказывать что здесь и как. У нас задача грандиозная:

Как сделать карту сети

Вот такой результат, смотрите, что содержит. Здесь говорится, что у нас в «Заббиксе» имеются вот такие коммутаторы, а это (10105, 10106, 10107) – внутренний «заббиксковский» идентификатор коммутатора:

Как сделать карту сети

Получился плоский файл. При добавлении каждого нового коммутатора надо этот скрипт запускать, чтобы создать файл. Чтобы таких «крокодилов» у нас не было, я эту строку включу в сам скрипт:

Как сделать карту сети

Как сделать карту сети

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

Как сделать карту сети

Утилита tee – хорошая утилита, которая пишет результат в файл и пропускает результат наружу. У нас с вами теперь 3 коммутатора и имеется текстовый файл, в котором все коммутаторы перечислены:

Как сделать карту сети

Теперь можно опрашивать через RSH каждый из этих коммутаторов и выяснять, кто с чем связан.
Итак, базу данных коммутаторов получили. Наша конечная цель – карты!

Получение списка карт и их элементов из Zabbix

Как работать с картами? Давайте научимся читать информацию о картах из «Заббикса». Скопирую такой скрипт:

Как сделать карту сети

Как сделать карту сети

Кому понравится – можете все эти скрипты брать. Я старался максимально упростить их – проще не получается. Если найдёте, как упростить – пишите, я поправлю:

Как сделать карту сети

Этот скрипт ↑ обращается к «Заббиксу» с запросом map.get и говорит: «Расскажи мне про линки и расскажи про элементы, которые эти линки связывают друг с другом».

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

Как сделать карту сети

И показываю результат:

Как сделать карту сети

Так же, как информацию о хостах, очень легко из «Заббикса» вытащить информацию о картах. Для каждой карты имеется её название:

Как сделать карту сети

Далее перечисляются элементы в этой карте. Узнаёте номер? Это внутренний элемент «Заббикса»:

Как сделать карту сети

Самое неприятное, что в «Заббиксе» элементы ещё раз нумеруются. Слева – элемент id, справа – нумерация элемента внутри карты:

Как сделать карту сети

То есть в «Заббиксе» каждый хост имеет номер, и на карте имеет ещё один номер – такая цепочка получается. То есть коммутатор switch1 называется в «Заббиксе» 10105, а на карте – 2 (получается небольшое усложнение задачи).

Сводим всё вместе через CDP и RSH, выясняем связь коммутаторов с интерфейсами

Финал этого скрипта заключается в том, что я должен получить информацию, какие идентификаторы «Заббикса» с какими идентификаторами на карте связаны. Смотрите, в «Заббиксе» вот этот идентификатор (10105, 10106 и т. д.), а на карте – 2, 3 и т. д.:

Как сделать карту сети

Традиционно сохраню это в текстовый файл:

Как сделать карту сети

Теперь у нас почти всё есть. Имеется информация, какие коммутаторы есть в этом файле (какие идентификаторы внутри «Заббикса» используются):

Как сделать карту сети

И у нас есть информация, какой идентификатор на карте с каким идентификатором «Заббикса» связан (например, switch1 имеет в «Заббиксе» номер 10105, а на карте номер 10105 имеет идентификатор 2):

Как сделать карту сети

Как сделать карту сети

Я не виноват! Это в «Заббиксе» ребята написали. Но я уверен, что есть причина, почему они на карте не используют прямые идентификаторы. Возможно, потому, что на карте можно несколько раз отобразить один и тот же объект, и у него должен быть уникальный идентификатор. Поэтому цепочка длиннее получается.

И вот этот адский скрипт я, наверное, совсем мало буду комментировать. Воспроизведите его:

Как сделать карту сети

В цикле я читаю строчки, описывающие, какой коммутатор с каким идентификатором «Заббиксом»:

Как сделать карту сети

К каждому коммутатору из «Заббикса» подключаюсь по RSH:

Как сделать карту сети

Читаю, с какими хостами он связан. Этот результат перенаправляю в другой цикл:

Как сделать карту сети

Который, в свою очередь, читает идентификаторы и выясняет, кто с кем связан:

Как сделать карту сети

Покажу результаты этого скрипта (chmod +x):

Как сделать карту сети

На карте второй коммутатор связан с третьим (помним, что на карте свои идентификаторы) через соответствующие интерфейсы (Fas 0/5 – для второго, Fas 0/6 – для третьего↑). Эти названия мы должны нарисовать на линках, создадим.

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

Давайте сохраним результат:

Как сделать карту сети

Рисование линий связи в Zabbix

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

Как сделать карту сети

Как сделать карту сети

Первый скрипт не будет иметь отношения к задачам – он поменяет имя карты (чтобы посмотреть, как это делается). Если мы хотим что-то поменять в «Заббиксе», то мы должны так же обратиться через запрос POST и описать его в JSON, но используя метод map.update. Среди параметров мы должны явно указать: MAPID, который найдёт нужную карту, и MAPNAME, который поменяет имя карты:

Как сделать карту сети

Это минимальный набор параметров. Сами эти параметры:

Как сделать карту сети

Передают через переменные, аргументы скрипта. Делаю скрипт выполняемым (chmod +x):

Как сделать карту сети

Запускаю, как в методичке написано. Если всё верно, карта должна назваться Super MAP:

Как сделать карту сети

Monitoring – Maps – вуаля:

Как сделать карту сети

Легко поменять – Super MAP2:

Как сделать карту сети

Как сделать карту сети

Но наша-то задача сложная – поменять линии связи!

Как сделать карту сети

Надо сгенерировать JSON, который опишет нашу карту и все линии связи. Для этого я делаю очередной скрипт:

Как сделать карту сети

Как сделать карту сети

То, что у меня много скриптов, это не значит, что так надо делать на предприятии. На предприятии надо взять нормальный язык, который вы знаете («Питон», «Перл» или ещё что-то), и запрограммировать то, что здесь есть, используя нормальный язык. Эти кирпичики, каждый из которых прост, позволяют понять что, для чего и как делать.

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

Как сделать карту сети

Как сделать карту сети

Данный скрипт читает этот файл:

Как сделать карту сети

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

Как сделать карту сети

А это подпись должна быть:

Как сделать карту сети

Читаю этот файл. Перебираю все элементы на карте:

Как сделать карту сети

Программирую линки – описания линков в виде JASON. Конечный запрос выглядит так: обновить карту (номер карты↓):

Как сделать карту сети

Линки будут описаны в этой переменной:

Как сделать карту сети

Которая была сформирована в этом цикле (были перебраны все элементы и подписи картам):

Как сделать карту сети

Опять же, у нас грандиозная задача, и подробно описывать на Shell… Наверняка многие из вас на Shell не программировали. Надо просто смотреть на эти тексты и программировать на том, что вам удобно.

Есть ожидание у меня, что сейчас всё должно произойти. Запустил скрипт:

Как сделать карту сети

Обновить страницу Maps:

Как сделать карту сети

Ну как? По крайней мере, это работает! Давайте добавим ещё один коммутатор и прогоним сценарий ещё раз.

Берём коммутатор, называем его switch4:

Как сделать карту сети

Рисуем, что это – коммутатор:

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Соединяем его, как хотим (звёздочкой, можно колбасу нарисовать):

Как сделать карту сети

Настраиваем коммутатор. Запускаю:

Как сделать карту сети

Всё, что мы ранее делали (только меняем на switch4 и адрес – 104):

Как сделать карту сети

Двойной щелчок по коммутатору (вставить то, что скопировали):

Как сделать карту сети

Опять же, быстрее будет перезагрузить третий коммутатор (switch3), сохранив конфигурацию:

Как сделать карту сети

А пока он перезагружается, проверим, доступен ли на наш новый коммутатор по SNMP. Когда «Заббик» его найдёт, первым делом спросит hostname SNMP. Поэтому добавляем эту конструкцию в наш новый коммутатор:

Как сделать карту сети

Как сделать карту сети

Теперь ждём, когда коммутатор будет доступен. 101-й, 102-й доступны, 103-й перезагружается:

Как сделать карту сети

Как сделать карту сети

104-й отозвался. Проверю, по SNMP доступен ли свич4:

Как сделать карту сети

Доступен! У нас все шансы увидеть его в списке хостов. Подождём минуту (каждую минуту у нас сканируется сеть):

Как сделать карту сети

Раз он появился, мы возвращаемся к первому скрипту. Он у нас выгружал информацию, какие коммутаторы вообще есть:

Как сделать карту сети

Ваши кабельщики побежали, новый коммутатор воткнули, вы link подняли и в «Заббиксе» он появился автоматически. Соответственно, здесь мы с вами должны увидеть, что четвёртый свич появился:

Как сделать карту сети

База данных у нас заполняется автоматически.

Закрепляем материал (добавляем switch4), выполняем финальный скрипт

Далее, к сожалению, придётся сбегать и отобразить наш свич на карте:

Как сделать карту сети

Мало того что ваши кабельщики бегали, мало того что вы настраивали линк – придётся ещё пойти сюда и сказать: «У нас добавляется новый коммутатор».

Как сделать карту сети

Располагаете, где положено, и указываете, что это у нас хост, свич4, а также нарисовать, что это свич:

Как сделать карту сети

И обновить (линию связи пока не рисуем!):

Как сделать карту сети

Теперь вспоминаем, что наши скрипты линии связи строят на основании протокола CDP. И чтобы получить информацию по протоколу CDP с коммутатора, необходимо настроить к нему доступ RSH. Помните, я решил вот такой метод использовать?

Как сделать карту сети

Как сделать карту сети

Если всё хорошо, то я могу попробовать, то я могу попробовать RSH – запросить с 4-го коммутатора информацию о его связи. Вот он говорит: «Я к третьему подключён, с моей стороны – 10-й, с той стороны – 8-й интерфейс».

Как сделать карту сети

На карту-то добавили, а у нас есть таблица соответствия между идентификаторами в «Заббиксе» и идентификаторами в карте (видите, он 5-й стал на карте):

Как сделать карту сети

Как сделать карту сети

RSH подняли. Теперь можем построить связь: какие коммутаторы через какие линки подключены (текстовый файл у нас получился):

Как сделать карту сети

Как сделать карту сети

Попробуем запустить финальный скрипт, который этот текстовый файл прочитает и сформирует JASON-запрос на обновление карт, перерисовав все линки на карте:

Как сделать карту сети

Как сделать карту сети

Как сделать карту сети

Ну как? Впечатляет? За 45 планируемых минут не успел, но всё равно быстро (порядка 75 минут) – быстрее, наверное, не получится.

Всё! Я очень рад друзья – оно получилось. Методичка находится здесь: https://wiki.val.bmstu.ru. Если не найдёте, пишите на почту: val@bmstu.ru, val@specialist.ru – с удовольствием пришлю. На сайте specialist.ru появится вебинар – я это проверю обязательно.

И самое главное, друзья мои, что всё это было не напрасно, а с хитрой целью уговорить вас или ваших коллег на нашь 2-дневный курс, на котором разбирается большое количество задач, связанных с «Заббиксом»: и низкоуровневое обнаружение, и настройка… Не по верхам, как сейчас, а подробно, с лабораторными – вы будете делать: пока не сделаете – я вас не выпущу.
Буду рад видеть вас, ваших коллег! Пишите письма.

Немного рекламы 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *