Содержание

Network Maps. Краткий обзор софта для построения карт сети / Habr

0. Вводная..


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

В связи с этим я решил немного сэкономить время и силы тех, кого интересует данный вопрос, и собрал максимально возможное, читай осиленное мной, количество систем для network mapping’а в одном месте.

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

В силу того, что трогал я системы давно, а часть из них не трогал вообще, у меня не осталось ни скриншотов, ни каких-либо примеров. Так что я освежил знания в гугле, вики, на 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. Продукты


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

Open Source проекты:

LanTopoLog
Nagios
Icinga
NeDi
Pandora FMS
PRTG
NetXMS
Zabbix
The Dude
nMap

Платные проекты:

LanState
Total Network Monitor
Solarwinds Network Topology Mapper
UVexplorer
Auvik
AdRem NetCrunch
UserSide

2.2.1. Бесплатное ПО


2.2.1.1. LanTopoLog


Сайт

ПО разработки Юрия Волокитина. Интерфейс простой настолько, насколько это вообще возможно. Софтина поддерживает, скажем так, полуавтоматическое построение сети. Ей нужно «скормить» настройки всех маршрутизаторов (IP, SNMP credentials), далее все произойдет само, а именно будут построены связи между устройствами с указанием портов.

Есть платная и бесплатная версии продукта.

Видео-мануал

2.2.1.2. Nagios


Сайт

Open Source ПО, существует с 1999 года. Система разработана для мониторинга сети, то есть она умеет считывать данные через SNMP и автоматически строить карту сети, но так как это ее не основная функция, то делает она это весьма… странно… Для построения карт используется NagVis.

Видео-мануал

2.2.1.3. Icinga


Сайт

Icinga – это Open Source система, которая в свое время отпочковалась от 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.1.9 The Dude


Сайт

В целом не сложная бесплатная утилитка, заточенная под работу с маршрутизаторами Mikrotic. Позволяет управлять устройствами, не выходя из программы. Так же может работать и с устройствами других вендоров, но об этом не заявлено официально, и списка поддерживаемых устройств я не нашел. На мой вкус интерфейс не самый приятный, но работать в нем можно.

Видео-мануал

2.2.1.10. nMap


Сайт

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

Видео-мануал

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 мониторинг.

Видео-мануал

2.2.2.7. UserSide


Сайт

По-сути, это мощная ERP-система для провайдеров. Презентация с возможностями вот тут есть. Умеет мониторить все, что только можно и как только можно. Но это дорогой монстр, мощности которого для простого построения карты сети слишком велики… Но… Карты же он рисует…

Видео-мануал

3. Табличка сравнения


Как оказалось — придумать актуальные и важные параметры для сравнения систем и при этом уместить их в одну маленькую табличку — достаточно сложно. У меня родилось вот это:

*Параметр «User Friendly» является крайне субъективным, и я это понимаю. Но как еще описать «топорность и нечитаемость» я не придумал.

**«Мониторинг не только сети» подразумевает под собой работу системы как «систему мониторинга» в привычном понимании этого термина, то есть возможность считывать метрики с ОС, хостов виртуализации, получать данные от приложений в гостевых ОС и т.д.

4. Личное мнение


Из личного опыта — использовать ПО отдельно для мониторинга сети я не вижу смысла. Мне больше импонирует мысль использовать систему мониторинга всего и вся с возможностью построения карты сети. У Zabbix с этим дело обстоит… трудно. Nagios и Icinga — тоже. И только NetXSM порадовала в этом плане. Хотя, если заморочиться и сделать карту в Zabbix, то это выглядит даже более перспективным, нежели NetXMS. Есть еще Pandora FMS, PRTG, Solarwinds NTM, AdRem NetCrunch, и скорее всего куча еще чего, не вошедшего в данную статью, но я их видел только на картинках и в видео, так что ничего сказать о них не могу.

По поводу NetXMS была написана статья с небольшим обзором возможностей системы и небольшой how to.

P.S.:


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

Спасибо.

habr.com

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

Cамая большая проблема, с которой я сталкиваюсь при работе с сетями предприятий — это отсутствие чётких и понятных логических схем сети. В большинстве случаев я сталкиваюсь с ситуациями, когда заказчик не может предоставить никаких логических схем или диаграмм. Сетевые диаграммы (далее L3-схемы) являются чрезвычайно важными при решении проблем, либо планировании изменений в сети предприятия. Логические схемы во многих случаях оказываются более ценными, чем схемы физических соединений. Иногда мне встречаются «логически-физически-гибридные» схемы, которые практически бесполезны. Если вы не знаете логическую топологию вашей сети, вы слепы. Как правило, умение изображать логическую схему сети не является общим навыком. Именно по этой причине я пишу эту статью про создание чётких и понятных логических схем сети.

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

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

  • L3-устройства
    • маршрутизаторы, межсетевые экраны (далее МСЭ) и VPN-шлюзы (как минимум)
    • наиболее значимые серверы (например, DNS и пр.)
    • ip-адреса этих серверов
    • логические интерфейсы

  • информацию протоколов маршрутизации

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

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

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

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

  • VRF или другая не известная точно зона представляется в виде облака:


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

Для того, чтобы создать логическую схему сети, понадобится следующая информация:
  • Схема L2 (или L1) — представление физических соединений между устройствами L3 и коммутаторами
  • Конфигурации устройств L3 — текстовые файлы либо доступ к GUI, и т.д.
  • Конфигурации устройств L2 — текстовые файлы либо доступ к GUI, и т.д.
Пример

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

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

asw1

!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!

vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.11 255.255.255.128
!
ip default-gateway 192.168.10.1


asw2

!
vlan 210
name Servers1


!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.12 255.255.255.128
!
ip default-gateway 192.168.10.1


asw3

!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.13 255.255.255.128
!
ip default-gateway 192.168.10.1


csw1

