p>
- підтримує різні операційні системи.
Таким чином, можна зробити висновок, що особливих вимог до операційної системи немає. Інтерпретатори Perl існують і для систем Windows, СУБД MySQL так само можуть працювати в різному середовищі. У даному проекті була обрана операційна система Linux.
4. Розробка програмного забезпечення
. 1 Розробка програми для моніторингу комутаторів ЛВС
Програма моніторингу комутаторів ЛВС згідно із завданням і вибраному в розділі 3 рішенням повинна забезпечувати:
- збір необхідної інформації з змінних бази MIB комутатора по протоколу SNMP;
- запис отриманої інформації в дві бази даних - локальну, що знаходиться на комп'ютері, безпосередньо підключеному до комутатора, і центральну, що знаходиться на комп'ютері в центральному вузлі зв'язку;
- сповіщення адміністратора про зміну статусу інтерфейсів комутатора.
Перш ніж приступати до написання програми, що працює по протоколу SNMP, необхідно налаштувати SNMP-агента, що знаходиться на комутаторі. Для розглянутих комутаторів Cisco Catalyst 2950 і Catalyst 3550 у найпростішому випадку для активації SNMP-агента необхідно задати ім'я спільноти. Для менеджера та агента при встановленні з'єднання ці імена повинні збігатися. Так реалізований найпростіший механізм авторизації. Розглянуті комутатори, як було сказано в розділі 2, підтримують більш складні механізми безпеки. У конфігураційному файлі комутатора рядок настройки імені спільноти виглядає наступним чином:
snmp-server community public RO
(Read-only) означає, що по такому імені спільноти до даного агенту можна підключитися тільки для читання інформації з змінних MIB. Так само існують ще рівні RW (Read-write) для зміни значень всіх змінних MIB на комутаторах, крім зміни імені спільноти, і Read-write-all для зміни всіх змінних. Але завдання ставиться тільки зібрати певну інформацію, а не змінювати її, тому вибрано рівень RO. В даному випадку роль менеджера виконуватиме розробляється програма. Структурна схема алгоритму роботи програми представлена ??на малюнку 4.1. Для мови Perl існують спеціальні модулі, що реалізують методи роботи з протоколом SNMP. У даному дипломному проекті використовується модуль Net :: SNMP. Створення з'єднання по протоколу SNMP, використовуючи даний модуль, виглядає наступним чином:
($ session, $ error)=Net :: SNMP- gt; session (
hostname= gt; shift || 192.168.0.10 ,
community= gt; shift || public ,
- port= gt; shift || 161);
Тобто необхідно вказати IP-адресу агента, ім'я співтовариства і порт.
Щоб зібрати необхідну інформацію, потрібно знати імена змінних MIB, в яких зберігаються необхідні значення. Імена змінних відповідно з необхідними параметрами, визначеними завданням і обраним рішенням, можна знайти на сайті виробника устаткування cisco. Використовувані в програмі змінні виглядають наступним чином:
- $ AmountPort= .1.3.6.1.2.1.2.1.0 - Кількість інтерфейсів;
- $ AverageCPULoad= .1.3.6.1.4.1.9.2.1.58.0 - Завантаження центрального процесора;
- $ FreeMemory= .1.3.6.1.4.1.9.2.1.8.0 - Обсяг вільної пам'яті;
- $ Uptime= .1.3.6.1.2.1.1.3.0 - Час напрацювання на відмову;
- $ DescrPort= .1.3.6.1.2.1.2.2.1.2. $ i - Опис інтерфейсу i;
- $ SpeedPort= .1.3.6.1.2.1.2.2.1.5. $ i - Швидкість інтерфейсу;
- $ OperPort= .1.3.6.1.2.1.2.2.1.8. $ i - Оперативний стан інтерфейсу;
- $ AdminPort= .1.3.6.1.2.1.2.2.1.7. $ i - Адміністративне стан інтерфейсу;
- $ InOctets= .1.3.6.1.2.1.2.2.1.10. $ i - Кількість вхідних байт (через інтерфейс);
- $ OutOctets= .1.3.6.1.2.1.2.2.1.16. $ i - Кількість вихідних байт;
- $ ifInErrors= .1.3.6.1.2.1.2.2.1.14. $ i - кількість вхідних байт з помилками;
- $ ifOutErrors= .1.3.6.1.2.1.2.2.1.20. $ i - Кількість вихідних байт з помилками.
Отримання значень змінних в програмі коштами спеціального модуля виглядає наступним чином:
$ ResultDescr=$ session- gt; get_request ($ DescrPort);
$ ResultSpeed ??= $ session- gt; get_request ($ SpeedPort);
$ ResultOper=$ session- gt; get_request ($ OperPort);
$ ResultAdmin=$ session- gt; get_request ($ AdminPort);
$ ResultInOctets=$ se...