Полное руководство по установке и настройке Zabbix Server 7.4 на Ubuntu с PostgreSQL.
Требования
- Ubuntu 20.04 или 22.04 LTS
- Минимум 2 ГБ RAM
- 10 ГБ свободного места на диске
- Права администратора (sudo)
1. Подготовка системы
Обновляем систему и устанавливаем необходимые пакеты:
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl lsb-release gnupg2
Определяем версию Ubuntu:
UBUNTU_VERSION=$(lsb_release -cs)
echo "Версия Ubuntu: $UBUNTU_VERSION"
2. Установка репозитория Zabbix
Загружаем и устанавливаем официальный репозиторий:
# Для Ubuntu 22.04
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb
# Для Ubuntu 20.04 замените на:
# wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_latest_7.4+ubuntu*.deb
sudo apt update
3. Установка компонентов Zabbix
Устанавливаem Zabbix server, веб-интерфейс и базу данных:
sudo apt install -y zabbix-server-pgsql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 postgresql postgresql-contrib
4. Настройка PostgreSQL
4.1. Запуск и включение PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
4.2. Создание базы данных и пользователя
# Переключаемся на пользователя postgres
sudo -u postgres psql
В консоли PostgreSQL выполняем:
CREATE USER zabbix WITH PASSWORD 'your_strong_password_here';
CREATE DATABASE zabbix OWNER zabbix;
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
\q
⚠️ Важно: Замените your_strong_password_here на надежный пароль и запишите его!
4.3. Импорт схемы базы данных
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
5. Настройка Zabbix Server
Редактируем конфигурационный файл:
sudo nano /etc/zabbix/zabbix_server.conf
Находим и изменяем следующие параметры:
# Раскомментируйте и укажите параметры БД
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_strong_password_here
# Дополнительные настройки производительности
StartPingers=10
StartPollersUnreachable=5
StartTrappers=10
StartTimers=2
StartEscalators=2
CacheSize=32M
6. Настройка веб-сервера Nginx
6.1. Настройка Nginx для Zabbix
sudo nano /etc/zabbix/nginx.conf
Редактируем конфигурацию:
server {
listen 80;
server_name your-domain.com; # Замените на ваш домен или IP
root /usr/share/zabbix;
index index.php;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ /\.ht {
deny all;
}
location ~ /(api\/|conf[^\.]|include|locale|vendor) {
deny all;
return 404;
}
location /setup {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
6.2. Активация конфигурации
sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/sites-enabled/zabbix.conf
sudo nginx -t # Проверка конфигурации
6.3. Настройка PHP
Определяем версию PHP:
php -v
Редактируем настройки PHP (замените 8.1 на вашу версию):
sudo nano /etc/php/8.1/fpm/conf.d/99-zabbix.ini
Добавляем необходимые настройки:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
max_input_vars = 10000
date.timezone = Europe/Moscow
7. Настройка firewall
Открываем необходимые порты:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10051/tcp # Zabbix server port
sudo ufw allow 10050/tcp # Zabbix agent port
8. Запуск сервисов
Определяем актуальную версию PHP-FPM:
PHP_VERSION=$(php -v | head -n1 | cut -d' ' -f2 | cut -d'.' -f1,2)
echo "Версия PHP: $PHP_VERSION"
Запускаем и включаем автозагрузку сервисов:
sudo systemctl restart zabbix-server zabbix-agent2 nginx php${PHP_VERSION}-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php${PHP_VERSION}-fpm
9. Проверка статуса сервисов
Проверяем, что все сервисы запущены успешно:
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent2
sudo systemctl status nginx
sudo systemctl status php${PHP_VERSION}-fpm
Проверяем логи в случае проблем:
sudo tail -f /var/log/zabbix/zabbix_server.log
10. Настройка веб-интерфейса
- Откройте в браузере: http://ваш_сервер/zabbix
- Следуйте инструкциям мастера установки
- На этапе настройки базы данных укажите:
- Тип БД: PostgreSQL
- Хост БД: localhost
- Порт БД: 5432
- Имя БД: zabbix
- Пользователь: zabbix
- Пароль: ваш_пароль
11. Первый вход в систему
После завершения установки войдите в систему с учетными данными по умолчанию:
Данные для входа:
- Логин: Admin
- Пароль: zabbix
🔒 Безопасность: Обязательно смените пароль администратора после первого входа!
12. Дополнительные настройки
12.1. Настройка SSL (рекомендуется)
Для продакшн-среды настройте SSL-сертификат:
# Установка Certbot для Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
# Получение SSL-сертификата
sudo certbot --nginx -d ваш-домен.com
12.2. Настройка резервного копирования
Создайте скрипт для резервного копирования базы данных:
sudo nano /usr/local/bin/zabbix-backup.sh
#!/bin/bash
BACKUP_DIR="/var/backups/zabbix"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Резервная копия базы данных
pg_dump -U zabbix -h localhost zabbix | gzip > $BACKUP_DIR/zabbix_db_$DATE.sql.gz
# Резервная копия конфигурации
tar -czf $BACKUP_DIR/zabbix_config_$DATE.tar.gz /etc/zabbix/
# Удаление старых копий (старше 7 дней)
find $BACKUP_DIR -name "*.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/zabbix-backup.sh
Устранение неполадок
Проблема: Zabbix server не запускается
# Проверить логи
sudo journalctl -u zabbix-server -f
# Проверить конфигурацию
sudo zabbix_server -c /etc/zabbix/zabbix_server.conf -t
Проблема: Веб-интерфейс недоступен
# Проверить статус nginx
sudo systemctl status nginx
# Проверить конфигурацию nginx
sudo nginx -t
# Проверить права доступа
sudo chown -R www-data:www-data /usr/share/zabbix/
Проблема: Ошибки подключения к базе данных
# Проверить подключение к PostgreSQL
sudo -u zabbix psql -h localhost -d zabbix -c "SELECT version();"
# Проверить настройки в файле конфигурации
sudo grep -E "^DB" /etc/zabbix/zabbix_server.conf
Поздравляем! Zabbix Server успешно установлен и настроен. Теперь вы можете приступить к мониторингу вашей инфраструктуры.