!
vlan 200
name in-transit
!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/4
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/5
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/6
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 200
ip address 10.0.0.29 255.255.255.240
standby 1 ip 10.0.0.28
!
interface vlan 210
ip address 192.168.0.2 255.255.255.128
standby 2 ip 192.168.0.1
!
interface vlan 220
ip address 192.168.0.130 255.255.255.128
standby 3 ip 192.168.0.129
!
interface vlan 230
ip address 192.168.1.2 255.255.255.128
standby 4 ip 192.168.1.1
!
interface vlan 240
ip address 192.168.1.130 255.255.255.128
standby 5 ip 192.168.1.129
!
interface vlan 250
ip address 192.168.10.2 255.255.255.128
standby 6 ip 192.168.10.1
!
ip route 0.0.0.0 0.0.0.0 10.0.0.17


csw2

!
vlan 200
name in-transit
!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/4
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/5
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/6
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 200
ip address 10.0.0.30 255.255.255.240
standby 1 ip 10.0.0.28
!
interface vlan 210
ip address 192.168.0.3 255.255.255.128
standby 2 ip 192.168.0.1
!
interface vlan 220
ip address 192.168.0.131 255.255.255.128
standby 3 ip 192.168.0.129
!
interface vlan 230
ip address 192.168.1.3 255.255.255.128
standby 4 ip 192.168.1.1
!
interface vlan 240
ip address 192.168.1.131 255.255.255.128
standby 5 ip 192.168.1.129
!
interface vlan 250
ip address 192.168.10.3 255.255.255.128
standby 6 ip 192.168.10.1
!
ip route 0.0.0.0 0.0.0.0 10.0.0.17


fw1

set interface ethernet0/1 zone untrust
set interface ethernet0/1.101 tag 101 zone dmz
set interface ethernet0/1.102 tag 102 zone mgmt
set interface ethernet0/2 zone trust
set interface ethernet0/1 ip 10.0.0.1/28
set interface ethernet0/1 manage-ip 10.0.0.2
set interface ethernet0/1.101 ip 10.0.0.33/28
set interface ethernet0/1.102 ip 10.0.0.49/28
set interface ethernet0/2 ip 10.0.0.17/28
set interface ethernet0/2 manage-ip 10.0.0.18
set vrouter trust-vr route 0.0.0.0/0 interface ethernet0/1 gateway 10.0.0.12


fw2

set interface ethernet0/1 zone untrust
set interface ethernet0/1.101 tag 101 zone dmz
set interface ethernet0/1.102 tag 102 zone mgmt
set interface ethernet0/2 zone trust
set interface ethernet0/1 ip 10.0.0.1/28
set interface ethernet0/1 manage-ip 10.0.0.3
set interface ethernet0/1.101 ip 10.0.0.33/28
set interface ethernet0/1.102 ip 10.0.0.49/28
set interface ethernet0/2 ip 10.0.0.17/28
set interface ethernet0/2 manage-ip 10.0.0.19
set vrouter trust-vr route 0.0.0.0/0 interface ethernet0/1 gateway 10.0.0.12


outsw1

!
vlan 100
name Outside
!
vlan 101
name DMZ
!
vlan 102
name Mgmt
!
interface GigabitEthernet1/0
description To-Inet-rtr1
switchport mode access
switchport access vlan 100
!
interface GigabitEthernet1/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet1/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet1/4
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 102
ip address 10.0.0.50 255.255.255.240
!
ip default-gateway 10.0.0.49


outsw2

!
vlan 100
name Outside
!
vlan 101
name DMZ
!
vlan 102
name Mgmt
!
interface GigabitEthernet1/0
description To-Inet-rtr2
switchport mode access
switchport access vlan 100
!
interface GigabitEthernet1/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet1/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet1/4
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 102
ip address 10.0.0.51 255.255.255.240
!
ip default-gateway 10.0.0.49

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

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

  1. Сбор информации:
    1. Для начала откроем файл конфигурации (в данном случае ASW1).
    2. Возьмём оттуда каждый ip-адрес из разделов интерфейсов. В данном случае есть только один адрес (192.168.10.11) с маской 255.255.255.128. Имя интерфейса — vlan250, и имя vlan 250 — In-mgmt.
    3. Возьмём все статические маршруты из конгфигурации. В данном случае есть только один (ip default-gateway), и он указывает на 192.168.10.1.

  2. Отображение:
    1. Теперь давайте отобразим информацию, которую мы собрали. Во-первых, нарисуем устройство ASW1. ASW1 является коммутатором, поэтому используем символ коммутатора.
    2. Нарисуем подсеть (трубку). Назначим ей имя In-mgmt, VLAN-ID 250 и адрес 192.168.10.0/25.
    3. Соединим ASW1 и подсеть.
    4. Вставляем текстовое поле между символами ASW1 и подсети. Отобразим в нём имя логического интерфейса и ip-адрес. В данном случае имя интерфейса будет vlan250, и последний октет ip-адреса — .11 (это является общей практикой — отображать только последний октет ip-адреса, т.к. ip-адрес сети уже присутствует на схеме).
    5. Также в сети In-mgmt есть другое устройство. Или, как минимум, должно быть. Нам ещё неизвестно имя этого устройства, но его IP-адрес 192.168.10.1. Мы узнали это потому, что ASW1 указывает на этот адрес как на шлюз по-умолчанию. Поэтому давайте отобразим это устройство на схеме и дадим ему временное имя «??». Также добавим его адрес на схему — .1 (кстати, я всегда выделяю неточную/неизвестную информацию красным цветом, чтобы глядя на схему можно было сразу понять, что на ней требует уточнения).


На этом этапе мы получаем схему, подобную этой:

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

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

Заключение

