Представь, что твоя инфраструктура растёт, серверов становится больше, а понимать, что происходит с каждым из них — всё сложнее. Именно здесь на помощь приходит Zabbix — мощная система мониторинга, которая становится глазами и ушами твоего DevOps-отдела. Давай разберём, как установить Zabbix на Ubuntu шаг за шагом, от подготовки системы до первого мониторируемого хоста.
Подготовка Ubuntu-сервера к установке Zabbix
Перед началом установки Zabbix на Ubuntu убедимся, что система готова. Работать будем с чистым сервером Ubuntu 22.04 LTS или 20.04 LTS — эти версии оптимальны для стабильной работы.
Обновление системы и установка базовых пакетов
Первым делом обновим пакеты системы до актуальных версий:
sudo apt update
sudo apt upgrade -y
sudo apt install -y wget curl gnupg2 software-properties-common
Установка и настройка базы данных для Zabbix
Zabbix поддерживает несколько СУБД, но мы выберем MySQL/MariaDB как наиболее распространённый вариант. Установка Zabbix на Ubuntu с MySQL обеспечивает хороший баланс производительности и простоты администрирования.
Установка MariaDB (альтернатива MySQL)
sudo apt install -y mariadb-server mariadb-client
После установки запускаем скрипт начальной настройки безопасности:
sudo mysql_secure_installation
На вопросы отвечай примерно так:
- Switch to unix_socket authentication: n
- Change the root password: y (установи надёжный пароль!)
- Remove anonymous users: y
- Disallow root login remotely: y
- Remove test database and access to it: y
- Reload privilege tables now: y
Создание базы данных и пользователя для Zabbix
Подключаемся к MySQL и создаём необходимые объекты:
sudo mysql -u root -p
В консоли MySQL выполняем следующие команды (замени 'StrongPassword123!' на свой пароль):
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
EXIT;
Добавление репозитория Zabbix и установка компонентов
Установка Zabbix на Ubuntu через официальный репозиторий — самый правильный путь, так как ты всегда получишь актуальные версии и безопасные обновления.
Импорт GPG-ключа и добавление репозитория
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu$(lsb_release -rs)_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu$(lsb_release -rs)_all.deb
sudo apt update
Установка Zabbix Server, Frontend и Agent
Теперь установим основные компоненты системы мониторинга:
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Инициализация базы данных Zabbix
Импортируем начальную схему и данные в созданную базу:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Введи пароль пользователя zabbix, который ты задал ранее.
Настройка конфигурационных файлов Zabbix
Теперь настроим Zabbix для работы с нашей базой данных и веб-интерфейсом.
Настройка Zabbix Server
Отредактируем основной конфигурационный файл сервера:
sudo nano /etc/zabbix/zabbix_server.conf
Найди и измени следующие параметры:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword123!
Настройка PHP для Zabbix Frontend
Для корректной работы веб-интерфейса нужно настроить PHP параметры:
sudo nano /etc/php/8.1/apache2/php.ini
Убедись, что следующие параметры установлены (версия PHP может отличаться):
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Europe/Moscow
Укажи свою временную зону вместо 'Europe/Moscow'.
Запуск и настройка веб-сервера Apache
Zabbix Frontend работает через веб-сервер. В нашем случае это Apache.
Включение необходимых модулей и перезапуск служб
sudo a2enmod ssl
sudo a2enmod rewrite
sudo systemctl restart apache2
sudo systemctl enable apache2
Запуск и активация служб Zabbix
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Завершение установки через веб-интерфейс
Основная часть установки Zabbix на Ubuntu завершена. Теперь перейдём к веб-интерфейсу для финальной настройки.
Доступ к веб-интерфейсу Zabbix
Открой браузер и перейди по адресу:
http://IP_ТВОЕГО_СЕРВЕРА/zabbix
Ты увидишь мастер настройки. Просто следуй инструкциям:
- Welcome — нажми "Next step"
- Check of pre-requisites — все проверки должны быть OK
- Configure DB connection — введи данные базы:
- Database type: MySQL
- Database host: localhost
- Database port: 3306
- Database name: zabbix
- User: zabbix
- Password: твой пароль
- Zabbix server details — оставь значения по умолчанию
- Pre-installation summary — проверь и нажми "Next step"
- Install — дождись завершения
Первоначальный вход в систему
После установки ты попадёшь на страницу входа. Используй стандартные учётные данные:
- Username: Admin (с большой буквы!)
- Password: zabbix
Добавление первого хоста для мониторинга
Давай добавим сам сервер Ubuntu, на котором установлен Zabbix, в качестве первого мониторируемого хоста.
Настройка Zabbix Agent на локальном хосте
Отредактируем конфиг агента:
sudo nano /etc/zabbix/zabbix_agentd.conf
Установи следующие параметры:
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Перезапусти агент:
sudo systemctl restart zabbix-agent
Добавление хоста через веб-интерфейс
В веб-интерфейсе Zabbix:
- Перейди в "Configuration → Hosts"
- Нажми "Create host"
- Заполни поля:
- Host name: Ubuntu Server
- Visible name: Ubuntu Server
- Groups: Linux servers
- Agent interfaces: IP 127.0.0.1, Port 10050
- Во вкладке "Templates" добавь шаблон "Linux by Zabbix agent"
- Нажми "Add"
Проверка работоспособности Zabbix
Убедимся, что все компоненты системы работают корректно.
Проверка статуса служб
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent
sudo systemctl status apache2
Все службы должны быть в состоянии "active (running)".
Проверка логов на ошибки
sudo tail -f /var/log/zabbix/zabbix_server.log
# Для просмотра логов в реальном времени нажми Ctrl+C для выхода
Оптимизация производительности Zabbix
После успешной установки Zabbix на Ubuntu, рассмотрим базовые настройки для оптимальной производительности.
| Параметр | Значение по умолчанию | Рекомендуемое значение | Описание |
|---|---|---|---|
| StartPollers | 5 | 10-20 | Количество процессов для опроса данных |
| StartPollersUnreachable | 1 | 2-3 | Процессы для недоступных хостов |
| CacheSize | 8M | 128M-256M | Размер кэша конфигурации |
| HistoryCacheSize | 16M | 128M-512M | Размер кэша исторических данных |
Для изменения этих параметров отредактируй /etc/zabbix/zabbix_server.conf и перезапусти сервер.
Часто задаваемые вопросы (FAQ)
Какие системные требования для Zabbix на Ubuntu?
Для тестового стенда достаточно 2 ГБ RAM и 2 CPU. Для production-среды с 100+ хостами рекомендуется 8+ ГБ RAM, 4+ CPU и SSD диск для базы данных.
Как обновить Zabbix на Ubuntu до новой версии?
Обновление выполняется через репозиторий: обнови пакеты, сделай бэкап базы, установи новую версию, выполни миграцию базы через SQL-скрипты из /usr/share/zabbix-sql-scripts.
Почему Zabbix не видит данные с агента?
Проверь: 1) Работает ли zabbix-agent, 2) Правильно ли настроен Server/ServerActive в конфиге агента, 3) Открыт ли порт 10050, 4) Совпадает ли Hostname в конфиге агента с именем хоста в Zabbix.
Как настроить мониторинг внешних серверов?
Установи zabbix-agent на удалённый сервер, в конфиге укажи IP Zabbix-сервера в параметрах Server и ServerActive, открой порт 10050 в firewall, добавь хост в веб-интерфейсе с правильным IP.
Заключение
Поздравляю! Ты успешно выполнил установку Zabbix на Ubuntu. Теперь у тебя есть мощная система мониторинга, готовая к работе. Помни, что это только начало — Zabbix предлагает огромные возможности: от мониторинга сетевых устройств через SNMP до кастомизации дашбордов и сложных триггеров.
Следующие шаги для углубления:
- Настройка уведомлений (Email, Telegram, Slack)
- Создание кастомных дашбордов
- Настройка шаблонов для специфичных сервисов
- Реализация high-availability кластера Zabbix
Теперь твоя инфраструктура под контролем. Удачи в освоении мира мониторинга!