Инструмент для инвентаризации сети nela nms: inventory.Zator (nela: invZ). Релиз 0.1.1

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

Жмите, если готовы

Жмите, если готовы

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

Теперь необходимо установить саму программу, для этого просто необходимо скачать nela: invZ и распаковать архив в удобную для себя папку. Распакованная программа выглядит следующим образом:

anton@anton-virtual-machine:~/nettools$ ls -l

-rwxr-xr-x 1 anton anton  3879 Apr  2 14:47 invZ011.pl

-rw-r—r— 1 anton anton   343 Mar 28 13:45 param.cfg

В ней содержится сама программа и файл с настройками. Это уже скомпилированный скрипт и запускать его можно просто следующим образом:

anton@anton-virtual-machine:~/testperl/nettools$ ./invZ011.pl 10.10.10.3 N

Скрипт сразу выполняется и результат его выполнения мы видим в командной строке:

nela nms: Invnetory.zator

Current version is 0.1.1

(c)2014, network-lab.

 

This is the tool for making the inventory list of all the installed equipment in your network

 

Current node is 10.10.10.3

 

Connecting to 10.10.10.3  via SSH…

Connectivity is established! Trying to get the information…

Info is gathered successfully! Connection is terminated.

 

Starting to analyse data from 10.10.10.3…

Analyze is finished, the data is recorded into DB.

Рассмотрим формат команды запуска, который довольно прост:

./invZ011.pl ip cl

./invZ – указание исполняемого файла, то есть нашего скрипта

Ключи «ip» и «cl» являются исходными данными для нашего скрипта, так как именно они указывают, что нашему скрипту делать.

Ключ «ip» может иметь вид следующий вид:

1)      10.0.0.* — в таком случае nela: invZ будет подключаться ко всем узлам в диапазоне 10.0.0.0/24, последовательно от 10.0.0.1 к 10.0.0.254

2)      10.0.0.1 – в таком случае nela: invZ будет подключаться только к данном узлу

Ключ «cl» может иметь вид следующий вид:

3)      Y – очистка базы данных перед добавлением туда новой информации

4)      N – сохранение в базе результатов предыдущей инвентаризации

С запуском скрипта разобрались, посмотрим, что же он нам собрал. Посмотреть мы пока можем напрямую в базе MySQL. Это не очень удобно, поэтому мы работаем над созданием просмотрщика. Но пока так, как есть:

mysql> SELECT * FROM test.routers;

+————————-+———————-+—————+

| Name                    | Model                | IP            |

+————————-+———————-+—————+

| test_cisco22              | Cisco CISCO7609-S    | 10.10.10.3 |

+————————-+———————-+—————+

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

mysql> SELECT * FROM test.modules;

+————+——————-+—————————————————————+————-+

| id         | Module            | Description                                                   | SN          |

+————+——————-+—————————————————————+————-+

| test_cisco22 | CISCO7609-S       | Cisco Systems Cisco 7600 9-slot Chassis System                | FOX1234H6CN |

| test_cisco22 | WS-C6K-VTT-E      | VTT-E FRU 1                                                   | SMT1228L544 |

| test_cisco22 | WS-C6K-VTT-E      | VTT-E FRU 2                                                   | SMT1228L549 |

| test_cisco22 | WS-C6K-VTT-E      | VTT-E FRU 3                                                   | SMT1228M411 |

Очень много строк

| test_cisco22 | SFP-GE-S          | Transceiver 1000BaseSX Gi3/40                                 | FNS1232107Y |

| test_cisco22 | WS-X6748-GE-TX    | WS-X6748-GE-TX CEF720 48 port 10/100/1000mb Ethernet Rev. 3.0 | JAF1233AMLP |

Очень много строк

| test_cisco22 | FAN-MOD-9SHS      | High Speed Fan Module for CISCO7609-S 2                       | FOX1234H65D |

| test_cisco22 | WS-CAC-4000W-INT  | 220v AC power supply, 4000 watt 1                             | SNI1220BMJ9 |

| test_cisco22 | WS-CAC-4000W-INT  | 220v AC power supply, 4000 watt 2                             | SNI1220BMDC |

+————+——————-+—————————————————————+————-+

108 rows in set (0.00 sec)

Именно в этой таблице и находится вся инвентарная информация о нашей сети, включая все SFP модули, линейные карты, вентиляторы и т.д.

Давайте теперь рассмотрим сам алгоритм работы нашей программы:

nela invZ: блок-схема алгоритма

nela invZ: блок-схема алгоритма

Наш скрипт довольно прост, немного прокомментируем его. В конфигурационном файле содержится информация о именах пользователя / паролях для подключения к базе данных и устройствах. Если Вы подготавливали компьютер по нашей статье, часть базы данных менять не надо.  Имя пользователя и пароль для подключения по ssh стоит исправить.

Для подключения к устройству по умолчанию используется протокол SSH 2.0, для безопасного обмена информацией. Если по каким-то причинам соединение не может быть установлено, скрипт пытается установить соединение по протоколу telnet. За 1 подключение скрипт собирает всю необходимую информацию и отключается.

Что точно поддерживается, то есть на чем мы реально проводили тестирование:

1) Cisco 7600 Series

2) Cisco 7200 Series

3) Cisco ISR 1900 Series

4) Cisco ASR 9000 Series

5) Cisco Catalyst 6500

Несмотря на всю его простоту, он прекрасно работает и справляется со своими задачами. Ты можешь уже использовать его в своей сети. А если у тебя возникают вопросы, пишите нам. Наш продукт nela: invZ начал свой путь, и мы верим, что будущее нас ждет большое.


Комментарии:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hide me
Получать регулярно свежие материалы, лабораторные и вебинары
Email Имя
Show me