Нарисовать логическую схему сети можно очень просто, если вы обладаете соответствующими знаниями. Это продолжительный процесс, выполняемый вручную, но это отнюдь не волшебство. Как только у вас есть L3-схема сети, достаточно нетрудно поддерживать её в актуальном состоянии. Получаемые преимущества стоят приложенных усилий:
  • вы можете планировать изменения быстро и точно;
  • решение проблем занимает гораздо меньше времени, чем до этого. Представим, что кому-то нужно решить проблему недоступности сервиса для 192.168.0.200 до 192.168.1.200. После просмотра L3-схемы можно с уверенностью сказать, что МСЭ не является причиной данной проблемы.
  • Вы можете легко соблюдать корректность правил МСЭ. Я видел ситуации, когда МСЭ содержали правила для трафика, который никогда бы не прошёл через этот МСЭ. Этот пример отлично показывает, что логическая топология сети неизвестна.
  • Обычно как только L3-схема сети создана, вы сразу заметите, какие участки сети не имеют избыточности и т.д. Другими словами, топология L3 (а также избыточность) является такой же важной как избыточность на физическом уровне.

habr.com

NetXMS как система мониторинга для ленивых… и немного сравнения с Zabbix / Habr

0. Интро


Я не нашел на Хабре ни одной статьи по NetXMS, хотя очень искал. И только по этой причине решил написать сие творение, дабы уделить внимание данной системе.

Это и tutorial, и how to, и поверхностный обзор возможностей системы.

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

Так как более-менее я работал только с Zabbix’ом — в статье будет часто упоминаться именно эта система для сравнения с сабжем. К тому же как-то так повелось, что все сравнивается с чем-то общепризнанным.

1. Что и зачем?


Система мониторинга, как видно из определения, — система, позволяющая в любой момент времени получить актуальную информацию по какому-либо узлу сети\машине\маршрутизатору\вписать нужное.

Зачем это нужно — так же очевидно. Чтобы быть в курсе происходящего.

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

2. Почему NetXMS?


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

И вот спустя несколько лет, повзрослев и заматерев, я решил, что пришло время освежить знания о системах мониторинга. И наконец-то сделать нормальный, стабильный мониторинг сети, так как эта проблема стала актуальной в связи с ростом сегментов, подключением филиала и прочих мелочей. Все ж течет, все меняется. И стал я тестировать всяческие инстрУменты. То эту систему поставлю, потрогаю, то ту. И везде чего-то не хватает, везде что-то не нравится. То интерфейс неудобный, то настраивать замучаешься, то еще чего. И тут мне подвернулась NetXMS. К слову: там, где с Zabbix я разбирался две недели, с NetXMS все пошло-поехало за пару часов. Возможно, сказался опыт работы с Zabbix, а может быть дело в самом NetXMS… трудно сказать.


NetXMS оказалась довольно простой в установке и настройке системой. У нее есть версии сервера и консоли администрирования как под Windows так и под Linux, построение графиков, встроенный «браузер», который позволяет изнутри консоли администрирования коннектиться к тем же маршрутизаторам по http\https протоколам, и интерфейс интуитивно понятный, а так же агент под любую ОС. Словом, эта система оказалась простой и удобной. На первый взгляд.

Документация у них, к слову сказать, на 8 из 10. Основные вещи в ней указаны, но, чтобы вникнуть в тонкости, нужно поковыряться.

Основные плюсы, обозначенные разработчиком

Глубокий мониторинг сети
Автоматическое обнаружение, визуализация и поиск подключенных компонентов на уровне 2 и 3
Полная поддержка SNMPv3
Активное обнаружение с помощью сканирующих «зондов»
Пассивное обнаружение на основе информации от контролируемых устройств — ARP и таблиц маршрутизации, интерфейсов
Мониторинг приложений и серверов
Все основные метрики, которые вы ожидаете: процессор, файловые системы, ввод-вывод, память, трафик
Мост JMX для мониторинга приложений Java
Расширения для конкретных приложений: Oracle, MySQL, PostgreSQL, MongoDB, DB2, Tuxedo и многие другие
API интеграции для собственных приложений
Предназначен для больших сетей
Один сервер может отслеживать сотни метрик на тысячах устройств
Полная поддержка распределенного мониторинга и горизонтального масштабирования
Мониторинг перекрывающихся IP-подсетей
Гибкий контроль доступа для операторов и клиентов


3. Углубляемся


Как установить систему — есть целый мануал администратора, доступный на сайте разработчика, и ничего сложного в этом нет, поэтому на этом останавливаться не буду. Самое трудное в установке — подключение системы к базе данных… Тут разница будет лишь в выборе СУБД и ОС сервера. Я выбрал Windows (далее-далее-ввести данные-готово) и MSSQL, так как он у меня уже был.

3.1. Включаем автообнаружение


Автообнаружение узлов сети можно включить при установке. Если это не было сделано по каким-то причинам, то его всегда можно включить в «Configuration-Network Discovery» или щелкнув по иконке с тем же именем. В рабочей области появятся свойства обнаружения. Нужно его включить, переведя в пассивный или активный режим, и обозначить другие свойства, например, опрашиваемые подсети. Так же тут можно накрутить фильтры, причем можно как выбрать и донастроить встроенные в систему, так и написать собственные скрипты. Честно скажу — мне фильтры не понадобились. Но выглядит настройка довольно дружелюбно и понятно.

Так же здесь можно указать SNMP community по умолчанию и его credentials (читай авторизацию).

3.2. Добавление узлов


При включенном автообнаружении конечные ноды (ПК, принтеры) будут добавлены и распределены по подсетям автоматически. С активным сетевым оборудованием все несколько сложнее.

Начать следует с включения на сетевом оборудовании SNMP и настроив community. Если в свойствах автообнаружения узлов сети не менялось значение по умолчанию для SNMP community, то система использует public community, при этом данную настройку можно изменить для каждого узла в свойствах добавляемой ноды (node).

Для удобства можно группировать девайсы по любому удобному принципу, для этого в дереве можно создавать контейнеры в ветке Infrastructure Services и биндить в них ноды из Entrie Network.

После включения и настройки SNMP на маршрутизаторах и добавления их в список отслеживаемого оборудования, система сама с ними свяжется, опросит, определит, что это за девайсы, применит шаблоны, начнет сбор данных и покажет front panel для каждого маршрутизатора. Сама. Из коробки. Когда я настраивал Zabbix, о подобном я мог только мечтать.

