15 Распределенный мониторинг
Zabbix может быть сконфигурирован для построения иерархичного распределенного мониторинга.
1 Предназначение
Распределенный мониторинг предназначен для достижения нескольких целей:
-
Возможность контроля над всем мониторингом из одного или нескольких местоположений
Zabbix администратор может управлять настройками всех Нод из одного веб-интерфейса Zabbix.
-
Иерархический мониторинг.
Предназначено для мониторинга в сложных многоуровневых средах.
-
Мониторинг больших сложных сред.
Это особенно полезно если мониторятся несколько мест, разнесенных географически.
-
Снижение нагрузки на перегруженном Zabbix сервере.
Мониторите тысячи узлов сети используя один Zabbix сервер? Это может быть как раз для вас!
2 Обзор
Zabbix предоставляет возможность эффективного и надежного мониторинга распределенной IT инфраструктуры. Настройку всей распределенной установки можно выполнить из одного места через общий веб-интерфейс.
Zabbix поддерживает вплоть до 1000 (одной тысячи) Нод в режиме распределенной установки. Каждая Нода отвечает за мониторинг своей собственной территории. Нода может быть настроена как локально так и через Мастер Ноду, которая имеет копию конфигурационных данных всех Дочерних Нод. Настройку Дочерних Нод можно осуществить в режиме оффлайн, т.е. при отсутствии связи между Мастер и Дочерней Нодой.
Иерархическое представление распределенного мониторинга позволяет иметь древовидную структуру Нод. Каждая Нода пересылает необходимую информацию только своей Мастер Ноде.
Все Ноды могут работать даже в случае проблем со связью. История собранных данных и событий хранится локально. Когда связь восстанавливается, тогда Дочерние Ноды будут выборочно отправлять данные Мастер Ноде.
Новые Ноды могут быть прикреплены к или откреплены от распределенной установки Zabbix без какой либо потери их функциональности. При этом нет необходимости перезапускать какую либо Ноду.
Каждая Нода имеет свои собственные настройки и работает как обычный Zabbix сервер.
3 Настройка
3.1 Настройка Нод
Настройка конфигурации нод представлена в разделе Администрирование → РМ.
Параметры Нод:
Параметр | Описание |
---|---|
имя | Уникальное имя Ноды. |
Id | Уникальный ID Ноды. |
Тип | Мастер – Локальная нода Удаленный – Удаленная нода |
Часовой пояс | Часовой пояс Ноды. Zabbix автоматически конвертирует время в локальный часовой пояс при передаче соответствующих данных между Нодами. |
IP | IP адрес Ноды. Zabbix траппер должен прослушивать этот IP адрес. |
Порт | Номер порта Ноды. Zabbix траппер должен прослушивать этот порт. По умолчанию 10051. |
Не хранить историю старше чем (в днях) | Только для не локальных данных истории. Zabbix не будет хранить историю с Ноды дольше N дней. |
Не хранить тенденции старше чем (в днях) | Только для не локальных данных тендеций. Zabbix не будет хранить тенденции с Ноды дольше N дней. |
3.2 Простая конфигурация
Наша простая конфигурация состоит из Мастер Ноды и одной Дочерней.
Мастер Нода будет иметь полный контроль над конфигурацией Дочерней Ноды. Дочерняя Нода будет пересылать Мастер Ноде события, историю и тенденции собранных данных.
Мастер Нода будет иметь NodeID =1, а Дочерняя Нода NodeID =2.
IP Мастер Ноды: 192.168.3.2
IP Дочерней Ноды: 192.168.3.5
Для Мастер Ноды
Шаг 1
Установите Zabbix.
Следуйте инструкциям по стандартному созданию базы данных, установке веб-интерфейса Zabbix и его исполняемых файлов.
Шаг 2
Установите NodeID в конфигурационном файле сервера.
В файле zabbix_server.conf:
NodeID=1
Шаг 3
Сконвертируйте данные в базе данных.
Нужно запустить сам Zabbix сервер для конвертации уникального ID для использования его в качестве первой Ноды.
cd bin ./zabbix_server -n 1 -c /etc/zabbix/zabbix_server.conf Converting tables .................................................................. done. Conversion completed.
Шаг 4
Настройте параметры Ноды.
Шаг 5
Добавьте Дочернюю Ноду.
Шаг 6
Запустите Мастер Ноду.
Вы должны увидеть NodeID в сообщениях запуска сервера в лог-файле:
31754:20070629:150342 server #16 started [Node watcher. Node ID:1]
Для Дочерней Ноды
Шаг 1
Установите Zabbix.
Следуйте инструкциям по стандартному созданию базы данных, установке веб-интерфейса Zabbix и его исполняемых файлов.
Шаг 2
Установите NodeID в конфигурационном файле сервера.
В файле zabbix_server.conf:
NodeID=2
Шаг 3
Сконвертируйте данные в базе данных.
Zabbix сервер cконвертирует все ID в уникальные для второй Ноды.
cd bin ./zabbix_server -n 2 -c /etc/zabbix/zabbix_server.conf Converting tables .................................................................. done. Conversion completed.
Шаг 4
Настройте параметры Ноды.
Шаг 5
Добавьте Мастер Ноду.
Шаг 6
Запустите Дочернюю Ноду.
Вы должны увидеть NodeID в сообщениях запуска сервера в лог-файле:
27524:20070629:150622 server #9 started [Node watcher. Node ID:2]
Оно работает?
Возможность выбора текущей Ноды появится автоматически после того как Ноды будут определены:
Добавьте узел сети для мониторинга Дочерней Нодой и смотрите приходящие в Мастер Ноду события:
3.3 Более сложная конфигурация
4 Независимость от платформ
Нода может использовать свою собственную платформу (ОС, аппаратное обеспечение) и СУБД независимо от других Нод. Кроме того Дочерние Ноды можно устанавливать без установки самого веб-интерфейса Zabbix.
Может быть целесообразным использовать не мощное железо для Zabbix сервера, использующего SQLite или MySQL MyISAM, в то время как Ноды более высокого уровня могут использовать комбинацию с лучшего железа и InnoDB MySQL, Oracle или PostgreSQL.
5 Настройка одиночной Ноды
Каждая Нода в распределенной среде должна быть правильно настроена, т.е. чтобы она имела уникальный Node ID.
Дополнительные шаги.
Шаг 1
Следуйте стандартной процедуре по установке.
Следуйте стандартной процедуре по установке, но не запускайте Zabbix сервер. Веб-интерфейс Zabbix должен быть установлен и настроен. База данных Zabbix должна быть создана и в нее должны быть загружены данные из data.sql.
Шаг 2
Сконфигурируйте zabbix_server.conf.
Добавьте NodeID в конфигурационный файл Zabbix сервера. NodeID должен быть уникальным ID Ноды.
Шаг 3
Настройте Мастер и Дочерние Ноды.
Используя веб-интерфейс Zabbix, настройте параметры Нод, имеющих прямую связь с этой Нодой. Удостоверьтесь, что все параметры IP адресов и номера портов настроены правильно.
Шаг 4
Запустите Zabbix Ноду.
Запустите Zabbix Сервер:
shell> ./zabbix_server
Если все настроено правильно, тогда Zabbix Нода автоматически начнет обмениваться настройками и данными со всеми Нодами в распределенной установке. Вы можете увидеть следующие сообщения в лог-файле Zabbix Сервера:
... 11656:20061129:171614 NODE 2: Sending data of node 2 to node 1 datalen 3522738 11656:20061129:171614 NODE 2: Sending data of node 2 to node 1 datalen 20624 ...
6 Переключение между Нодами
При подключении к Ноде в распределенной установке, список доступных Дочерних Нод отображается в правом верхнем углу веб-интерфейса. Он отображает текущую Ноду.
Вся информация, доступная в веб-интерфейсе, относится к выбранной Ноде.
7 Потоки данных
7.1 Дочерняя к Мастер
Каждый Дочерняя Нода периодически отправляет изменения конфигурации, данные истории и события своей Мастер Ноде.
Данные | Частота |
---|---|
Изменения конфигурации | Каждые 120 секунд. |
События | Каждые 10 секунд. |
История | Каждые 10 секунд. |
Дочерняя Нода будет повторять попытки отправки данных в случае возникновения проблем со связью.
Данные тенденций подсчитываются локально на основе полученных данных истории.
Zabbix не пересылает рабочих данных между Нодами. Например, информация относящаяся к элементам данных (последняя проверка, последнее значение, и т.д.), существует только локально.
7.2 Мастер к Дочерней
Каждая мастер Нода (нода с хотя бы одной дочерней нодой) периодически оправляет изменения конфигурации для Дочерних Нод либо прямо, либо через другие Дочерние Ноды, имеющие прямую связь с Мастер Нодой.
Данные | Частота |
---|---|
Изменения конфигурации | Каждые 120 секунд. |
Zabbix не отправляет конфигурацию самой Мастер Ноды для Дочерних Нод.
7.3 Настройки файервола
Соединения между Нодами используют только протокол TCP.
Поток данных | Исходящий порт | Порт назначения |
---|---|---|
Дочерняя к Мастер | Любой | 10051 |
Здесь используется порт по умолчанию для процесса Zabbix траппер.
8 Анализ производительности
Любая Нода требует достаточных вычислительных ресурсов для в распределенной установке. Мастер Нода должна быть достаточно мощной чтобы обрабатывать и хранить не только локальные данные, но и данные, полученные от всех его Дочерних Нод. Связь между Нодами должна быть также достаточно быстрой для своевременной передачи новых данных.
Data source: Zabbix