
0. Въведение или малко офтопикТази статия беше написана именно защото е изключително трудно да се намерят сравнителни характеристики на подобен софтуер, или просто списък на едно място. Приходи ми се да прегледам много материали, за да стигна до някакъв извод.
Заради това реших да спестя малко време и усилия на тези, които се интересуват от този въпрос, и да събера на едно място максимално възможното, прегледано от мен, количество системи за картографиране на мрежи.
Част от системите, описани в тази статия, бяха изпробвани от мен лично. Вероятно те са остарели в момента. Някои от посочените по-долу виждам за първи път, а информацията за тях беше събрана изключително в рамките на подготовката на тази статия.
Тъй като взаимодействията ми с системите са били отдавна, а с някои от тях не съм взаимодействал изобщо, не ми останаха скрийншотове или примери. Така че прегледах информацията в Google, Wikipedia, YouTube, сайтовете на разработчиците, а там намерих и скрийншотове, и в крайна сметка се получи такъв обзор.
1. Теория
1.1. Защо?
За да отговорим на въпроса "Защо?", първо трябва да разберем какво всъщност е "Карта на мрежата". Карта на мрежата - (най-често) логическо-графично-схематично представяне на взаимодействието на мрежовите устройства и техните връзки, което описва най-съществените параметри и свойства. В наши дни често се използва в комбинация с мониторинг на състоянието на устройствата и система за уведомяване. Така че: за да имаме представа за разположението на възлите в мрежата, тяхното взаимодействие и връзките между тях. В комбинация с мониторинга получаваме работен инструмент за диагностика на поведението и прогнозиране на поведението на мрежата.
1.2. L1, L2, L3
Те са Layer 1, Layer 2 и Layer 3 в съответствие с OSI модела. L1 - физическият слой (кабели и комутация), L2 - слой на физическа адресация (mac-адреси), L3 - слой на логическа адресация (IP-адреси).
Няма смисъл да се изгражда карта на L1, тя логически произтича от L2, освен, може би, за медиаконверторите. Но сега съществуват медиаконвертори, които също могат да се проследяват.
По логика – L2 изгражда карта на мрежата на базата на mac-адресите на възлите, L3 – на IP-адресите на възлите.
1.3. Какви данни да се показват
Тук зависи от решаваните задачи и желания. На мен, например, ми се иска да разбера, дали самата машина е „жива“, на кой порта какво „виси“ и в какво състояние е портът – up или down. Това може да е L2. И изобщо L2 ми се струва най-приложимата в практическото значение топология на мрежовата карта. Но, както казват – на вкус и цвят…
Скоростта на връзката на порта – не е лошо, но не е критично, ако там се намира крайно устройство – принтер или ПК. Добре би било да имаме възможност да видим нивото на натоварване на процесора, количеството свободна оперативна памет и температурата на машината. Но това вече не е толкова просто, тук ще трябва да настроим система за мониторинг, която да може да чете SNMP и да изведе и анализира получените данни. За това по-късно.
По отношение на L3 намерих следното .
1.4. Как?
Може на ръка, може и автоматично. Ако на ръка – то е бавно и трябва да се има предвид човешкият фактор. Ако автоматично – то трябва да се отчетат, че всички мрежови устройства трябва да бъдат „умни“, да поддържат SNMP и този SNMP трябва да бъде правилно настроен, за да може системата, която ще събира данни от тях, да може да ги прочете.
Изглежда не е сложно. Но има подводни камъни. Започвайки от това, че не всяка система може да изчете от устройството всички данни, които бихме искали да видим, или не всички мрежови устройства могат да предоставят тези данни, и завършвайки с това, че не всяка система може сама да изгражда мрежови карти в автоматичен режим.
Процесът на автоматично генериране на карта е приблизително следният:
— системата чете данни от мрежовото оборудване
— на базата на данните формулира таблица за съответствие на адресите на портовете на маршрутизатора
— съпоставя адресите и имената на устройствата
— изгражда връзки порт-пристрйство
— визуализира всичко това под формата на схема, „интуитивно разбираема“ за потребителя
2. Практика
И така, сега да говорим за това, с помощта на което можем да изградим мрежова карта. Взимаме за отправна точка, че искаме, разбира се, максимално да автоматизираме този процес. Тоест Paint и MS Visio отпадат… обаче… Не, все пак отпадат.
Съществува специализиран софтуер, който решава задачата за изграждане на мрежова карта. Някои софтуерни продукти могат само да предоставят среда за "ръчно" добавяне на изображения със свойства, рисуване на връзки и стартиране на "мониторинг" в изключително ограничен вид (дали нодата е жива или вече не отговаря). Други, обаче, могат не само сами да нарисуват схемата на мрежата, но и да измерват куп параметри с SNMP, да уведомяват потребителя по SMS при повреди, да предоставят куп информация за портовете на мрежовото оборудване, и всичко това е само част от тяхната функционалност (същият NetXMS).
2.1. Продукти
Списъкът далеч не е изчерпателен, тъй като съществуват много подобни софтуерни решения. Но това е всичко, което издава Google по темата (включително и англоезични сайтове):
Проекти с отворен код:
LanTopoLog
Nagios
Icinga
NeDi
Pandora FMS
PRTG
NetXMS
Zabbix
Платени проекти:
LanState
Total Network Monitor
Solarwinds Network Topology Mapper
UVexplorer
Auvik
AdRem NetCrunch
2.2.1. Безплатен софтуер
2.2.1.1. LanTopoLog