Я добавлял все свои сетевые железки вручную, так как сами они у меня по какой-то причине не обнаружились. Тут все просто. Создаем контейнер в Infrastructure Services с любым удобным названием (например switches), и ПКМ-создать-ноду, указать отображаемое имя ноды, ее IP-address и лучше поставить галку на «отключить использование NetXMS агента», так как его все равно невозможно установить на сетевое оборудование, а лишние пакеты ни к чему.

Встроенный браузер. Можно просто ПКМ на нужном маршрутизаторе и открыть web-интерфейс девайса. Мне это показалось удобнее, нежели каждый раз лезть в свои записи и искать нужный IP. Правда, браузер так себе.

3.3. Построение карты сети


Прежде всего нужно создать карту сети как объект. Как обычно — в ветке Networks Map ПКМ, создать, выбрать тип карты, задать параметры, и система дальше все сделает сама.

Типы карт следующие:

  1. Custom. Это карта, предназначенная для формирования вручную, по желанию пользователя.
  2. Layer 2 topology. Это карта, позволяющая автоматически сделать все за пользователя, опираясь на 2 уровень модели OSI (по-сути, строит карту основываясь на mac-адресах устройств).
  3. IP topology, она же Layer 3. То же самое, что и в случае с Layer 2, только карта строится на основе 3 уровня модели OSI (IP-адреса).

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

В двух других случаях нужно выбрать точку отсчета, с которой система начнет строить карту. Например, ноду какого-нибудь маршрутизатора. Система считывает с него данные о подключенных устройствах и портах, к которым они подключены, после чего считывает данные со следующего маршрутизатора, сопоставляет, и так далее. После анализа всех устройств NetXMS сама нарисует связи между устройствами сети с указанием портов, куда что подключено. Так же можно указать, чтобы система поместила на карту в том числе и конечные устройства (принтеры, ПК, серверы), просто ткнув в соответствующий пункт в свойствах карты (ПКМ — свойства — свойства карты). Так же в этом пункте можно задать «радиус обнаружения» при желании или необходимости.

Маленькая рекомендация. Включите свойство Always fit layuot to screen, чтобы каждый раз обновляя карту сети не приходилось прокручивать рабочее пространство и работать зумом.

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

3.4. Агенты


Агенты существуют как для Windows, так и для Linux. Принцип работы такой же, как и у агентов того же Zabbix: устанавливается на машину, с которой нужно снимать метрики, и передает данные на сервер мониторинга. Агента можно установить как до добавления ноды в систему, так и после. После появления агента на ноде, система через некоторое время начнет принимать от него данные, применив стандартный шаблон. Добавить отслеживаемые параметры можно как для одной ноды, так и прицепив к ней один или несколько предопределенных шаблонов. Рекомендуется, естественно, работать с шаблонами, так как эта настройка более гибкая.

Список отслеживаемых параметров для агентов достаточно обширен. Полный перечень можно посмотреть в Wiki NetXMS

Как только система определит, что на ноде функционирует агент, она сразу же прикрепит эту ноду к одному из дефолтных шаблонов — Windows, Linux, HP-UX, Generic UNIX, AIX, в зависимости от операционной системы ноды.

Стандартный шаблон для Windows-хостов:

Добавить параметр для отслеживания конкретной ноде можно щелкнув «ПКМ-Data Collection Parameter«, далее «ПКМ в рабочей области — New parameter«, и выбрать нужное из списка. Тут же можно настроить и триггеры для отслеживаемого параметра.

Немаловажно, что агенты, так же как у Zabbix, умеют запускать пользовательские скрипты.

Как установить?Это оффтоп, так как каждый… хммм… как хочет.

Тут вопрос в том — надо ли распространять агентов только на серверы, или вообще на все машины сети? Если серверы, и их немного — проще всего руками. Если много — политики домена, KIX, PoSh. Чем угодно. У агентов есть ключ /SILENT, что позволяет «внедрить» его прозрачно для пользователя (если мы говорим о распространении на все машины сети). Я предпочитаю скрипты, так как можно задать условие и создать некий флаг, в отличии от политик, которые будут ставить программу каждый раз при включении ПК. Итак, пишем скрипт из серии «проверить наличие файла-флага, если нет — запустить инсталлятор с ключом /SILENT и после успешной установки создать файл-флаг». Профит.


3.5. Триггеры


Триггеры можно настроить на реагирование на определенные события в собираемых данных. Например, превышение определенного значения ping-pong до маршрутизатора. Так же настраивается способ оповещения для каждого триггера (для каких-то достаточно значка в консоли, а какие-то сразу шлют оповещения куда только можно). Реакция на событие выбирается из преднастроенных в Action Configuration.

Для создания триггера: войти в Data Collection Cnfiguration ноды или шаблона, двойной щелчок по интересующему параметру (если нет, то надо его сперва создать), и в свойствах перейти на вкладку Thresholds, нажать кнопку добавить.

«Function» — какое или какие значения брать для вычисления условия. Может принимать следующие значения (количество используемых для проверки значений указывается в поле Samples):
— Last polled value: последнее/ние полученное/ные значение/ния
— Average value: среднее значение из последних
— Mean deviation: среднее отклонение
— Diff with previous value: разница с предыдущим значением
— Data collection error: ошибка получения данных
— Sum of values: сумма значений
— Script: значение, полученное в результате работы пользовательского скрипта

«Operation» — условие срабатывания триггера. Может принимать значения (значение указывается в соответствующем поле Value):
— <: less than: меньше, чем
— <=: less than or equal to: меньше или равно
— == equal to: эквивалентно
— >=: great than or equal to: больше или равно
— >: great than: больше, чем
— !=: not equal to: не эквивалентно
— like: приближенно к
— not like: не приближенно к
На счет двух последних параметров у меня нет уверенности в том, как они работают. По этому не буду даже предполагать какие границы в них встроены.

Словом, все как в том же Zabbix, только не надо руками формулы вписывать, боясь ошибиться или очепятаться. Для восстановления триггера (deactivation event) система сама подставит значение. (В Zabbix опять надо печатать и не опечататься).

