Столкнулся с ошибкой при перезагрузке сервера с Zabbix (Debian 10.1, Zabbix 4.2). Возникает судя по всему данная ошибка из-за того что служба MySQL (в моем случае MariaDB) при перезагрузке выключается раньше Zabbix. Соответственно похоже что возникать такая проблема может только в случае если и Zabbix сервер и база данных запущены на одной машине.
Решение — дописать в файл запуска службы zabbix-server зависимость от mysql.service.
Я использую nano, так что для меня это:
sudo nano /usr/lib/systemd/system/zabbix-server.service
Оригинал файла службы выглядит так:
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"
EnvironmentFile=-/etc/default/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
В блок [Unit] необходимо добавить:
Wants=mysql.service
After=mysql.service
или
Wants=postgresql.service
After=postgresql.service
смотря какой SQL сервер вы используете. В итоге блок Unit будет выглядеть например так:
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
Wants=mysql.service
After=mysql.service
Далее закрываем редактор, не забывая сохранить изменения. Для nano нажимаем выход — Ctr+X
подтверждаем сохранение буфера в активный файл — Y
и соглашаемся с именем файла — Enter
Обновляем демона systemd и перезапускаем zabbix-server:
sudo systemctl daemon-reload
sudo systemctl restart zabbix-server
На этом все, на данный момент работает без сбоев =).
Спасибо! Помогло.
Пожалуйста. Только придется повторять процедуру после всяких обновлений сервера Zabbix, если нет желания ждать по 30 минут принудительного завершения процесса. По крайней мере пока не пофиксят, вроде данная проблема значится в списке известных.
А Вы случайно не знаете адрес задачи, за которую нужно проголосовать, чтобы быстрее исправили?
На данный момент открыта — https://support.zabbix.com/browse/ZBX-15602
Спасибо за статью. Для «перманентного» лечения стоит делать так: systemctl edit zabbix-server.service и в открывшемся редакторе внести требуемые изменения в Unit-раздел. Эти исправления попадут в файл /etc/systemd/system/zabbix-server.service.d/override.conf, который не будет «испорчен» при обновлении zabbix.
Спасибо за информацию 🙂 Сейчас этой проблемы возникать вроде не должно, писали что уже исправили данную проблему в релизах версий 3.0.29, 4.0.16 и 4.4.4 хотя народ у кого Postgree вроде еще сталкивается с ней. У меня сейчас 4.2.8, все нормально последний год, хотя не удивлюсь если в 5.2 тоже с этой проблемой столкнусь 🙂