2 Требования

Аппаратные

Память

Zabbix требуется и оперативная память, и память на жестком диске. 128 МБ оперативной памяти и 256 МБ свободного места на жестком диске, может быть неплохо для начала. Тем не менее, объем необходимой памяти диска, очевидно, зависит от количества узлов сети и параметров, которые будут контролироваться. Если вы планируете сохранять историю контролируемых параметров длительный срок, вы должны иметь ввиду, что по крайней мере будет нужно иметь несколько гигабайт для хранения данных истории в базе данных. Каждый процесс демона Zabbix требует несколько подключений к базе данных. Объем памяти, необходимой для подключения к базе данных, зависит от настроек базы данных.

Чем больше оперативной памяти у вас имеется, тем быстрее база данных (а следовательно и Zabbix) работает!

ЦПУ

Zabbix и особенно база данных может потребовать значительных процессорных ресурсов в зависимости от количества контролируемых параметров и выбранной базы данных.

Другое оборудование

Потребуется Последовательный порт передачи данных и GSM модем для использования СМС уведомлений встроенных в Zabbix. Конвертер USB-to-serial так же будет работать.

Примеры конфигураций оборудования

В таблице приводятся несколько вариантов аппаратных конфигураций:

Название Платформа ЦПУ/Память База данных Наблюдаемые узлы сети
Маленькая Ubuntu Linux PII 350MHz 256MB SQLite 20
Средняя Ubuntu Linux 64 bit AMD Athlon 3200+ 2GB MySQL InnoDB 500
Большая Ubuntu Linux 64 bit Intel Dual Core 6400 4GB RAID10 MySQL InnoDB или PostgreSQL >1000
Очень большая RedHat Enterprise Intel Xeon 2xCPU 8GB Быстрый RAID10 MySQL InnoDB или PostgreSQL >10000

Фактически параметры конфигурации зависят от количества активных элементов данных и частоты обновления этих элементов. Настоятельно рекомендуем производить запуск базы данных на отдельном сервере для крупных установок.

Поддерживаемые платформы

В связи с требованиями безопасности и критически важных контролируемых серверов, только операционная система UNIX является единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость. Zabbix работает на всех ведущих версиях ОС.

Zabbix протестирован на следующих платформах:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, Server 2012 (только Zabbix агент)

Zabbix может работать и на других Unix-подобных операционных системах.

Программные

Zabbix построен на современном ВЕБ сервере Apache, ведущих СУБД, и языке сценариев PHP.

Системы управления базами данных
Программа Версия Комментарии
MySQL 5.0 или более новая Требуется, если MySQL используется как основная база данных Zabbix'а. Требуется InnoDB engine.
Oracle 10g или более новая Требуется, если Oracle используется как основная база данных Zabbix'а.
PostgreSQL 8.1 или более новая Требуется, если PostgreSQL используется как основная база данных Zabbix'а.
Предлагаем использовать по крайней мере PostgreSQL версии 8.3, который показывает очень хорошую производительность VACUUM.
SQLite 3.3.5 или более новая Требуется, если SQLite используется как основная база данных Zabbix'а.
IBM DB2 9.7 или более новая Требуется, если IBM DB2 используется как основная база данных Zabbix'а.

Поддержка IBM DB2 эскпериментальна!

Поддержка SQLite3 при использовании его с Zabbix серверов экспериментальна!

Веб-интерфейс

Следующее программное обеспечение потребуется для работы веб-интерфейса Zabbix:

Приложение Версия Комментарии
Apache 1.3.12 или более поздняя
PHP 5.1.6 или более поздняя
Расширения PHP:
gd 2.0 или более поздняя Расширение PHP GD должен поддерживать формат PNG (--with-png-dir), JPEG (--with-jpeg-dir) изображения и FreeType 2 (--with-freetype-dir).
bcmath php-bcmath (--enable-bcmath)
ctype php-ctype (--enable-ctype)
libXML 2.6.15 или более поздняя php-xml или php5-dom, если поставляется как отдельный пакет от поставщика.
xmlreader php-xmlreader, если поставляется как отдельный пакет от поставщика.
xmlwriter php-xmlwriter, если поставляется как отдельный пакет от поставщика.
session php-session, если поставляется как отдельный пакет от поставщика.
sockets php-net-socket (--enable-sockets). Требуется для поддержки пользовательских скриптов.
mbstring php-mbstring (--enable-mbstring)
gettext php-gettext (--with-gettext)
ibm_db2 Требуется, если используется IBM DB2 в качестве базы для Zabbix.
mysql Требуется, если используется MySQL в качестве базы для Zabbix.
oci8 Требуется, если используется Oracle в качестве базы для Zabbix.
pgsql Требуется, если используется PostgresSQL в качестве базы для Zabbix.
sqlite3 Требуется, если используется SQLite в качестве базы для Zabbix.

Также Zabbix может работать и с предыдущими версиями Apache, MySQL, Oracle, и PostgreSQL.

