Перейти к основному содержанию
 

Zabbix 4.2 - установка на Ubuntu. База - Postgresql.

Zabbix

Сегодня поставим zabbix 4.2. Устанавливать будем на сервер Ubuntu. В качестве базы данных используем postgresql на том же сервере. Веб сервером поcлужит apache2.

Ссылки

Есть официальная документация:

https://www.zabbix.com/documentation/4.2/ru/manual/installation/install_from_packages/debian_ubuntu

Но здесь только mysql описывается. В более ранних версиях есть примеры установки postgresql, но они не всё описывают, приходится доходить своим умом и поиском в Интернете. Распишу как ставил я.

Репозиторий

Сначала добавим репозиторий заббикса. Если устанавливать заббикс из других репозиториев, то может чего-то не хватить. Так я сходу не смог накатить структура базы на postgresql, не хватило нужных файлов в пакете.

Выполняем скрипт под рутом.

Для Ubuntu 18.04 (Bionic Beaver) LTS:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
dpkg -i zabbix-release_4.2-1+bionic_all.deb
apt update

Для Ubuntu 14.04 (Trusty Tahr) LTS:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+trusty_all.deb
dpkg -i zabbix-release_4.2-1+trusty_all.deb
apt update

Для Debian 9 (Stretch):

wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+​stretch_all.deb
dpkg -i zabbix-release_4.2-1+​stretch_all.deb
apt update

Для Debian 8 (Jessie):

wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+​jessie_all.deb
dpkg -i zabbix-release_4.2-1+​jessie_all.deb
apt update

У меня Ubuntu 16. Для Ubuntu 16.04 (Xenial Xerus) LTS выполняю:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+xenial_all.deb
dpkg -i zabbix-release_4.2-1+xenial_all.deb
apt update

zabbix

После выполнение кода в /etc/apt/source.list.d появляется файл zabbix.list:

zabbix

Репозиторий установлен. Можно заодно выполнить обновление:

apt upgrade

zabbix

Установка zabbix server

Как я уже говорил, заббикс будет работать на postgresql. Фронтенд тоже будет находиться здесь же.

apt-get install zabbix-server-pgsql zabbix-frontend-php

zabbix

Устанавливается zabbix-server, apache2, php7.0, postgresql-9.5 и другие пакеты.

Создание базы в postgresql

Теперь нам нужно создать базу в postgresql и пользователя с правами на неё.

sudo -i
sudo -i -u postgres
psql
CREATE DATABASE zabbix WITH ENCODING='UTF-8';
CREATE USER zabbix WITH PASSWORD 'тут_пароль';
GRANT ALL ON DATABASE zabbix TO zabbix;
\q

База и пользователь zabbix созданы.

Накатим структуру базы. Таблички там, индексы. Проверьте наличие файла /usr/share/doc/zabbix-server-pgsql/create.sql.gz. Если его нет, то пакет вы поставили их неродного репозитория, накатить структуру базы сходу не получится. Если репозиторий рабочий, файл есть, то выполняем:

zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -h localhost zabbix zabbix

Настройка zabbix-server

Правим /etc/zabbix/zabbix-server.conf:

DBHost=
DBName=zabbix
DBUser=zabbix
DBPassword=тут_пароль

Потом выполняем:

systemctl enable zabbix-server
systemctl start zabbix-server

Настройка apache и php

Если зайти в браузер на IP адрес сервера zabbix - http://10.10.10.10/zabbix, то видим код php в виде текста. Не все пакеты нам поставили, добавляем:

apt-get install libapache2-mod-php
#не помню, нужно ли активировать модуль php, если он не активируется сам, то:
#a2enmod php7.0

Отключаем дефолтный сайт:

a2dissite 000-default.conf

Правим конфиг /etc/apache2/conf-enabled/zabbix.conf. Уберём заббикс из директории /zabbix и перенесём в корень:

# Define /zabbix alias, this is the default
#<IfModule mod_alias.c>
#    Alias  /zabbix /usr/share/zabbix
#</IfModule>

DocumentRoot /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    <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 max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Moscow
    </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 max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Moscow
    </IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

Перезагружаем апач:

service apache2 restart

Смотрим что получилось:

zabbix

Вроде работает. Далее следуем инструкциям.

zabbix

Примечание

Баги, найденные пользователями и отмеченные в комментариях.

В окне конфигурации БД отсутствует PostgreSQL. 

Sergey Sidenko

zabbix

Решение

Sergey Sidenko 
Поставил php7.0-pgsql и в выпадашке PGSQL появилось и мастер дошел до упора.

Evgeny Samuilov
Та же история. Ubuntu server 18.04.2. Поставил дополнительно пакет php7.2-pgsql и всё появилось.

P.S.

Если что-то забыл в инструкции - напишите, исправим.

Теги

Комментарии