Будь-адміністратор, який відповідає за супровід мережі та інформаційних систем, завжди стикається з завданням моніторингу всієї інфраструктури. Раніше такі завдання вирішувалися шляхом написання bat або shell скриптів, що працюють за розкладом і відправляють результати діагностики по електронній пошті.
У такого підходу є явний ряд мінусів:
- Навички програмування: незважаючи на те, що більшість системних адміністраторів вміють писати сценарії на мовах Perl, Python, Shell і Powershell, написання скрипта може стати першою «граблів», яку адміністратору (особливо молодому і недосвідченому) необхідно буде подолати. Як результат - багато часу піде на вивчення мови сценаріїв.
- Складнощі при розгортанні: коли в зоні відповідальності знаходиться менше 10 серверів, перенести сценарій на кожну з машин і запустити їх в роботу за розкладом не складе труднощів. Але що робити, якщо серверів 20? 50? 100?
- «Зоопарк» з технологій: якщо інфраструктура цілком побудована на Linux-системах або на системах сімейства Microsoft Windows, це одне. Але якщо в компанії є і домен-контролер, реалізований на Microsoft Windows Server, файлове сховище на Freebsd і поштовий сервер Postfix на CentOS, то адміністратор змушений розробляти різні сценарії під конкретну ОС, вирішальні одну і ту ж задачу.
Складнощі в рішенні завдання моніторингу спонукали до створення окремих моніторингових систем, як Вендорний рішень (наприклад Oracle Enterprise Manager), так і open source рішень (Zabbix) і комерційних рішень (PRTG, Nagios).
У цій статті ми розглянемо Zabbix 2.2 і PRTG Network Monitor 14.3 з точки зору можливостей систем і складнощів в установці, налаштуванні і користування.
Короткий огляд продуктів:
Zabbix є open source enterprise-рішенням (згідно з інформацією на оф. Сайті), яке може виробляти комплексний моніторинг інфраструктури (сервери, мережеві пристрої і віртуальні машини), візуалізувати отриману інформацію в графіки, стежити за навантаженням і продуктивністю обладнання з використанням власних агентів (які підтримуються практично всіма операційними системами).
Рішення PRTG орієнтоване під моніторинг мережі (мережеві пристрої, інтерфейси, канали передачі даних). Рішення не вимагає установки агентів на об'єкти моніторингу і використовує стандартні протоколи і технології ICMP, SNMP, Packet Sniffing, NetFlow і т.д. У PRTG часто використовується поняття «сенсор». Сенсором в даному випадку виступає мережева служба, яка перебуває на різних рівнях моделі OSI (може моніториться порт на обладнанні або робота HTTP, POP / SMTP).
Обидві системи моніторингу мають можливість надсилати попереджувальні про інциденти через електронну пошту або SMS, можуть працювати як через http, так і через https. Це дуже важлива властивість, якщо систему моніторингу «випускати» в інтернет.
Відразу можна сказати, що на відміну від Zabbix, який орієнтований під всю інфраструктуру в цілому, PRTG розроблений для моніторингу мереж і всього, що з ними пов'язано.
Для чистоти експерименту, я буду використовувати обидва рішення під одну задачу: моніторинг мережі і серверів.
вимоги
За рішенням Zabbix в системних вимогах вказані лише підтримувані операційні системи, з чого складно зробити висновок, скільки ядер і оперативної пам'яті буде необхідно виділити віртуальній машині, або якої потужності сервер необхідно закупити.
На сайті продукту також зазначено, що для роботи Zabbix необхідні Apache, MySQL, PHP, так що вимоги необхідно також визначати з необхідних ресурсів для веб-сервера Apache і СУБД MySQL. Однак, в документації по установці вказані приблизні вимоги під кількість об'єктів моніторингу.
Я буду встановлювати обидва рішення на віртуальній машині на основі Oracle Virtual Box з наступними параметрами: 1 CPU, 2048 Memory, 20 Gb HDD VDI.
Для Zabbix буде використаний CentOS версії 6.5 x86_64, для PRTG - Windows 7 Professional 64 bit
Додаткова зручність при установці дає сама веб-морда додатки - якщо якісь настройки не були виконані, система сама про це повідомить.
PRTG network monitor
На сайті рішення зазначено, що установка проста і займає 2 хвилини. З огляду на специфіку установки додатків в середовищі MS Windows, сумніватися в простоті не доведеться. Але чи займе це дійсно 2 хвилини?
Завантаживши дистрибутив з оф. сайту і отримавши ліцензійний ключ, я приступив до установки. Тут варто додати, що розробник не збрехав. Після натискання Next - Next - Next - введення ліцензії - Next, пройшло дійсно близько 2 хвилин, після чого система оголосила мені, що у мене дуже старий браузер.
Після перезавантаження PRTG запропонував просканувати мою мережу з використанням GURU.
Давайте спробуєм.
GURU дійсно почав «бігати» по мережі, вивчаючи всі її сегменти. Після всіх налаштувань на екрані висвітився дашборда
Робота з моніторингом.
Вікно додавання об'єкта моніторингу.
У налаштуванні пропонується налаштувати інтерфейс агента або робити моніторинг з використанням інших протоколів - вибір залишається за адміністратором, але слід враховувати, що використання агента сніжатся навантаження на сам сервер Zabbix.Zabbix багатий стандартним набором шаблонів моніторингу. При додаванні об'єкта до нього можна прив'язати необхідні шаблони і запустити моніторинг.
Окремо варто звернути увагу на особливості Zabbix:
- Шаблони - крім стандартних, можна додавати (і розробити) свої для задач, які не вирішуються «з коробки»;
- Сценарії - можна виконувати команди з сценаріїв на певному хості;
- Карта - в Zabbix існує можливість «намалювати» мережеву карту для візуалізації залежностей обладнання друг від друга;
- IT-сервіси - адміністратор будує залежність одного об'єкта від іншого, що дозволяє проактивно усунути проблему, поки не пізно, або відстежити проблемний вузол.
В цілому Zabbix повністю виправдовує звання enterprise-продукту: багатий набір функцій «з коробки» і можливість настройки будь-якого шаблону або сценарію перетворюють його в дуже потужний інструмент для інженера.
PRTG network monitor
При вході в систему користувач відразу побачить стандартний дашборда з деревовидної структурою, в якому за замовчуванням буде додано хост самої системи моніторингу. За бажанням відображення об'єктом можна змінити.
Ось так буде виглядати PRTG, якщо стилізувати його у вигляді Oracle Enterprise Manager
Як визначаються розміри мені поки не ясно, але підозрюю, що на розмір прямокутника впливає кількість сенсорів на об'єкт. Зеленим позначаються об'єкти, з якими все ОК, синім - об'єкти на паузі, червоним - об'єкти в стані down. Білим позначаються ненастроєного пристрою.
А ось тут видно огріхи шрифтів і верстки:
Все взаємозв'язку робляться вручну, але подібний вид відображення зручний, коли необхідно показувати мережеву інфраструктуру і треба розуміти залежність одного вузла від іншого.
Також присутній моніторинг завантаженості інтернет-каналу з цілком читабельним графіком.
В цілому PRTG здатний не тільки моніторити мережеву доступність, але і навантаження на устаткування. Серед сенсорів також присутні засоби для моніторингу доступності СУБД, веб-серверів і серверів додатків.
Використання систем моніторингу з обладнанням Netping
Але як і будь-якого інженера, який відповідає за інфраструктуру, мені важливо розуміти, в якому стані знаходиться моя серверна. Тут я скористаюся люб'язно наданим компанією Netping пристроєм Uniping Server Solution v3 / SMS.
Коротенько про «залізницею»: 1-юнітовий Uniping отримує інформацію з датчиків диму, вологості, температури і т.д. і здатний передавати її через Ethernet-интерфес системам моніторингу. Також всередині є GSM модем для SMS-оповіщення, реле для управління локальною індикацією і сигналізацією, можливість підключення до WiFi мережі для бездротових датчиків.
Як подружити Uniping з Zabbix
На сайті Netping існує інструкція по додаванню обладнання Netping в моніторинг Zabbix: www.netping.ru/view.aspx?id=54
Незважаючи на те, що версії Zabbix і обладнання Netping у мене і в статті різняться, це не заважає провести настроювання.
На відміну від стандартного додавання об'єкта з використанням агента Zabbix, з Netping доведеться використовувати протокол SNMP v1 для збору даних з датчиків.
За підсумками настройки я отримую інформацію за температурними датчиками, які можу спостерігати на графіку.
Дані отримані на основі шаблону з сайту Netping:
Графік температури на підставі одного з датчиків.
Зелена смужка справа зверху передає нам поточну температуру з датчика. Якщо це серверна, то 27 градусів забагато. Втім це вже завдання техобслуговування - забезпечити необхідну температуру. Ми ж розглянули спільну роботу Zabbix і Netping.
Як подружити Uniping c PRTG network monitor
На сайті виробника докладно описано, як отримувати дані з Uniping на моніторинг PRTG. Звичайно інструкція написана для старішої версії, налаштувати останню версію PRTG не склало особливих труднощів. З сайту виробника скачується бібліотека SNMP для PRTG і додається до вже наявних. Далі підключення йде по інструкції з сайту: www.netping.ru/view.aspx?id=120
На виході ми отримуємо повну інформацію з датчика:
Повна інформація по температурі, вологості і наявності харчування в серверній - якраз те, що мені необхідно знати про обстановку всередині серверної.
Переваги / Недоліки
Зручний в роботі, додавання сенсорів і об'єктів реалізовано на інтуїтивному рівні
Працює тільки в середовищі Microsoft Windows, що збільшує вартість рішення на одну ліцензію.
Використовує нативні кошти - немає необхідності установки додаткового ПЗ на об'єктах моніторингу