Для отличных шрифтов от DejaVu, который установлен по умолчанию, нужна функция PHP imagerotate.Если функция не установлена, то эти шрифты могут неправильно отображаться в заголовке Мониторинг → Обзор и в других местах. Эта функция доступна, если только PHP скомпилирован вместе с GD, которого нет для Debian и для некоторых других дистрибутивов.

Веб-браузер на стороне клиента

Cookies и Java скрипты должны быть включены.
Поддерживаются последние версии Google Chrome, Mozilla Firefox, Microsoft Internet Explorer и Opera. Также и другие браузеры (Apple Safari, Konqueror) могут работать с Zabbix.

Сервер
Требование Описание
OpenIPMI Требуется для поддержки IPMI
libssh2 Требуется для поддержвки SSH. Версия 1.0 или более новая.
fping Требуется для элементов данных ICMP ping.
libcurl Требуется для веб-мониторинга.
libiksemel Требуется для поддержки Jabber.
net-snmp Требуется для поддержки SNMP.

Рамзер базы данных

Данные конфигурации Zabbix требуют фиксированное количество дискового пространства и сильно не увеличиваются.

Размер базы данных Zabbix в основном зависит от следующих переменных, которые определяют историю собранных данных:

  • Количество обрабатываемых запросов в секунду

Это среднее количество новых значений, которые Zabbix сервер получает каждую секунду. Например: Если имеется 3000 элементов данных с интервалом проверки 60 секунд, то количество обрабатываемых запросов за секунду рассчитывается 3000/60 = 50.

Это означает, что каждую секунду в базу данных Zabbix добавляется 50 новых записей.

  • Настройки очистки истории в базе данных (Housekeeper)

Zabbix хранит значения определенный период времени, обычно несколько недель или месяцев. Каждое новое значение требует определенный объем дискового пространства и индексов.

Так что, если требуется сохранение истории 30 дней и каждую секунду в базу данных добавляется 50 новых записей, общее количество значений будет равно примерно (30*24*3600)* 50 = 129.600.000 или около 130М значений.

В зависимости от типа базы данных, типа полученных значений (с плавающей точкой, целые числа, строки, лог файлы и т.д.) может потребоваться от 40 байт до сотен байт дискового пространства для хранения значения. Обычно одно значение занимает около 50 байт. В нашем случае это означает, что 130M значений потребуют 130M * 50 bytes = 6.5GB дискового пространства.

  • Настройки очистки динамики изменений в базе данных (Housekeeper)

Zabbix хранит ежечасную статистику значений max/min/avg/count для каждого элемента данных в таблице trends и trends_uint. Эти данные используются для отслеживания динамики изменений и для графиков при отображении большого периода времени. Период в 1 час не является настраиваемым.

Базе данных Zabbix, в зависимости от типа базы данных, требуется около 128 байт на один элемент. Предположим, что если требуется хранить динамику изменений в течении 5 лет. Значения 3000 элементов данных потребуют 3000*24*365* 128 = 3.4ГБ за год, или 16.8ГБ за 5 лет.

  • Настройки очистки событий в базе данных (Housekeeper)

Каждое событие требует около 130 байт дискового пространства. Большое количество событий генерируется Zabbix сервером ежедневно. В самом худшем случае, мы можем предположить, что Zabbix порождает одно событие в секунду.

Это означает, что если требуется хранить события 3 года, то для этого потребуется 3*365*24*3600* 130 = 12.3GB дискового пространства.

Представленная ниже таблица содержит формулы для расчета требуемого пространства жесткого диска для системы мониторинга Zabbix:

Параметр Формула для расчетам занимаемого места(в байтах)
Конфигурация Zabbix Фиксированный размер. Ориентировочно 10MB или меньше.
История дней*(элементов/частота обновления)*24*3600*байт
элементы : количество элементов данных
дней : количество дней хранения истории
частота обновления : среднее значение периода проверки элементов данных
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 50 байт
Динамика изменений дней*(элементов/3600)*24*3600*байт
элементов : количество элементов данных
дней : количество дней хранения тенденций
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 128 байт.
События дней*событий*24*3600*байт
событий : количество событий в секунду. Одно (1) событие в худшем случае.
дней : количество дней хранения событий
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 130 байт.

Общее количество требуемого места на жестком диске рассчитывается:
Конфигурация + История + Динамика изменений + События
После установки Zabbix такое дисковое пространство более не будет использовано сразу. Размер базы данных будет увеличиваться со временем, но потом рост все же остановится - это зависит от настроек очистки базы данных (Housekeeper).

Необходимое свободное место на жестком диске, при использовании распределенного мониторинга, рассчитывается аналогичным образом, но оно так же будет зависеть от количества подчиненных нод, связанных с нодой рассчитываемого узла.

Синхронизация времени

Очень важно иметь точную дату и время системы на сервере с запущенным Zabbix. ntpd один из наиболее популярных демонов синхронизации времени хоста с временем на остальных серверах.