Добрый день, сегодня рассмотрим установку Zabbix 3.0 на postgresql. Найденные мною инструкции к сожалению описывали процесс либо для Zabix 2.X, либо установку с поддержкой другой базы данных.
Итак начнем!
Устанавливаем чистую убунту 16.04.1LTS, первым делом обновимся и установим вспомогательные средства и базу данных.
apt-get update
apt-get upgrade
apt-get install mc htop postgresql postgresql-contrib
Установим пароль для пользователя postgres и создадим базу с пользователем для сервера мониторинга.
shell# sudo -u postgres psql template1
template1=#ALTER USER postgres with encrypted password 'пароль_для_пользователя_постгре';
template1=#CREATE DATABASE zabbix_db;
template1=#CREATE USER zabbix_db_user WITH password 'пароль_для_пользователя_заббикс';
template1=#GRANT ALL privileges ON DATABASE zabbix_db TO zabbix_db_user;
template1=#\q
Для фронтэнда нам понадобится Nginx + php и естественно сам Zabbix. Так как установили на свежую Ubuntu из репозитория подтянется php 7, с которой работает Zabbix 3.0, во всяком случае у нас не возникло проблем при эксплуатации мониторинга на этой версии. Чтобы избежать экспериментов, добавим репозиторий для Nginx и Zabbix.В дальнейшем трудностей с обновлением не возникнет.
shell# wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabb...
shell# dpkg -i zabbix-release_3.0-1+xenial_all.deb
shell# apt-get update
Добавляем в файл /etc/apt/sources.list адрес репозитория Nginx
#NGINX
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Сохраняемся и добавляем ключ подписи.
shell# wget http://nginx.org/keys/nginx_signing.key
shell# sudo apt-key add nginx_signing.key
Обновим список пакетов в системе и приступаем к установке
shell# wget http://nginx.org/keys/nginx_signing.key
shell# sudo apt-key add nginx_signing.key
shell# apt-get update
shell# apt-get install php-fpm php-pgsql php-gd php-cgi php-pear php-mcrypt php-common nginx php-mbstring php-bcmath
shell# apt-get install zabbix-server-pgsql zabbix-frontend-php zabbix-agent
Меняем настройки для postgresql
/etc/postgresql/9.5/main/postgresql.conf
listen_addresses = '127.0.0.1'
/etc/postgresql/9.5/main/pg_hba.conf
# "local" is for Unix domain socket connections only
# TYPE DATABASE USER ADDRESS METHOD
local all all md5 #юникс сокеты
host all all 127.0.0.1/32 md5
Перезапуcтим postgresql
shell# service postgresql restart
Импортируем дефолтную структуру базы данных. Файл со структурой лежит в документации к postgresql.
shell# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U zabbix_db_user zabbix_db -W
Вводим пароль и дожидаемся окончания процесса.
Указываем логины и пароли созданные для zabbix сервера в файл конфигурации /etc/zabbix/zabbix_server.conf
DBName=zabbix_db
DBUser=zabbix_db_user
DBPassword=zabbix_password
Для функционирования фронтэнда поправим конфигурацию php-fpm и настроим nginx.
В файле /etc/php/7.0/fpm/php.ini
cgi.fix_pathinfo=1
post_max_size = 20M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow
/etc/php/7.0/fpm/pool.d/www.conf
listen.mode = 0660
security.limit_extensions = .php .php3 .php4 .php5 .php7
Перезапускаем PHP
shell# service php7.0-fpm restart
При использовании Nginx с самого начала создаем 2 папки. Одну - для шаблонов, вторую - для готовых конфигураций, симлинков из первой.
shell#mkdir /etc/nginx/sites-available/
shell#mkdir /etc/nginx/sites-enabled/
Так как у нас используется виртуальная машина, и кол-во процессоров может измениться исходя из потребностей системы в файле /etc/nginx/nginx.conf внесем поправки.
worker_processes 1; --> worker_processes auto;
include /etc/nginx/conf.d/*.conf; --> include /etc/nginx/sites-enabled/*;
touch /etc/nginx/sites-available/zabbix
Настройки VHOST /etc/nginx/sites-available/zabbix
server {
listen 80;
server_name zabbix.domain.local;
#папка с файлами для www zabbix
root /usr/share/zabbix;
#расположение логов данного хоста..
access_log /var/log/nginx/zabbix.domain.local.access.log;
error_log /var/log/nginx/zabbix.domain.local.error.log;location / {
index index.php index.html index.htm;
}location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock; #/etc/php/7.0/fpm/pool.d/www.conf - строка listen = /run/php/php7.0-fpm.sock
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Необходимо создать символическую ссылку на файл, и перезапустить Nginx.
ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/zabbix
service nginx restart
На данном этапе подготовка закончилась. Переходим на сайт.
Проверяем выполнение условий для установки.
И заполняем стандартные поля при установке.
Дождавшись окончания процесса установки, переходим на сайт сервера и проходим авторизацию используя стандартный логин и пароль(! не забудьте его сменить).
Login: Admin
Passwd: zabbix
Внимание регистр логина имеет значение.
Обязательно попробуйте новый интерфейс в темных тонах.