Софтуер, разработен от Юрий Волокитин. Интерфейсът е прост, колкото е възможно. Софтуерът поддържа, да го наречем, полуавтоматично изграждане на мрежата. Трябва да се "съберат" настройките на всички маршрутизатори (IP, SNMP удостоверения), след което всичко ще се случи само, а именно ще се изградят връзки между устройствата с посочване на портовете.
Има платена и безплатна версия на продукта.
2.2.1.2. Nagios


Софтуер с отворен код, съществува от 1999 година. Системата е разработена за мониторинг на мрежата, т.е. тя може да извлича данни чрез SNMP и автоматично да изгражда мрежова карта, но тъй като това не е основната й функция, прави го по доста… странен начин… За изграждането на картите се използва NagVis.
2.2.1.3. Icinga


Icinga е система с отворен код, която в свое време се откъсна от Nagios. Системата позволява автоматично изграждане на мрежови карти. Проблемът е, че картите се изграждат с помощта на добавка NagVis, която е разработена за Nagios, така че ще считаме, че в контекста на изграждането на мрежови карти тези две системи са идентични.
2.2.1.4. NeDi

Може автоматично да открива ноди в мрежата и на базата на тези данни да изгражда мрежова карта. Интерфейсът е доста прост, има мониторинг на състоянието чрез SNMP.
Има безплатна и платена версия на продукта.
2.2.1.5. Pandora FMS

Има автооткриване, автоматично изграждане на мрежата, SNMP. Приятен интерфейс.
Има безплатна и платена версия на продукта.
2.2.1.6. PRTG

ПО не може автоматично да построи карта на мрежата, само чрез ръчно преместване на картинки. Но може да следи състоянието на устройствата чрез SNMP. Интерфейсът оставя желаещо, според моето субективно мнение.
30 дни - пълна функционалност, след това - "безплатна версия".
2.2.1.7. NetXMS

NetMXS е преди всичко Open Source система за мониторинг, а построяването на карта на мрежата е второстепенна функция. Но е реализирана доста прецизно. Автоматично изграждане на база автооткритие, мониторинг на нодове чрез SNMP, може да проследява състоянието на портове на рутери и друга статистика.
2.2.1.8. Zabbix

Zabbix е също Open Source система за мониторинг, и е по-гъвкава и мощна от NetXMS, но картите на мрежата той може да изгражда само в ръчен режим, а пък може да следи почти всякакви параметри на рутери, чието събиране само може да бъде настроено.
2.2.2. Платен софтуер
2.2.2.1. LanState

Платен софтуер, който позволява автоматично сканиране на топологията на мрежата и на база откритото оборудване изграждане на карта на мрежата. Позволява мониторинг на състоянието на откритите устройства само по up/down на самата нода.
2.2.2.2. Total Network Monitor

Платен софтуер, който не може автоматично да построи карта на мрежата. Не може дори автоматично да открива нодове. По същество е същия Visio, само че ориентиран към мрежовата топология. Позволява мониторинг на състоянието на откритите устройства само по up/down на самата нода.
Черт! Аз вече писах по-горе, че се отказваме от Paint и Visio… Добре, нека да бъде.
Не намерих видео ръководство, но и не ми е нужно… Програмата е така-си.
2.2.2.3. Solarwinds Network Topology Mapper

Платен софтуер, има пробен период. Може автоматично да сканира мрежата и самостоятелно да състави карта по зададени параметри. Интерфейсът е доста прост и приятен.
2.2.2.4. UVexplorer

Платен софтуер, 15-дневен пробен период. Умее автооткритие и автоматично рисуване на картата, мониторинг на устройства само по състоянието up/down, тоест чрез пинг на устройството.
2.2.2.5. Auvik

Доста симпатична платена програмка, умее автооткритие и мониторинг на мрежови устройства.
2.2.2.6. AdRem NetCrunch

Платен софтуер с 14-дневен пробен период. Умее автоопределение и автопостроение на мрежата. Интерфейсът не предизвика възторг. Умее също SNMP мониторинг.
3. Таблица за сравнение
Как се оказа, трудно е да се измислят актуални и важни параметри за сравнение на системи и в същото време да се поберат в една малка таблица. Получи се следното:

*Параметърът „User Friendly“ е изключително субективен, и аз го разбирам. Но не успях да измисля как да опиша „топорността и нечетимостта“ по друг начин.
**„Мониторингът не само на мрежата“ включва функционирането на системата като „система за мониторинг“ в обичайния смисъл на термина, тоест възможността да четете метрики от ОС, хостове за виртуализация, да получавате данни от приложения в гостуващи ОС и т.н.
4. Лично мнение
От личен опит – не виждам смисъл в използването на софтуер за мониторинг на мрежата отделно. Предпочитам да имам система за мониторинг на всичко с възможност за изграждане на карта на мрежата. С Zabbix тези неща са... трудни. Nagios и Icinga също. Само NetXMS ми хареса в това отношение. Въпреки че, ако се поработи и се направи карта в Zabbix, това изглежда дори по-перспективно в сравнение с NetXMS. Има също Pandora FMS, PRTG, Solarwinds NTM, AdRem NetCrunch и вероятно още много други, които не са включени в тази статия, но съм ги виждал само на снимки и видеа, така че не мога да кажа нищо за тях.
Относно NetXMS беше написан с малък обзор на възможностите на системата и малък наръчник.
P.S.:
Ако съм сбъркал някъде, а вероятно съм, моля, поправете в коментарите, ще коригирам статията, за да не се налага на тези, на които тази информация е полезна, да я проверяват на собствен опит.
Благодаря.
Източник: habr.com