3.6. Шаблоны


ПКМ-создать шаблон, ввести имя шаблона. ПКМ-Data Collection Cnfiguration.Немного теорииСобираемая информация может поступать из нескольких источников. Это может быть агент NetXMS, работающий на машине, может быть «простой запрос» или «Internal«, отправляемый самим сервером (например тот же ping), «SNMP«, «check point SNMP«, «Push«, «Windows Performance Counters«, «SM-CLP«, или же пользовательский «скрипт«. У каждого типа информации можно выбрать тип, который система будет ожидать при получении. Например, ping будет возвращать целочисленное значение (integer), количество свободного дискового пространства в байтах так же будет integer, а вот та же температура будет уже не целочисленным, то есть real).

Для сбора информации через SNMP в NetXMS есть огромный список предопределенных параметров, то есть можно не вписывать конкретный OID, а найти его в дереве MIB, что достаточно проблематично на самом деле… Но. В итоге нужно копаться в документации производителя и искать IOD значения для каждого девайса по-отдельности. Можно убить массу времени на настройку считывания информации с девайсов, натыкаясь на сообщение системы «UNSUPPORTED», а в итоге окажется, что данное конкретное устройство просто не умеет предоставлять запрошенную инфу. Тут остается только курить мануалы и надеяться.


Например, чтобы собирать информацию о времени отклика ноды (ping), нужно добавить новый параметр (ПКМ-new parameter), в поле Origin выбрать Internal, нажать кнопку Select, и выбрать Ping Time. Там есть поиск, о чем в Zabbix я только мечтал. Так же есть смысл изменить период опроса ноды (по умолчанию стоит 60 секунд, то есть если маршрутизатор перестанет отвечать сразу после того, как был опрошен системой мониторинга, то пройдет почти целая минута до того, как система поймет, что с ним что-то не так, и забьет тревогу).

Список Internal данных, которые можно обрабатывать:

После того, как в шаблон были добавлены все необходимые настройки, нужно нажать ПКМ-apply и выбрать все ноды, к которым этот шаблон нужно применить (ctrl+ЛКМ). И все. После этого в дереве под шаблоном появится ветка, раскрыв которую, можно увидеть все ноды, к которым этот шаблон применен.

При откреплении от шаблона ноды, собираемые данные не перестают собираться, чтобы отменить их сбор нужно для каждой ноды зайти в Data Collection Configuration и удалить все вручную, либо сначала удалить параметры из шаблона и только потом удалять из него ноды. Я не знаю, для чего сделано именно так, но, на мой взгляд, это крайне странная штука. Но… Уж как есть.

В шаблоне можно выбрать нужные собираемые данные, и скопировать их в другой шаблон. Массово. И не надо копипастить из одного шаблона в другой руками… Я уже начинаю ненавидеть Zabbix..

3.7. Dashboards


Как это ни странно, но NetXMS Wiki по этому поводу содержит лишь одну ссылку на youtube: Creating a Dashboard, нет даже списка и описания элементов, которые можно добавить на Dashboard. В принципе, там все так же интуитивно понятно. Label — это просто… ну… Label же… Я даже не знаю, как это перевести. Словом, поле с надписью, используется для обозначения и разграничения элементов, так как сами элементы названий не содержат. Line Chart — это линейный график. Bar Chart — это диаграмма. Alarm Viewer — список предупреждений для выбранного/ных узла/ов. Словом, названия говорят сами за себя.

Далее нужно открыть свойства дашборда и настроить представления. Нас интересует вкладка Dashboard Elements. Number of columns — это количество колонок, элементов, которые будут расположены по горизонтали. У каждого объекта есть свои свойства, и я бы рекомендовал снимать галку с пункта Layout-Grab execessive vertical space, чтобы минимизировать размер каждого элемента.

3.8. Action Configuration


(Configuration-Actions Configuration)
По-сути, это действия в ответ на срабатывание триггеров.

NetXMS умеет отправлять e-mail, sms, xmpp сообщение, в ответ на срабатывание триггера. Тут все тривиально — просто заполнить нужные поля.

Также можно:

— Передать оповещение на другой NetXMS сервер
— Выполнить команду на сервере администрирования NetXMS
— Выполнить команду на ноде с помощью агента NetXMS
— Выполнить NXSL скрипт (NSXL — это свой скриптовый язык программирования NetXMS)

После создания действия ему можно настроить время задержки выполнения, а так же применить макрос для выполнения. Время задержки нужно для того, чтобы не беспокоить оператора в случае, если проблема разрешится сама собой (например, время ответа на ping-запрос было больше заданного значения, но при следующей проверке оно может вернуться в норму, так зачем беспокоить по таким пустякам?).

3.9. Разграничение прав доступа


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

4. Заключение


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

Давайте так. Я пользовался Zabbix’ом и NetXMS. По этому просто напишу свои ощущения от двух этих систем.

Итак.

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

Главным плюсом NetXMS против Zabbix для меня оказалась возможность запустить скрипт на проблемной ноде в ответ на срабатывание триггера. Поднялась температура ЦП выше порога — она сама погасит хост. А потом уже будем разбираться — в чем проблема. Возможно, в Zabbix такая штука тоже есть, но я не смог. Так же как и в мониторинг портов на маршрутизаторах. А тут само… Ну, как само… Надо освоить скриптовый язык, и все…

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

В целом системы достаточно похожи, и возможности у них, на первый взгляд, кажутся как минимум сравнимыми. Хотя чувствуется, что Zabbix может больше, но эти возможности кроются глубоко под капотом и для простого смертного админа «все в одном» недостижимы. NetXMS же видится простой и понятной, дружелюбной и приятной.

У Zabbix отличная документация, wiki, how to, F.A.Q., best practice, а так же всевозможные форумы и т.д., где можно найти ответы практически на все вопросы. А если что — задать собственный.

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

Но все же главным плюсом я вижу именно очень приятный интерфейс и простоту настройки.

