Установка сервера Zabbix 4.0 в Debian

С установкой Zabbix на сервер с Debian.

Подключаем репозитории zabbix 4.0.

Debian 9:

sudo wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+stretch_all.deb
sudo dpkg -i zabbix-release_4.0-3+stretch_all.deb

Debian 10:

 sudo wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb
 sudo dpkg -i zabbix-release_4.0-3+buster_all.deb

Обновляем информацию о репозиториях, а заодно и последние обновления поставим:

sudo apt-get update && apt-get upgrade

Устанавливаем zabbix сервер:

sudo apt-get install zabbix-server-mysql zabbix-frontend-php

Он по-умолчанию ставится с apache, который сразу же запускается. Остановим его и отключим:

sudo systemctl stop apache2
sudo systemctl disable apache2

Ставим отдельно nginx и php-fpm:

sudo apt-get install nginx php-fpm

Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.

sudo /usr/bin/mysql_secure_installation

Отредактируем некоторые параметры Mariadb в конфиге /etc/mysql/mariadb.conf.d/50-server.cnf. Добавляем туда в секцию [mysqld]:

sudo mcedit /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_file_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3

Перезапустите mariadb и убедитесь, что она запустилась.

# systemctl restart mariadb
# netstat -tulnp | grep mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      16753/mysqld

Cоздадим базу данных, пользователя zabbix, и заполним базу.

 sudo mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabpassword';
exit
sudo zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.

sudo mcedit /etc/zabbix/zabbix_server.conf

Изменяем указанные строки, остальные не трогаем:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabpassword
ListenIP=0.0.0.0
Timeout=10

Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется, для получения метрики. Поставьте секунд 10.

Запускаем zabbix и добавляем в автозагрузку.

sudo service zabbix-server start 
sudo service zabbix-server enable 

Проверяем запустился ли.

# netstat -tulnp | grep zabbix_server
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      16847/zabbix_server

Все в порядке. Запускаем nginx, который у нас будет выступать в качестве web сервера.

# systemctl start nginx
# systemctl enable nginx

Убедимся, что в качестве web сервера работает nginx.

netstat -tulnp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      17075/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      17075/nginx: master 

Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/sites-available/default.conf. Приводим его к следующему виду:

sudo mcedit /etc/nginx/sites-available/default.conf
server {
    listen       80;
    server_name  localhost;
    root /usr/share/zabbix;

    location / {
    index index.php index.html index.htm;
    }

    location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock; # проверьте этот путь, для разных версий php он будет разный
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param PHP_VALUE "
    max_execution_time = 300
    memory_limit = 128M
    post_max_size = 16M
    upload_max_filesize = 2M
    max_input_time = 300
    date.timezone = Europe/Moscow
    always_populate_raw_post_data = -1
    ";
    fastcgi_buffers 8 256k;
    fastcgi_buffer_size 128k;
    fastcgi_intercept_errors on;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
        }
}

Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo nginx -s reload

С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.

Идем в браузер и открываем адрес http://192.168.13.117. Вы должны увидеть установщик Zabbix 4.0

Нажимаем Next step и начинаем настройку web интерфейса. На следующей странице будет проверка требований. У вас должны быть выполнены все требования. В зависимости от системы и версии php, информация будет в каждом случае разниться.

На следующем этапе указываем параметры доступа к базе данных, потом Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры.

Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.

После нажатия на Finish увидите окно авторизации Zabbix сервера.

Стандартная учетная запись для входа в web интерфейс zabbix следующая:

  • Пользователь Admin
  • Пароль zabbix

После логина увидите стандартный dashboard.

На этом установка бесплатного сервера мониторинга zabbix окончена.

0

Автор публикации

не в сети 3 дня

conter

0
Комментарии: 4Публикации: 54Регистрация: 19-10-2019

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.

Авторизация
*
*
Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.

Докажи, что человек


Генерация пароля
Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.