Zabbix - моніторинг мережі
Zabbix - це рішення розподіленого моніторингу ІТ інфраструктури з відкритими початковими кодами.
Bозможності Zabbix
Zabbix - високо інтегроване рішення моніторингу мережі, яке пропонує безліч можливостей в одному пакеті.- Збір даних
- перевірки доступності та продуктивності
- підтримка моніторингу по SNMP, IPMI, JMX
- призначені для користувача перевірки
- збір бажаних даних за вибіркові інтервали
- Широкі можливості візуалізація
- Графіки в режимі реального часу
- карти мережі
- Призначені для користувача екрани і слайд шоу
- Звіти
- зберігання історії
- гнучка настройка
- визначення порогів
- настроюються оповіщення
- Автоматичні реакції на події, в тому числі віддалені команди
- шаблонізаціі
- Система прав доступу
- Можливості web-моніторингу
- веб інтерфейс
- Zabbix API
- Наявність нативних клієнтів під різні ОС
- Готове рішення Zabbix, засноване на Open SUSE
Архітектура і основні поняття Zabbix
Zabbix складається з декількох важливих компонентів програмного забезпечення, функції яких викладені нижче
Zabbix Сервер
Zabbix сервер - є головним компонентом, яким агенти повідомляють інформацію і статистику про доступність і цілісності. Сервер є головним сховищем, в якому зберігаються всі дані конфігурації, статистики, а також оперативні дані. Сервер виконує опитування і захоплення даних, він обчислює тригери, відправляє оповіщення користувачам. Це головний компонент якого Zabbix агенти і проксі відправляють дані доступності і цілісності системи. Сервер може самостійно віддалено перевіряти мережеві пристрої (так само як і веб сервера і поштові сервери) використовуючи прості перевірки сервісу.
Сервер є головним сховищем, в якому зберігаються всі дані конфігурації, статистики, оперативні дані, а так же ця сутність в Zabbix, яка буде активно повідомляти адміністраторів у разі виникнення проблем в будь-який з спостережуваних систем.
Функціонал базового Zabbix сервера розділений на три окремих компонента; це: Zabbix сервер, веб інтерфейс і сховище в базі даних.
Zabbix Агент
Zabbix агенти розгортаються на спостережуваних цілях для активного моніторингу за локальними ресурсами і додатками (статистика жорстких диски, пам'яті, процесорів і т.д.).
Агент збирає локальну оперативну інформацію і відправляє дані Zabbix сервера для подальшої обработкіg. У разі проблем (таких як робочий жорсткий диск заповнений або впав процес сервісу), Zabbix сервер може швидко повідомити адміністраторів конкретного сервера, який повідомив про помилку.
Zabbix агенти надзвичайно ефективні, тому що використовують нативні системні виклики для збору інформації статистики.
Пасивні і активні перевірки Zabbix агенти можуть виконувати пасивні і активні перевірки. У разі пасивної перевірки агент відповідає на запит даних. Zabbix сервер (або проксі) запрошує дані, наприклад, завантаження ЦПУ, і Zabbix агент повертає результат. Активні перевірки вимагають більш складної обробки. Агент спочатку отримує список елементів даних для незалежної обробки від Zabbix сервера. Далі він буде періодично відправляти нові значення сервера.
Zabbix Проксі
Zabbix проксі - це процес, який може збирати дані моніторингу з одного або декількох спостережуваних пристроїв і відправляти цю інформацію Zabbix сервера, впринципі проксі працює від імені сервера. Всі зібрані дані локально буферизуются і потім відправляються Zabbix сервера, якому належить цей проксі.
Розгортання проксі опціонально, але може бути дуже корисна для розподілу навантаження на одиночний Zabbix сервер. Якщо дані збирають тільки проксі, то обробка цих даних на сервері значно зменшує завантаження ЦПУ і I / O диска.
Zabbix проксі - ідеальне рішення для централізованого моніторингу віддалених місць, філій та мереж без місцевих адміністраторів. Для Zabbix проксі потрібна окрема база даних.
Java gateway
У Zabbix 2.0 додана нативна підтримка для моніторингу JMX додатків введенням нового демона Zabbix, званого Zabbix Java gateway.
Zabbix Java gateway - це демон написаний на мові Java. Коли Zabbix сервер хоче знати значення конкретного JMX лічильника у вузла мережі, він опитує Zabbix Java gateway, який використовує API керування JMX для опитування цікавить цієї програми. Додатка не потрібно ніяких додаткових програм, воно просто має бути запущено з опцією командного рядка -Dcom.sun.management.jmxremote.
установка Zabbix
Установка сервера і клієнта відрізняється незначно і складається з ряду найпростіших дій:
Установка серверної частини
1. Завантажити і розпакувати архів вихідних кодів
2. Створити групу і користувача zabbix, від імені якого будуть працювати демони zabbix
3. Створити БД для зберігання налаштувань і даних моніторингу.
Приклад для MySQL:
4. Конфігурувати вихідні коди
Висновок доступних опцій конфігурації: Приклад конфігурації сервера: Приклад конфігурації агента:
5. Зібрати і встановити всі
Цей крок повинен бути виконаний користувачем з достатніми правами (як правило 'root', або за допомогою sudo).
Виконання make install встановить виконувані файли демона (zabbix_server, zabbix_agentd, zabbix_proxy) в / usr / local / sbin і виконувані файли клієнта (zabbix_get, zabbix_sender) в / usr / local / bin.
6. Відредагувати конфігураційні файли
7. Запустити сервер і агента
8. Додати скрипти автозапуску (опціонально)
Для цього потрібно скопіювати скрипти з папки з вихідними кодами для вашої ОС в директорію для автозапуску. Скрипти автозапуску необхідно скорегувати, якщо при конфігуруванні були змінені стандартні шляхи розташування демонів Zabbix
Приклад для ОС Debian:
Установка web-інтерфейсу
Початок роботи c Zabbix
Основні визначення
Host - мережеве пристрій, які ви хочете моніторити, з IP / DNS.
Hostgroup - логічна угруповання вузлів мережі; вони можуть містити вузли мережі та шаблони. Вузли мережі і шаблони в групі вузлів мережі ніяким чином не пов'язані один з одним. Групи вузлів мережі використовуються при призначенні прав доступу до вузлів мережі різних груп користувачів.
Item -Елемент даних. Конкретна частина даних, яку ви хочете отримувати від вузла мережі, метричні дані.
Trigger - тригер. | Логічне вираз яке визначає поріг проблеми і використовується для "обчислення" даних отриманих елементами даних. При отриманні даних перевищують поріг, тригери переходять зі стану 'Ок' в стан 'Проблема'. При отриманні даних нижче порога, тригери залишаються в / повертаються в стан 'Ок'.
Event - одиночне виникнення того, що заслуговує на увагу, такого як зміна стану тригера або виявлення / авто-реєстрація агента
Action - зумовлені засоби реагування на собитіе.Действіе складається з операцій (наприклад відправка сповіщень) і умов (коли здійснюється операція)
Escalation - призначений для користувача сценарій для виконання операцій в дії; послідовність відправки повідомлень / виконань віддалених команд
Media - спосіб доставки повідомлень; канал доставки
Remote command - зумовлена команда, яка буде автоматично виконана на спостережуваному вузлі мережі при деяких умовах
Template - набір сутностей (елементи даних, тригери, графіки, комплексні екрани, правила низкоуровневого виявлення) готові до приєднання до одного або декількох вузлів мережі Завдання шаблонів підвищити швидкість розгортання завдань моніторингу вузла мережі; крім того робити більш простим застосування масових змін до завдань спостереження. Шаблони з'єднуються безпосередньо з окремими вузлами мережі.
Application - згруповані елементи даних в якусь логічну групу
Web scenario - один або кілька запитів HTTP для перевірки доступності веб сайту
Швидкий старт
Найпростіший спосіб перевірити коректність установки і запуску моніторингу - налаштувати просту перевірку характеристик віддаленого хоста, наприклад перевірку доступності агента (agent.ping), а також повідомлення користувача в разі недоступності.
Для цього необхідно:
Тепер можна переходити до більш глибокої налаштування моніторингу. Одна з основних можливостей, що значно спрощують конфігурування і моніторинг, шаблонізаціі - буде розглянута в слід. розділах.