5. Использованные материалы


youtube-канал Tomas Kirnak
NetXMS Wiki
Google-поиск

habr.com

Автоматическое создание схемы сети бесплатно LanTopoLog


LanTopoLog 2 version 2.44

Лицензия:    Условно-бесплатная
Функция распознавания топологии сети работает без ограничений и в незарегистрированной
версии, то есть LanTopoLog предоставляет бесплатный инструмент для создания схемы сети

Автор:       Юрий Волокитин 

Системные требования:     Windows Vista/2008/7/8/2012/10/2016/2019

Возможности LanTopoLog

— автоматическое построение физической топологии локальной сети
  на основе данных, собранных с коммутаторов по протоколу SNMP
— отображение схемы сети в двух-панельном браузерe
— показывает все устройства на всех портах коммутаторов, их имена и адреса IP
— настраиваемое контекстное меню для иконок компьютеров и коммутаторов
— отображение номеров VLAN, портов LACP
— мониторинг состояния Spanning Tree и оповещение об изменениях в топологии STP
— ping мониторинг всех хостов сети
— отображение даты и времени последнего ответа на ping каждого компьютера
— добавление в схему любых данных, привязанных к mac адресу в
  в импортируемом файле
— публикация схемы сети на web сервере
— поиск в базе данных LanTopoLog в том числе и через web браузер
— автоматическое добавление компьютеров в схему сети по мере их
  подключения к сети с записью в журнале об обнаружения нового
  mac адреса и с оповещением администраторов
— индикация состояния тревоги и оповещение администраторов
  с помощью e-mail
— инвентаризация компьютеров в сети предприятия средствами WMI
— экспорт списка коммутаторов и таблицы соединений коммутаторов в csv файл
— экспорт списка компьютеров в csv файл
— отображение скорости соединения на всех портах коммутаторов
— мониторинг сетевого трафика, что позволяет узнать источник
  трафика с точностью до порта коммутатора
— мониторинг ошибочных и потерянных пакетов (ifInErrors/ifOutErrors, ifInDiscards/ifOutDiscards)
— оповещение администраторов о превышении заданных порогов трафика
— простой интерфейс
— программа не производит никаких записей в системные области (реестр,
  системные папки) и является портативной
— программа безопасна и не имеет функций передачи данных через интернет

Вопросы и пожелания по LanTopoLog шлите   [email protected]

Copyright © 2007-2019 by Yuriy Volokitin.  All Rights Reserved.

www.lantopolog.com

бесплатный генератор тополгии Active Directory и Exchange. – Сибирский ТАМ

У любого ситемного администратора время от времени возникает желание иметь карту своей сети. Разумные ИТ-менеджеры в первую очередь требуют создать документацию для ввереного сетевого и серверного хозяйства. Это неудивительно, ведь документация – вещь крайне полезная и ценная. Удивительно другое – насколько редко можно встретить актуальную и понятную документацию на серверное и сетевое хозяйство. Сегодня мы поговорим о том как легко начать путь документирования. Более того, исползуя советы из этой статьи вы не только сможете порзаить своего начальника красивыми картинками, но еще и получите средство диагностики для вашей инфраструктуры Active Directory и Exchange.

Active Directory Topology Diagrammer (ADTD), в два клика создает:

  • Карту активного леса Active Directory со всеми контроллерами домена, с указанием ролей FSMO и GC
  • Топологию сайтов и текущие состояние линков репликации, что по идее сильно похоже на карту сети
  • Диаграмму серверов, групп маршрутизации и администрирования для Exchange 2003
  • Топологию маршрутизации и сервера для Exchange 2007
  • Диаграмму организационных подразделений (Organizational Unit, OU)

Когда я как менеджер Premier Support прихожу к своему заказчику в первый раз, первым делом мы создаем карту инфраструктуры AD и Exchange с помощью бесплатной утилиты Active Directory Topology Diagrammer (ADTD). Эта утилита была разработана внутри команды премьер поддержки достаточно давно. Долгое время была доступна только для заказчиков Premier Support, а в прошлом году, после проведения всех необходимых тестовых процедур, утилита была опубликована в разделе загрузки для всех желающих. В море других утилит дигараммер до сих пор не всем заметен, хотя грамотные люди его используют и рекомендуют на форумах. Немного пройдясь поисковыми машинами по русскому интернету, я обнаружил только одно хорошее описание диаграммера на сайте Exchangerus.ru.

Установка и первые шаги в Active Directory Topology Diagrammer

Для работы с ADTD нам понадобится компьютер с установленными .Net framework 2.0 и Visio 2003 или 2007. Требования к правам пользователя невелики – компьютер, где вы будуте создавать карты, должен быть членом домена. Также, вам потребуется логин и пароль пользователя из домена. Начинте скачивать (ADTD) прямо сейчас, а пока идет загрузка и установка, дочитывайте этот пост.

На картинке слева изображено главное окно диаграммера. Настройка программы предельно проста – укажите в поле Server имя сервера глобального каталога AD, выберете необходимые вам диаграммы и их свойства, далее нажмите Discover. Подождите несколько десятков секунд, пока происходит чтение информации. Для некоторых операций, например, подсчета количества почтовых ящиков, необходимо подключение к соответствующим серверам. Так что процедура сбора информации может занять больше времени, и потребуется расширенный сетевой доступ.

После того как программа собрала всю необходимую информацию, активируется кнопка Draw. Нажимайте ее, и у вас откроется новое окно MS Visio. В этом окне начнут появляться сервера, сайты, связи, вообщем все то, что вы желаете видеть. Не пугайтесь страшного нагромождения объектов. Сначала происходит наполнение данными, а затем ADTD производит перегруппировку всех объектов. Первый раз достаточно интересно наблюдать за тем, как это происходит. В дальнейшем, всегда сворачивайте(минимизируйте) окно VISIO для того, чтобы значительно ускорить процесс построения диаграмм. Потому что именно вывод на экран обновленной после каждого изменения картинки, наиболее тормозит процесс построения карты. Сам расчет оптимального дизайна проивзодится достаточно быстро. Что-же, карты готовы, давайте обсудим, что мы можем из них получить.

