Установка Zabbix Server 6 LTS

Zabbix — свободная система мониторинга статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым.

В нашем примере мы будем использовать связку Zabbix Server 6.0 LTS с веб сервером Nginx + СУБД MySQL. Операционная система установлена Ubuntu 20.04.

Для начала подготовьте сервер и установите нужные пакеты:

sudo apt update
sudo apt install -y htop iotop nload mc curl tar wget net-tools

Настроим дату и часовой пояс:

sudo timedatectl set-timezone Europe/Moscow
sudo apt -y install chrony
sudo systemctl restart chrony && systemctl enable chrony

Откройте порты: 80, 443,10051 TCP

Установка сервера Zabbix на Ubuntu 20.04

Установим нужный репозиторий Zabbix

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo apt update

Установите пакеты Zabbix

sudo apt install -y  zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

У меня сам по себе поставился Апач, удаляем:

sudo apt -y remove apache2
sudo -y apt autoremove

Установите MySQL

sudo apt install -y mysql-server mysql-client

Установите пароль для root службы MySQL

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'password';
exit

Запустим скрипт безопасности и внесем первоначальные изменения в конфигурацию MySQL

mysql_secure_installation

Отвечаем на вопросы:

Enter password for user root: <ваш пароль с прошлого шага>
Would you like to setup VALIDATE PASSWORD component? N
Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

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

# sudo mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

Импортируем начальную схему и данные в нашу базу. При запросе введем пароль от созданного пользователя.

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

Измените настройки PHP:

# mcedit /etc/zabbix/php-fpm.conf
php_value[post_max_size] = 100M
php_value[upload_max_filesize] = 100M
php_value[date.timezone] = Europe/Moscow

Укажем в конфиге сервера Zabbix пароль от базы данных:

echo "DBPassword=password" >> /etc/zabbix/zabbix_server.conf
cat /etc/zabbix/zabbix_server.conf | grep DBPassword

Удалите конфиг Nginx по умолчанию:

rm -f /etc/nginx/sites-enabled/default

В файле /etc/zabbix/nginx.conf отредактируйте директивы listen и server_name.

# mcedit /etc/zabbix/nginx.conf
server {
        listen          80;
        server_name     zbx.domain.com;

По желанию можно установить поддержку русского языка:

sudo locale-gen ru_RU

Добавьте в автозагрузку и запустите службы:

sudo systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm

Введите IP адрес или доменное имя вашего сервера в адресной строке и приступите к установке:

После первоначальной инициализации логин по умолчанию Admin, пароль zabbix.

Для того, чтобы оперативно получать события мониторинга настроим оповещения нашего сервера Zabbix.

Оповещения Zabbix на электронную почту

Перейдем в раздел Администрирование -> Способы оповещений и выберем Email.

Приведите настройки шаблона в соответствии с настройками вашего почтового сервера.

Шаблон оповещения можно изменить на вкладке Шаблоны сообщений (Message templates).

Оповещения Zabbix в Telegram

Перейдем в раздел Администрирование -> Способы оповещений и выберем Telegram.

Откроем чат с @BotFather и создаем бота командой /newbot

Указываем имя бота yournamebot и сохраняем полученный токен: **************************

Теперь откройте чат с @myidbot и запросите ID командой /getid

Указываем полученные данные в поле Token, нажимаем кнопку Обновить.

Так же есть возможность проверить работу оповещения. Введите ID чата от бота @myidbot и нажмите Тест:

Активируем действия триггеров Настройка -> Действия -> Report problems to Zabbix administrators

Осталось добавить настроенное оповещение нашему пользователю.

Администрирование -> Пользователи -> Выбираем пользователя Admin и назначаем ему оповещение из Telegram (ID берем из чата @myidbot) или Email.

Установка Zabbix Agent 6 на Ubuntu 20.04

Добавим репозиторий и установим агент:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo apt update
sudo apt -y install zabbix-agent

Альтернативные репозитории для других систем смотрим на сайте Zabbix:

https://www.zabbix.com/download

Разрешим подключение к порту агента:

sudo ufw allow 10050/tcp

Введем переменные для быстрой замены конфигурационного файла агента:

zabbixsrv="zbx.domain.com"
serverhostname="server 1"

Заменим содержимое конфига и запустим службу:

sed -i.bak -e "s/^Server*=.*/Server=$zabbixsrv/; s/^ServerActive*=.*/ServerActive=$zabbixsrv/; s/^Hostname*=.*/Hostname=$serverhostname/" /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent && systemctl enable zabbix-agent

Можно посмотреть логи ошибок, если у вас что-то не получается:

tail -f /var/log/zabbix/zabbix_agentd.log

Теперь добавим наш новый сервер для мониторинга в заббиксе:
Настройка -> Узлы сети -> Создать узел сети
Имя хоста: server 1
Группа: любая
В поле агент укажем ip адрес нашего сервера, на котором установили агент.
Шаблон нужно выбрать для Linux сервера: Template OS Linux by Zabbix Agent

Оставьте комментарий