2 Требования

2.1 Аппаратные требования

2.1.1 Требования к памяти

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

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

2.1.2 Требования к процессору

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

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

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

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

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

Имя Платформа ЦПУ/Память База данных Количество контролируемых узлов сети
Маленькая Ubuntu Linux PII 350MHz 256MB MySQL MyISAM 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 Fast RAID10 MySQL InnoDB, PostgreSQL или Oracle >10000

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

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

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

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

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

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

2.3 Требования к программному обеспечению

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

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

Приложение Версия Комментарии
Apache 1.3.12 или более поздняя
PHP 5.0 или более поздняя
PHP модули:
php-gd
GD 2.0 или более поздняя Модуль PHP GD должен поддерживать формат PNG.
Поддержка PHP TrueType --with-ttf
Поддержка PHP bc-math php-bcmath, --enable-bcmath
Поддержка PHP XML php-xml или php5-dom, если поставляется как отдельный пакет от дистрибьютора
Поддержка сессий PHP php-session, если поставляется как отдельный пакет от дистрибьютора
Поддержка сокетов PHP php-net-socket, --enable-sockets. Требуется для поддержки пользовательских скриптов.
Поддержка PHP multibyte php-mbstring, --enable-mbstring
IBM DB2
ibm_db2
Требуется, если используется IBM DB2 в качестве базы для Zabbix.
MySQL
php-mysql
3.22 или более поздняя Требуется, если используется MySQL в качестве базы для Zabbix.
Oracle
oci8
Требуется, если используется Oracle в качестве базы для Zabbix.
PostgreSQL
php-pgsql
7.0.2 или более поздняя если Zabbix < 1.8.9
7.4 или более поздняя если Zabbix >= 1.8.9
Требуется, если используется PostgresSQL в качестве базы для Zabbix.
Подумайте об использовании PostgreSQL 8.x или более поздней версии для большей производительности.
Предлагаем использовать по крайней мере PostgreSQL версии 8.3, который показывает очень хорошую производительность VACUUM.
SQLite
php-sqlite3
3.3.5 или более поздняя Требуется, если используется SQLite в качестве базы для Zabbix.

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

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

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

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

2.4 Требования к серверу

Требование Описание
OpenIPMI Требуется для поддержки IPMI
libssh2 Требуется для поддержвки SSH. Версия 1.0 или более новая.
fping Требуется для элементов данных ICMP ping.

2.5 Выбор СУБД

Сервер и прокси Zabbix поддерживают пять СУБД:

  • IBM DB2
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite

IBM DB2 поддерживается начиная с версии Zabbix 1.8.4.

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

Данные конфигурации 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 байт = 6.5GB дискового пространства.

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

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

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

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

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

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

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

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

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

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

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

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