Карта доменов Active Directory

Карта доменов содержит список всех доменов в лесу плюс все внешние доверительные домены. На рисунке справа, большой вариант которого открывается в отдельном окне, вы видите пример карты доменов леса Active Directory. Что важного мы можем вынести из это диаграммы?

  1. Наглядно увидеть весь лес целиком с указанем функиональных уровней леса и домена, а также версию схемы AD
  2. Распределение ролей FSMO для леса и каждого из доменов.
  3. Узнать данные всех контроллеров домена: название, версия ОС и Service Pack, флаг глобального каталога (отражается в виде глобуса)
  4. Общее количество пользователей и контроллеров домена в каждом из доменов

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

Топология сайтов и текущие свзяи для репликации Active Directory

Диграмма сайтов — отличный метод получить карту локальной сети. Конечно в том случае, если создатели инфраструктуры AD действительно внимательно подошли к вопросу планирования и внедрения. Что мы можем обнаружить на данной диаграме?

  1. Объекты для всех сайтов Active Directory, которые связаны друг с другом так, как это задано в оснастке AD Sites’n’Services
  2. Каждый сайт содержит свои подсети в виде значков с описанием
  3. Важные свойства каждого из сайт-линков: интервал репликации и стоимость.
  4. Реальные репликационные связи на момент создания диаграммы.

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

  • Пустые сайты, т.е. без контроллеров домена.
  • Сайты без под-сетей
  • Связи больше чем с двумя сайтами одновременно

Карта почтовой организации Exchange

Карта серверов Exchange – это очень мощный инструмент. Особенно полезен для инфраструктуры Exchange 2003, где у нас есть отдельно административные группы и группы маршрутизации. Содержание:

  • Все сервера и кластерные группы Exchange организации, включая роли: backend/frontend.
  • Группы маршрутизации и их связь между собой
  • Для связей групп маршрутизаций(E2K3) и сайтов AD (E2K7) отражаются все важные параметры
  • Версия сервера Exchange и версия пакета обновления.
  • Плюс можно включить подсчет количества почтовых ящиков на каждом из серверов.

Именно эта карта покажет вам каким образом ходит почта внутри организации, как и откуда она может попадать в интернет и т.п.

Чем мне еще нравится ADTD, так это тем, что он уже поддерживает Exchange 2007 со всеми ролям, т.е. можно увидеть и кластера и пограничный сервер – вообщем прекрасная карта, смотрите сами.

Понятная и опрятная диграмма ADTD – залог стабильности AD и Exchange

 Этот пост имеет тэг ит-менеджеру. Казалось бы, зачем какая-то технологическая карта может быть реально полезна начальнику отдела или директору ИТ? Ответов здесь два. Во-первых, наличие документации само по себе очень правильное дело. Частенько инженеры ссылаются на нехватку времени, как причину отсутсвия документации. Теперь вы знаете, что для AD и Exchange минимальная документация делается в пару кликов мышки. Ее лучше сделать прямо сегодня! Ведь если завтра ваш администратор уйдет в отпуск, и случится большой сбой, то будет понятно хоть что восстанавливать тем инженерам, кого вы сможете обнаружить под рукой.

Во-вторых, ADTD позволяет провести наглядный и быстрый аудит состояния инфраструктуры AD и Exchange. Это особенно легко сделать для гегорафически-распределенных организаций. Посмотрите на приведенную выше диграмму сайтов, очевидно и без глубоких знаний Active Directory, что в такой инфраструктуре что-то совсем-совсем плохо, а в случае проблем понять что и от чего действительно завсит невозможно. Пример из реальной жизни российской компании, где после приведения в порядок топологии сайтов нашими инженерами, диграмма приобрела следующий красивый и предсказуемый вид звезды.

AD Пример правильной топологии сайтов ADTD

У вас до сих пор нет карты своей сети? Прямо сегодня дайте задание инженерам скачать Active Directory Topology Diagrammer (ADTD), и посмотрите сами, на сколько разумно и эстетично выглядят диграммы вашей инфраструктуры!

blogs.technet.microsoft.com

Программная визуализация схемы локальной сети / Habr

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

Как же это знание поможет нам отобразить локальную сеть?

QuickGraph

Существует прекрасная бесплатная библиотека для работы с графами – QuickGraph. Работа с графами в этой библиотека реализована очень просто.

Импортируем пространство имен:
Imports QuickGraph

Объявляем граф:
Dim graph As New BidirectionalGraph(Of Object, IEdge(Of Object))

Как ранее было сказано, компьютеры – это узлы нашего графа. Добавляем узел:
graph.AddVertex("ИмяКомпьютера")

Список компьютеров мы возьмем из Active Directory:
Dim de As New DirectoryServices.DirectoryEntry
Dim search As New DirectorySearcher(de)
search.Filter = "(objectCategory=computer)"
Dim results As SearchResultCollection = search.FindAll()
For i As Integer = 0 To results.Count - 1
Dim de2 As DirectoryEntry = results(i).GetDirectoryEntry
Dim ComputerName As String = CType(de2.InvokeGet("cn"), String)
graph.AddVertex(ComputerName)
Next

Замечательно, но полученный результат получился мало похожим на граф. У нас отсутствуют связи между узлами.

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

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

