Установка системы мониторинга Zabbix 3.2 на операционную систему Ubuntu 16.04
О системе.
Zabbix - это система мониторинга серверов и сетевого оборудования. Система состоит из сервера и клиента. Эта система мониторинга является системой с открытым исходным кодом. Система предлагает отличные функции визуализации и оповещения.
Основные возможности:
- автоматическое обнаружение серверов и сетевых устройств;
- распределенный мониторинг с централизованным администрированием;
- нативные высокопроизводительные агенты (клиентское программное обеспечение);
- мониторинг без использования агентов (ICMP, ssh, dns, и другое);
- безопасная аутентификация пользователя;
- гибкие пользовательские разрешения;
- веб-интерфейс;
- уведомления по электронной почте или смс;
- отличные функции визуализации, построение графиков;

На сервера, за которыми мы будем следить устанавливается zabbix-client, который опрашивает систему и передает zabbix серверу параметры, например загруженность процессора, загруженность сетевых интерфейсов, использование оперативной памяти, сколько времени работает сервер без перезагрузки (uptime) и многое другое.
Для мониторинга за сетевым оборудованием используется протокол SNMP. Если на сетевом оборудовании есть возможность использовать этот протокол, то zabbix сервер будет по этому протоколу собирать информацию о сетевом устройстве.
В системе есть триггеры, это определенные условия, достигая которые система будет уведомлять администратора zabbix сервера. Уведомлять система Zabbix умеет по эл. почте, или sms (используя JSM модем).
С системой может работать не один человек, поэтому в системе можно сделать различных пользователей, которые будут иметь различные права. Для управления правами есть группы пользователей и роли.
Zabbix сервер может быть установлен только на Linux.
Zabbix агент может быть установлен на многие системы: Linux, Windows, FreeBSD, FreNAS.
Помимо агента и сервера существует zabbix-proxy, благодаря которому можно наблюдать за удаленными серверами, через proxy, который будет находиться в локальной сети вместе с удаленными серверами.
Процесс установки.
Устанавливать будем на Ubuntu server 16.04
И так, у вас чистая система, сразу после установки. Первым делом обновляемся:
$ sudo apt update
$ sudo apt dist-upgrade
Далее, вам потребуется установить mysql сервер и вебсервер apache.
$ sudo apt install mysql-server mysql-client apache2
В процессе установки mysql нужно будет придумать пароль для root-mysql:
И повторить его:
Скачиваем два пакета: zabbix-server-mysql и zabbix-frontend-php.
$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_3.2.0-1+xenial_amd64.deb
$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_3.2.0-1+xenial_all.deb
Или заходим на страницу скачивания и нажимаем на кнопку Download напротив вашей системы. На открывшейся странице нужно скачать 2 актуальных пакета zabbix-server-mysql и zabbix-frontend-php. Далее эти пакеты нужно будет перенести на систему Ubuntu 16.04, где мы устанавливаем zabbix. Сделать это можно например с помощью Filezilla или Winscp.
Установим zabbix-server-mysql:
$ sudo dpkg -i zabbix-server-mysql_3.2.0-1+xenial_amd64.deb
В процессе установки пакетов у вас может появится ошибка о том, что нужны определенные зависимости, установим их:
$ sudo apt-get -f install
Установим zabbix-frontend-php и исправим зависимости:
$ sudo dpkg -i zabbix-frontend-php_3.2.0-1+xenial_all.deb
$ sudo apt-get -f instal
После установки всех пакетов и зависимостей перезагружаем вебсервер apache2:
$ sudo service apache2 reload
Пробуем открыть страницу по адресу http://you-server-ip/zabbix. Если все правильно сделали у вас должна открыться страница zabbix. Здесь пока ничего не трогаем.
Вначале устанавливаем параметр временной зоны, для этого возвращаемся в консоль:
$ sudo nano /etc/apache2/conf-available/zabbix.conf
И убираем знак #(комментария) в строке:
# php_value date.timezone Europe/Riga
Приводя к виду:
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Minsk
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Minsk
</IfModule>
Следующим шагом нам нужно создать базу данных, пользователя для нее и наполнить её таблицами.
Заходим в командную строку mysql сервера:
$ sudo mysql -u root -p
Потребуется ввести пароль от mysql-root, который мы придумывали при установки mysql-server.
Далее в командной строке mysql - вводим команды, обязательно в конце ставьте точку с запятой (;):
CREATE DATABASE zabbix;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
Теперь разберем, что мы тут сделали:
-
Подключились к mysql серверу;
-
Создали базу данных с именем zabbix;
-
Создали пользователя zabbix и предоставляем пользователю привилегии для базы zabbix;
-
Обновили привилегии;
-
Вышли из консоли mysql.
Пользователь создан, теперь нужно наполнить базу данных таблицами. Таблицы находятся в архиве который расположен по адресу /usr/share/doc/zabbix-server-mysql. Если этого не сделать, то на шаге конфигурации базы данных у вас будет появляться ошибка “The frontend does not match Zabbix database”.
Наполняем базу таблицами:
$ cd /usr/share/doc/zabbix-server-mysql
$ sudo gzip -d create.sql.gz
$ mysql -u zabbix -p zabbix < create.sql
Вводим пароль (zabbix) и ожидаем пока база наполнится страницами.
Опять перезапускаем apache:
$ sudo service apache2 reload
Далее возвращаемся к web-странице, где продолжаем установку.
Нажимаем далее:
И оказывается мы не все доделали:
Возвращаемся в терминал и исправляем, устанавливая необходимые пакеты:
$ sudo apt install php-mbstring php-bcmath php-xml
Перезагрузим снова apache:
$ sudo service apache2 reload
Возвращаемся к web-странице, перезагружаем её, и видим, что ошибки ушли.:
Вводим параметры для подключения к базе данных. Напоминаю что базу данных мы создавали с паролем zabbix.
Далее указываем имя хоста и порт:
На следующей странице проверяем все параметры:
И завершаем установку:
Для входа в систему используйте логин - admin, пароль - zabbix.
Также после установки нужно отредактировать файл /etc/zabbix/zabbix_server.conf, раскомментировать и указать значения:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Редактируем:
$ sudo nano /etc/zabbix/zabbix_server.conf
И запускаем службу zabbix-server:
$ sudo service zabbix-server start
Далее желательно создать пользователя. Делается это в меню Administration / Users. Нажимаете кнопку “Create user”
Вводите данные, желательно добавить нового пользователя в группу “Zabbix administrators”. И на вкладке Permissions укажите тип пользователя - Zabbix Super Admin.
Также поменяйте пароль у пользователя Admin.
И выключите пользователя Guest, делается это в Administration / User groups. Снимаем флаг “Enabled”.
На этом первая статья о Zabbix закончена, будут и другие!
