- Можливості Zenoss Core
- Установка Zenoss в Ubuntu 10.04 LTS
- Панель адміністрування Zenoss
- додаємо пристрої
- Обробка подій
- Облікові дані та оповіщення
- моніторинг процесу
- ***
Системи моніторингу спостерігають за станом пристроїв в мережі і дозволяють попередити проблеми ще до їх появи. Zenoss дасть фору багатьом пропрієтарним продуктам.
У мережах навіть невеликих організацій налічується не один десяток пристроїв, самого різного призначення. Деякі з них мають бути доступні 24 години 7 днів на тиждень, інші час від часу. Але вихід з ладу або проблеми з будь-яким з них означає переривання бізнес-процесів, втрату або невдоволення клієнтів, а значить втрачений прибуток. Постійний моніторинг сервісів і ресурсів дозволяє визначити велику частину проблем і зреагувати ще до того як відбудеться збій. Якщо ж аварійна ситуація сталася, то подібні системи автоматично сповістять адміністратора, який може зреагувати раніше, а значить і незадоволених буде менше. Пошукавши в Інтернет можна знайти кілька системи моніторингу доступні під відкритою ліцензією - Nagios , GroundWork Monitor , Cacti , Zabbix і інші. Кожна з них має цікавими можливостями, мають численних як прихильників так і противників. Але можливість вибору це завжди добре, особливо, що стосується OpenSource, завжди можна підібрати найбільш підходяще для конкретних умов рішення. У статті познайомимося з можливостями і основними настройками системи моніторингу Zenoss Core ().
Можливості Zenoss Core
Поширювана під ліцензією GPL система моніторингу мережевої інфраструктури Zenoss Core, не дивлячись на безкоштовність є серйозне рішення рівня підприємства. Початок розробок датується 2002 роком, новий проект позиціонувався як відкрита альтернатива таким популярним рішенням як IBM Tivoli, HP OpenView, BMC Patrol. Але у відкритому доступі на SourceForge.net Zenoss Core з'явився лише через 4 роки, коли була вже практично готова версія 1.0, з тих пір різні релізи з цього сайту завантажені більше 1 мільйона разів, що побічно підтверджує популярність і довіру користувачів. За цей період була утворена Zenoss Inc., яка згодом стала просувати комерційну гілку продукту Zenoss Enterprise, що відрізняється наявністю додаткових модулів і офіційною підтримкою. До речі Zenoss Enterprise використовується в таких відомих компаніях як VMware, NASA, Motorola, ATI. Також Zenoss Inc. забезпечує фінансову підтримку і розробку GPL версії системи.
Крім оригінальних розробок, в Zenoss Core для збору і аналізу інформації використовуються інші відкриті рішення - Net-SNMP, RRDtool , Twisted. Написаний на мові Python з використанням сервера додатків Zope, дані зберігаються в MySQL.
Система, побудована на Zenoss Core, забезпечує наступні можливості:
- моніторинг мережевих пристроїв за допомогою SNMP, SSH, WMI, JMX, Ping / ICMP і Syslog
- моніторинг мережевих сервісів - HTTP, POP3, NNTP, SNMP, FTP
- моніторинг системних ресурсів популярних операційних систем
- моніторинг продуктивності пристроїв
- система оповіщення з налаштованим подіями, реакцією і виявленням взаємозв'язку
- можливість розширення функціональності за рахунок плагінів власної розробки ZenPack і плагінів системи моніторингу Nagios
Функція автовизначення дозволяє швидко зібрати інформацію про всі активних системах в мережі. При цьому ядро Zenoss вміє аналізувати середовище, що дає можливість швидко розібратися з великою кількістю специфічних пристроїв. Параметри зібрані різними способами нормалізуються з використанням шаблонів і приводяться до єдиного вигляду.
У разі виявлення проблем, Zenoss може не тільки відправити повідомлення адміністратору, а й наприклад виконати команду на перезапуск сервісу.
Список ZenPacks хто вони такі? Там вище в перерахуванні є доступних на сайті проекту досить значний і нараховує понад 200 найменувань. Тут можна знайти розширення для моніторингу ряду пристроїв (APC, Cisco, Dell), сервісів (Asterisk, VMware, Ganglia, MySQL, Microsoft IIS) і багатьох інших. Відносно недавно в цьому списку з'явилися ZenPacks додають можливість управління і моніторингу віддалених систем за допомогою Puppet і Cfengine .
Для установки сервера Zenoss потрібно комп'ютер, що працює під управлінням Linux, FreeBSD, Solaris / OpenSolaris, Mac OS X або VMware Appliance.
На клієнтських комп'ютерах програма-агент не встановлюється, це спрощує розгортання. Для побудови карт мереж і виявлення систем і сервісів застосовується автоматичне сканування. Управління проводиться за допомогою веб-інтерфейсу. Повністю підтримуються браузери Firefox 3 і Internet Explorer 7 і 8, для інших заявлена лише часткова сумісність. При написанні статті автор кілька днів працював з Chromium 9.0, особливих проблем не помітив. Інтерфейс в даний час не локалізований, ймовірно тому що в цьому немає особливого сенсу. Всі терміни общеупотребляеми, тому людина з базовою англійською може розібратися з настройками в Zenoss без особливих зусиль. При бажанні локалізацію можна провести самостійно.
Щоб отримувати повідомлення в реальному часі на робочий стіл, окремо встановлюються спеціальні аплети Zapplet або ZenTrayIcon. При цьому робота Zapplet можлива тільки на Linux (в майбутньому планується порт під Windows), ZenTrayIcon протестований під Fedora 7 і Windows XP.
Також хочеться відзначити цілком детальну документацію англійською мовою і наявність свого каналу на YouTube.
Установка Zenoss в Ubuntu 10.04 LTS
На сайті Zenoss крім вихідних текстів доступні x86 і x64 пакети пакети під популярні дистрибутиви Linux: RHEL, CentOS, Fedora, Ubuntu, Debian, Debian і SUSE / openSUSE в двох варіантах: Stack і Native. Їх функціональність однакова, але Stack - це двійковий універсальний .bin -інсталлятор, що дозволяє задати в процесі додаткові параметри. І має в тому числі і графічний інтерфейс. Варіант Native це є звичайним deb або rpm пакет, який встановлюється за допомогою штатного пакетного менеджера дистрибутива. Крім того, для Debian / Ubuntu, розробники пропонують репозитарій, що підключається в /etc/apt/sources.list рядком:
deb http://dev.zenoss.org/deb main stable
Буде розглянуто установка і у варіанті Stack, і Native, і почнемо з Stack, як з більш універсальною.
Мінімальні системні вимоги, які дані на сайті проекту 2х ядерний CPU, 4 Гб RAM і 300 Гб жорсткий диск, відповідають моніторингу 1 - 250 пристроїв.
Надалі розглянемо установку Zenoss в Ubuntu 10.04 LTS.
За допомогою APT ставимо MySQL і компоненти SNMP:
$ Sudo apt-get install mysql-server snmpd snmp
налаштуємо SNMP
$ Sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
Генеруємо файл, копіюємо його на місце і перезапускаємо сервіс.
$ Sudo snmpconf $ sudo cp snmpd.conf / etc / snmp / $ sudo service snmpd restart
Перевіряємо роботу.
$ Snmpwalk -v2c -c public 127.0.0.1 system
Викачуємо за посиланням на сайті проекту інсталяційний файл і запускаємо.
$ Chmod + x zenoss-stack-3.0.3-linux-x64.bin $ sudo ./zenoss-stack-3.0.3-linux-x64.bin
З'являється майстер установки, просуваючись по кроках вказуємо каталог в який встановлюється Zenoss (за замовчуванням / usr / local / zenoss) і пароль доступу користувача root до MySQL. Після цього почнеться процес розпакування пакету, установка і створення бази даних.
Cкриптов з розширенням bin зручний тим, що підтримує кілька додаткових ключів і режимів. Повний список, можна отримати за допомогою параметра -help. Так за замовчуванням для управління Zenoss через веб-інтерфейс використовується порт 8080, в разі якщо він вільний, скрипт не видасть запит, інакше одним з кроків установки належить вказати номер порту. Використовуючи ключ "-zope_server_port" номер порту можна вказати відразу на етапі установки, при роботі в текстовому терміналі використовується -mode = text. Також можливе використання підготовленого файлу відповідей.
У разі вибору deb пакет, то команда стандартна:
$ Sudo dpkg -i ./zenoss-stack-3.0.3_x64.deb
При використанні сховища слід просто встановити пакет zenoss-stack:
$ Sudo apt-get update $ sudo apt-get install zenoss-stack
Якщо сервер MySQL встановлений на іншому комп'ютері, слід вказати його дані за допомогою ключів -mysql * (для bin) або вручну прописати дані у файлі zenoss / bin / zenoss_init_pre.
# Environment variable export OS_USERNAME = "zenoss" export OS_UID = "1001" export ZENHOME = "/ usr / local / zenoss / zenoss" export MYSQLHOST = "localhost" export MYSQLPORT = "3307" export MYSQLROOTUSER = "root" export MYSQLROOTPASSWD = " myslq_passwd "export MYSQLUSER =" zenoss "export MYSQLPASS =" zenoss "
Дані, зазначені в MYSQLUSER і MYSQLPASS в Zenoss встановлюються за замовчуванням, в цілях безпеки пароль краще змінити.
Також документація проекту рекомендує збільшити значення деяких системних параметрів в /etc/sysctl.conf:
$ Sudo nano /etc/sysctl.conf net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 1048576 net.core.wmem_max = 1048576
У правилах брандмауера слід відрити порти 8080 (веб-інтерфейс Zenoss), 514 (Syslog) і 162 (SNMP).
Перевіряємо, слухається чи потрібний порт:
$ Netstat -ant | grep 8080
Якщо немає, то запускаємо Zenoss:
$ Sudo service zenoss-stack start
І забезпечуємо автозапуск:
$ Sudo update-rc.d zenoss-stack enable S
Відкриваємо в браузері сторінку Zenoss - http: // localhost: 8080 / і приступаємо до попередніми налаштувань. Необхідно пройти всього два кроки. Вибираємо Get Started і на Set Up Initial Users вводимо пароль адміністратора (admin) і створюємо новий обліковий запис звичайного користувача.
Наступний крок дозволяє додати пристрою для моніторингу. Тут доступні два варіанти: ручний (Manually find devices) і автоматичний (Autodiscover devices) пошук. У першому випадку необхідно вказувати ім'я або IP-адресу системи і у вікні праворуч вибрати тип SNMP (Linux Server, Windows Server або Generic Switch / Router). У разі автоматичного пошуку пристроїв, необхідно задати діапазон IP, вказати пароль root для доступу до Unix-систем через SSH або пароль адміністратора Windows. Локальна система буде додана автоматично. При бажанні можна відмовитися на цьому етапі від додавання пристроїв. Підтверджуємо вибір, після чого завантажиться панель Zenoss.
Якщо для роботи обрана образ VMware, всього цього немає, для реєстрації через веб-інтерфейс використовуємо логін root і пароль zenoss.
Панель адміністрування Zenoss
Панель Zenoss складається з декількох меню. Після реєстрації користувач потрапляє в Dashboard, в якому виводиться основна інформація. Складається Dashboard з змінних панелей - портлетів (portlets), які можна видаляти, встановлювати і налаштовувати на свій розсуд. За замовчуванням це панелі: Welcome (посилання на документацію), Device Issues (статистика по пристроях) і Locations (показує розташування пристроїв на Google Maps). Для коректності роботи останнього буде потрібно ключ Google Maps API.
В правому куті портлету знаходиться кнопка, натискання на яку викличе меню налаштувань, звідки можна в тому числі і видалити портлет з панелі. Розташування портлетів змінюється за допомогою кнопки Configure Layot, при натисканні Add portlet отримаємо список з 9 можливих портлетів а чому саме з 9 - це жорстке обмеження? Їх всього там 9, просто вибираємо потрібний, він з'являється в поле і потім перетягуємо на своє місце.
Список портлетів доступних користувачам з різними правами, налаштовується в Advanced - Setting - Portlets.
додаємо пристрої
Починати роботу слід з меню Infrastructure в якому зібрані всі системи і пристрої, відомі Zenoss. Для зручності вони розбиті по класах (автоматично), групам, системам і розташуванню. Навпроти кожного пристрою показується значок, що говорить про його стан. Щоб додати новий пристрій або комп'ютер, досить натиснути кнопку із зображенням знака +, вибрати варіант (один або кілька комп'ютерів) і потім вказати параметри пошуку. Підказка повідомить, що нове завдання виконується. По завершенню можна отримати доступ до знайдених пристроїв, просто вибравши їх у вікні програми. За замовчуванням всі системи автоматично розподіляються по класах (D evice Classes), в разі помилки клас можна змінити, просто перетягнувши ярлик на своє місце, захопивши мишкою.
У підміню Modelles Plugins за допомогою перетягування можна додати додаткові параметри, які будуть відстежуватися за допомогою поточного шаблону.
Також в Overview заповнюємо теги, редагуємо параметри виробника пристрою, дані ОС та інші. Все це дозволить Zenoss правильно групувати системи.
Щоб почати отримувати дані необхідно підключити Zenoss до SNMP, для цього виберемо в Devices пристрій і потім пункт Configuration Properties. Тут дуже багато налаштувань з призначенням яких належить розібратися, інакше ми не отримаємо повну інформацію. Призначення більшості з них зрозуміло з контексту і прикладів. Так параметри для підключення до SNMP-демона прописуються в zSnmpCommunity і zSnmpPrivPassword, дані для віддаленого виконання команд через SSH - в zCommandUsername і zCommandPassword. Переконайтеся також що в zSnmpCommunities прописано значення з zSnmpCommunity.
Також варто перевірити значення шаблонів локальних параметрів zLocalIpAddresses, zLocalInterfaceNames, zHardDiskMapMatch та інших. І хоча значення встановлені за замовчуванням підходять для більшості ситуацій, в правилах бувають і винятки. Є і специфічні параметри. Наприклад в zNmapPortscanOptions вказуються параметри для утиліти сканування nmap.
У підміню Administration редагуються команди, які потім можна викликати вибравши в меню Commands. Результат виконання буде показаний в окремому прозорому вікні.
У підміню Network налаштовуються мережі: ви просто додаєте вручну IP підмережі із зазначенням мережевий маски, в подальшому в цих мережах Zenoss буде виробляти автопошук пристроїв.
Створення правила для відправлення поштового повідомлення
Обробка подій
В меню Events зібрані всі події з доданих систем і пристроїв. Так як кількість повідомлень може бути великим, передбачені фільтри по статусу, важливості, по кожному стовпчику, плюс сортування за алфавітом і колонок. Подвійне клацання дозволяє переглянути подробиці, в які адміністратор може додати свої позначки. Передбачено також експорт обраних подій в файли формату XML і CSV. В інших підміню доступна історія, управління класами і підкласами подій і настройка кешування. Окремо хочу відзначити підміню Event Manager, де настроюються додаткові поля таблиць бази даних, в яких будуть записані події, підключення до MySQL і тригери (команди адміністратора виконуються при настанні події).
Налаштування моніторингу IP сервісу
Тригер створюється в два етапи. Спочатку в поле Event Manager - Command додаємо назву нової команди, просто прописавши її в поле і натиснувши кнопку Add. Тепер вибираємо її в списку і редагуємо, вказавши власне команду, яка повинна виконатися, час затримки, затримки, а умова (система, подія, пристрій, адреса і т.п.). Після закінчення встановлюємо Enabled в True і зберігаємо результат.
Після того як всі пристрої і сервіси будуть додані, і починає надходити інформація, адміністратор повинен відслідковувати критичні питання. Для цього Zenoss містить велику кількість готових звітів. Всі вони розташовані в меню Reports. Звіти розбиті по декількох категоріях - пристрої, продуктивність, події, користувачі та інші. Природно попередніх швидше за все буде недостатньо, але додати новий звіт дуже просто. Натискаємо на значок із зображенням + і в меню вибираємо варіант звіту (Custom Device Reports, Graph і Multi-Graph Reports).
І, нарешті, перейшовши в Advanced, ми можемо налаштувати підключення до SMTP-серверу (для відправки поштових повідомлень), встановити параметри пріоритету, ролі адміністрування, налаштувати призначені для користувача команди, переглянути журнали роботи демонів, створити резервну копію бази даних.
Облікові дані та оповіщення
Облікові записи користувачів і груп створюються в підменю Advanced - Users. Процес, в загальному, простий. Спочатку вказуємо логін користувача і його поштова адреса, потім переходимо до редагування, де заповнюємо запропоновані поля (пароль, ролі і об'єкти до яких матиме доступ). Щоб користувач отримував сповіщення, необхідно створити правило в підміню Alerting Rules. Принцип той же. Натискаємо кнопку з плюсом і вводимо назву, потім приступаємо до редагування записи. Додаємо затримку за часом (а раптом оживе?), Альтернативний поштову адресу, в поле Action встановлюємо значення email, потім в Where набираємо правило. Вказавши умови і фільтр за допомогою списку, міняємо Enabled на True і зберігаємо правило.
локалізація Zenoss
До недавнього часу розробники не представляли зручних засобів для локалізації інтерфейсу. Можливо в цьому не було гострої необхідності, адже Zenoss орієнтований насамперед на фахівців, які зазвичай володіють необхідною термінологією. Але тепер все необхідне є. Процес локалізації стандартний для додатків, що використовують GNU Gettex. Всі файли зібрані в каталозі $ ZENHOME / zenoss / Products / ZenUI3 / locales / за замовчуванням тут два підкаталогу en і fr, зміст яких можна взяти за основу. Створюємо підкаталог ru / LC_MESSAGES в який копіюємо файл zenoss.po з французького перекладу (в англійському його немає). Формат запису всередині простий.
msgid «Reports»
msgstr «Звіти»
Переводимо послідовно всі терміни, потім компілюємо в файл зрозумілого Zenoss формату.
msgfmt -o zenoss.mo zenoss.po
Адміністратор может создать будь-яку Кількість правил, спеціфічніх для різніх прістроїв. Щоб ПОВІДОМЛЕННЯ відправляліся кільком користувач, слід використовуват груповий адресою або создать групу, для якої потім создать свои Alerting Rules. На сайті Доступні Розширення, что дозволяють відправляті оповіщення в твіттер або СМС. Кроме того практично всі налаштування и правила можна легко Імпортувати в ZenPack, щоб потім Швидко повторити на іншій системе або викластись у Відкритий достукп.
За замовчуванню правила Працюють цілодобово, но зайшовші в Schedule вікна Alerting Rule Можемо вказаті годину его Дії.
Для Спрощення розгортання системи моніторингу розробник підготувалі набори шаблонів, в якіх прописано, як и з Якими параметрами опітуваті Різні типи прістроїв, графіки и так далі. Їх повний список доступних в Advanced - Monitoring Templates. Досвідчений адміністратор може самостійно створити готові шаблони під будь-які умови. Процес максимально спрощений. Спочатку необхідно вибрати шаблон який стане основою, потім заповнити джерела, вказати поріг і дані для побудови графіків. Звичайно, тут знадобиться деякий досвід, але все одно це на багато простіше ніж самостійно писати правила для SNMP і RRDTool.
Графіки продуктивності Zenoss
моніторинг процесу
Моніторинг загальних параметрів сервера, звичайно цікавий, але адміністратору в більшості випадків необхідно знати стан конкретного сервісу. Вибираємо пристрій і переходимо в меню Devices, в якому знаходимо кілька підміню, де можна налаштувати контроль сервісів станом процесу або з відповіді, отриманого з мережевого порту. Після установки в IP Services і Windows Services є близько 4000 готових, шаблонів дозволяють судити про стан сервісу Unix і Windows машин відповідно. Просто в настройках сервера вибираємо Add IPService і вказуємо зумовлений параметр.
У Processes створюються правила, що дозволяють відслідковувати стан окремого процесу. Тут поступаємо аналогічно іншим налаштувань. Додаємо нову назву, наприклад httpd, після чого викликаємо вікно редагування. Основним параметром тут є Regex, який визначає шаблон імені процесу, вводимо httpd. Перевіряємо, щоб zMonitor був встановлений в True, тепер залишилося створити оповіщення як говорилося вище і адміністратор буде повідомлений про проблеми.
Як вже говорилося на сайті проекту доступні розширення. Встановлюються вони дуже просто. Викачуємо файл і потім вказуємо на нього в Advanced - ZenPacks
***
Як бачите Zenoss дуже проста в розгортанні і налаштуваннях система моніторингу, що володіє великою кількістю корисних функцій, що робить його гідним конкурентом комерційним аналогам.
Список ZenPacks хто вони такі?А раптом оживе?