Пройдясь по компьютерам при помощи WMI…
Private Function GetGateway(ByVal ComputerName As String) As String
Dim s As String = String.Empty
Dim query As ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection
Dim msc As ManagementScope = New ManagementScope("\\" + ComputerName + "\root\cimv2")
query = New ManagementObjectSearcher(msc, New SelectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration"))
queryCollection = query.Get()
For Each mObject As ManagementObject In queryCollection
Try
If mObject("DefaultIPGateway").ToString <> "" Then
s = mObject("DefaultIPGateway")(0).ToString
End If
Catch
End Try
Next
Return s
End Function

… получим список всех шлюзов. Добавим их в граф, так же как и компьютеры:
graph.AddVertex("ИмяШлюза")

Одновременно с добавлением узлов, добавим связь между компьютером и шлюзом:
graph.AddEdge(New Edge(Of Object)("ИмяКомпьютера", "ИмяШлюза"))

Вот теперь мы получили граф, но только не визуальный.

Graph#

QuickGraph поддерживает MSAGL, GLEE и Graphviz для визуализации графов, но мы воспользуемся Graph#. Данный фреймворк содержит различные алгоритмы для визуализации графов в WPF приложениях.

Размещаем на форме GraphLayuot контрол из данного фреймворка и пишем простую строку для отображения созданного нами ранее графа:
GraphLayout.Graph = graph

И это все, что нам нужно. Все остальное возьмет на себя Graph#.

Ссылки:
QuickGraph
Graph#

habr.com

Десять программ для составления схемы сети на любой бюджет

CADE (бесплатная)

Векторный 2D-редактор CADE для Windows разработан компанией, специализирующейся на работе с САПР. Программа позволяет с легкостью составить подробную схему сети. Одна из самых полезных, на мой взгляд, функций — возможность подписать IP-адрес, серийный номер и название фирмы-производителя для каждого устройства в сети. CADE включает все необходимые для составления схемы шаблоны и распространяется абсолютно бесплатно.


Concept Draw Pro

Concept Draw Pro — один из наиболее мощных бизнес-инструментов для составления диаграмм, причем не только сетевых. На освоение программы требуется минимум времени — все операции осуществляются простым перетаскиванием. В состав Concept Draw Pro входит полный набор сетевых символов, а все аспекты диаграммы можно персонализировать. Стоимость приложения — 249 долларов.

Dia (бесплатная)

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

Diagram Designer (бесплатная)

Diagram Designer — еще одна бесплатная утилита с устаревшим интерфейсом, зато очень простая в обращении, благодаря чему наверняка придется по вкусу многим пользователям. В отличие от Dia, программа предлагает куда более широкий выбор символов и значков. Единственное, что мне не понравилось в Diagram Designer, — это необходимость рисовать соединения между компьютерами вручную, потому что для этого в программе используется произвольная форма. За исключением этого небольшого недостатка, DD — вполне достойное решение.

eDraw Max

eDraw Max — один из лучших инструментов в этом списке, за исключением, разумеется, Visio. Программа проста в освоении, обладает удобным, и притом наиболее современным пользовательским интерфейсом из всех перечисленных вариантов. eDraw Max представляет собой полофункциональное средство для составления бизнес-диаграмм любого назначения, а не только сетевых схем. Стоимость решения составляет 99,95 долларов за одну лицензию, причем чем больше лицензий, тем дешевле стоит каждая из них.

GoVisual Diagram Editor (бесплатная)

Бывают на редкость неудачные программы, и GoVisual Diagram Editor — одна из них. Это сложный в обращении инструмент, обеспечивающий далеко не удовлетворительные результаты. Хотя с его помощью все-таки можно составить схему сети, она будет не особенно удобна для чтения, поскольку в GoVisual Diagram Editor отсутствуют некоторые полезные функции — в частности, значки сетевых устройств. Но если кому-то нужна бесплатная программа для составления диаграмм любого назначения, GoVisual — как раз подходящий вариант, потому что распространяется даром.

LanFlow

LanFlow я бы включил в число лучших. Программа обладает превосходным интерфейсом, предлагает богатый выбор сетевых объектов и позволяет с легкостью создавать схемы локальной, телекоммуникационной, внешней сети, а также диаграммы компьютеров. В LanFlow даже предусмотрено два разных шаблона сетевых диаграмм: 3D-схема и черно-белая. Чтобы создать схему, достаточно выбрать шаблон и перетащить на него подходящие объекты, которые можно группировать, удалять и так далее. Однопользовательская лицензия на программу стоит 89 долларов, так что LanFlow по праву может называться одной из лучших бюджетных альтернатив Visio.

NetProbe

Хотя NetProbe можно использовать и для составления схем, основное назначение программы — это мониторинг сетевых устройств в режиме реального времени. Но главное достоинство NetProbe как средства для построения диаграмм заключается в том, что сетевые устройства можно добавлять на схему по мере необходимости, причем даже заранее. Делать это вручную не обязательно — встроенный компонент NetProbe автоматически сканирует сеть и составляет список всех доступных в сети устройств. Версия Standard бесплатна, но может отслеживать всего восемь хостов. Версия Pro стоит всего 40 долларов и рассчитана на 20 хостов, а версия Enterprise, позволяющая вести мониторинг 400 хостов, предлагается по цене 295 долларов.

Network Notepad (бесплатная)

Network Notepad (буквально «сетевой блокнот») представляет собой именно то, что следует из названия — блокнот для составления сетевых диаграмм. Но несмотря на кажущуюся простоту, программа обладает богатыми возможностями, включая интерактивные функции (Telnet, просмотр сети, пингование и т. д.). Network Notepad имеет простой интерфейс с поддержкой перетаскивания и умеет автоматически обнаруживать устройства Cisco. Распространяется программа бесплатно.

Microsoft Visio

Visio — это, конечно, фактический стандарт на рынке приложений для составления диаграмм в Windows. Программа позволяет с легкостью создавать красивые схемы сети и обеспечивать к ним общий доступ через веб-браузер. Visio включает богатый набор шаблонов, в том числе для центров обработки данных, служб помощи, сетевых стоек; для консолидации офиса, планирования сети в масштабах предприятия, ЦОД или домашнего офиса; для составления дерева неисправностей, плана отопления, вентиляции, кондиционирования и т. п. Visio — лучшее решение для составления сетевых схем, а потому и стоит оно недешево: 249,99 долларов за версию Standard, 559,99 за Professional и 999,99 за Premium 2010. Подробнее о возможностях версий можно прочитать на официальной странице Visio.

Автор: Selena Frye
Перевод SVET



Оцените статью: Голосов 16

www.winblog.ru