Вводные данные:
- Система Debian 11
- Веб сервер Nginx
- База данных MariaDB
1. Подготовка системы
Т.к. система у меня в контейнере то для начала нужно подготовить систему.
Обновляем систему
1 2 |
apt-get update apt-get upgrade |
Настроим часовой пояс
1 |
dpkg-reconfigure tzdata |
Далее выставим локаль
1 |
dpkg-reconfigure locales |
Нам нужно выбрать ru_RU.UTF-8 UTF-8. Так же убедитесь на всякий случай, что en_US.UTF-8 тоже выбрана. По умолчанию выбираем ее же — ru_RU.UTF-8 UTF-8
2. Установка пакетов zabbix
Теперь идем на сайт Zabbix и качаем пакет под нашу систему. Напоминаю что это Zabbix 5.4 + Debian 11 + MySQL + Nginx. На момент написания это был Zabbix 5.4.1.
1 2 3 |
wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb dpkg -i zabbix-release_5.4-1+debian11_all.deb apt update |
Следующий шаг это установка пакетов
1 |
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent mariadb-server |
3. Настройка MariaDB
1 |
mysql_secure_installation |
Нужно ответить на несколько вопросов:
- Вас попросят ввести пароль от root, но т.к мы его не задавали то просто жмем Enter
- Далее нажимаем Y и задаем пароль от root
- Нажим Y тем самым вырубая гостевые аккаунты
- Отключаем удаленный доступ root пользователя
- Удаляем тестовые базы
- Перезаписываем таблицы привилегий
Установка базы данных Zabbix. Опишу два варианта, это установка с нуля или перенос базы с другого сервера.
3.1 Установка с нуля
Подключаемся к нашему экземпляру MariaDB
1 |
mysql -uroot -p |
Вводим пароль
1 2 3 4 |
create database zabbix character set utf8 collate utf8_bin; create user zabbix@localhost identified by 'password'; grant all privileges on zabbix.* to zabbix@localhost; quit; |
Импортируем начальную схему
1 |
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix |
Не забываем ввести пароль что вводили выше.
После правим файл конфигурации Zabbix сервера
1 |
nano /etc/zabbix/zabbix_server.conf |
Нас интересуют следующие строки в файле
Адрес сервера базы данных
1 |
DBHost=localhost |
Пароль от базы данных
1 |
DBPassword=password |
3.2 Перенос с другого сервера
Отличий не сильно много, нужно снять дамп базы со старого сервера и залить его на наш сервер, благо Zabbix хранит все в базе данных.
Для начала остановим Zabbix сервер и подождем минут 5 чтобы данные все дописались в базу.
1 |
systemctl stop zabbix-server.service |
Теперь снимем дамп
1 |
mysqldump -u zabbix -p zabbix | bzip2 > dbdump.bz2 |
Полученный файл передаем на наш сервер и заливаем его не забыв тоже предварительно остановить наш сервер
1 |
systemctl stop zabbix-server.service |
Заливаем дамп
1 |
bzcat dbdump.bz2 | mysql -u zabbix -p zabbix |
По окончании запускаем службу обратно
1 |
systemctl start zabbix-server.service |
4. Настройка Nginx
По умолчанию в Nginx установлен сайт по умолчанию, которые принимает весь необработанный трафик и я рекомендую его удалить.
1 |
rm /etc/nginx/sites-enabled/default |
Настраиваем веб сервер для Zabbix. Открываем файл для редактирования
1 |
nano /etc/zabbix/nginx.conf |
Нас интересуют следующие строки
1 2 |
# listen 80; # server_name example.com; |
Для начала снимаем коментарии и добавляем свой домен вместо example.com
Осталось перезапустить наши службы и добавить их в автозагрузку
1 2 |
systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm |
После этого можно заходить на наш сервер. Логин и пароль по умолчанию:
- Admin
- zabbix