Рассмотрим установку Zabbix 6.2 на Ubuntu 22.04
Содержание
Вводные данные
Установка будет осуществляться на снятом VDS в https://vds.selectel.ru.
Установка будет осуществляться из пакета предложенного разработчиком.
В рассматриваемом примере базовая установка без изменений конфигов в php или чём-то другом.
Подробные системные требования Вы можете найти на этой страничке.
Установка Zabbix
Установка репозитория
Переходим на страницу загрузки zabbix и выбираем необходимую нам конфигурацию. У меня будет Ubuntu22.04, на базе MySql (MariaDB), и в качестве веб-сервера ngnix.
На этой же странице ниже разработчик даёт нам команды, чтобы получить нужный пакет и установить его.
1 2 3 |
wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bubuntu22.04_all.deb dpkg -i zabbix-release_6.2-4+ubuntu22.04_all.deb apt update |
Установка Zabbix-Server, веб, Zabbix-Agent
Теперь установим Zabbix-Server, веб-сервер, конфигурацию для ngninx, скрипт первоначальной схемой и данными для базы данных и Zabbix-agent.
1 |
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent |
Установка MariaDB
Установим MaridDB.
1 |
apt install mariadb-server |
Первоначальная настройка MariaDB
Далее необходимо произвести первоначальную настройку для этого выполняем команду
1 |
mysql_secure_installation |
Вводим текущим пароль root
1 |
Enter current password for root (enter for none): |
Оставляем аутификацию штатную
1 |
Switch to unix_socket authentication [Y/n] n |
Меняем пароль root от mysql
1 |
Change the root password? [Y/n] y |
Удаляем анонимных пользователей
1 |
Remove anonymous users? [Y/n] y |
Отключаем возможность удаленно подключаться под root
1 |
Disallow root login remotely? [Y/n] y |
Удаляем тестовые данные
1 |
Remove test database and access to it? [Y/n] y |
Обновляем таблицу привилегией
1 |
Reload privilege tables now? [Y/n] y |
Всё готово, наша sql готов для использования
1 2 |
All done! If you've completed all of the above steps, your MariaDB installation should now be secure. |
Создание базы данных
Теперь нам необходимо добавить базу для нашего заббикса. Подключаемся к mysql.
1 2 |
mysql -uroot -p вводим пароль |
И создаём базу данных Zabbix, как это показывает разработчик.
Не забываем поменять во второй строчке password на свой. Этот пароль тоже нужно записать. Он нам пригодиться дальше.
1 2 3 4 |
create database zabbix character set utf8mb4 collate utf8mb4_bin; create user zabbix@localhost identified by 'password'; grant all privileges on zabbix.* to zabbix@localhost; set global log_bin_trust_function_creators = 1; |
И выходим из mysql.
1 |
quit; |
Импорт начальной схемы базы данных
Теперь нам необходимо сделать импорт в нашу пустую базу zabbix первоначальную схему и данные.
1 |
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix |
Вводим пароль от пользоявателя zabbix
Отключение опции log_bin_trust_function_creators
Далее разработчик указывает, что необходимо отключить логирование бинарных функций. На вопрос зачем — ответа у меня нет, но надо, так надо. Подключаемся к нашему mysql
1 2 |
mysql -uroot -p вводим пароль |
и вводим команду
1 |
set global log_bin_trust_function_creators = 0; |
И выходим из mysql.
1 |
quit; |
Подключение Zabbix-Server к базе данных
Далее нам необходимо отредактировать файл конфигурации Zabbix-Server к MySQL.
1 |
nano /etc/zabbix/zabbix_server.conf |
Необходимо найти строчку DBPassword и поменять на тот пароль, что мы указали в шаге «Создание базы данных».
Чтобы не искать руками воспользуйтесь поиском. В nano это сочетание клавиш Ctrl+W.Настройте веб-интерфейса
Теперь необходимо отредактировать файл конфигурации ngninx.
1 |
nano /etc/zabbix/nginx.conf |
На данный момент нас интересуют две строчки это:
1 2 |
# listen 8080; # server_name example.com; |
Если у нас нет DNS-имени, то добавляем внешний IP-адрес
После внесения изменений не забываем сделать проверку конфигурации и перезапустить nginx
1 2 3 |
nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful |
Если всё ок, то перезапускаем nginx
1 |
systemctl restart nginx |
Включаем автозапуск
Не забываем все необходимые компоненты добавить в автозапуск.
1 |
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm mariadb |
Завершаем установку в браузере
Открываем браузер и пишем в адресную строчку
http://dns-name.ru/setup.php или http://ip-addresses/setup.php
Переключаем язык на русский
Проверяем что все ОК
Ещё раз вводим пароль от базы zabbix для подключения
Задаём название нашему Zabbix :)
Далее нам говорят, что мы молодцы и всё готово
Первый вход
Открываем http://dns-name.ru или http://ip-addresses
После успешной установки Zabbix — проходим авторизацию.
По умолчанию Zabbix имеет логин Admin пароль zabbix.
Zabbix сервер запущен
Если мы только установили заббикс и внизу у нас уведомление о том, что «Zabbix сервер не запущен: отображаемая информация может быть не актуальной», то для начала давайте проверим включен ли агент.
1 |
systemctl status zabbix-server |
Видим, что нет.
1 2 3 |
○ zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled) Active: inactive (dead) |
Запускаем Zabbix-сервер
1 |
systemctl start zabbix-server |
И наша ошибка уходит.