Вы здесь

Установка Zabbix 3.0 + Postgresql+ Ubuntu 16.04.1LTS

Добрый день, сегодня рассмотрим установку 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   

Внимание регистр логина имеет значение.

Обязательно попробуйте новый интерфейс в темных тонах.