Назад | Перейти на главную страницу

Monit не запускается автоматически при загрузке

Итак, как говорится в заголовке, у меня проблема, когда monit не запускается при загрузке. У меня есть блок CentOS 7, на котором он запускается, и другой блок CentOS 7, на котором он не запускается, поэтому я знаю, что это не проблема ОС и где-то должна быть проблема конфигурации. Обе коробки построены с использованием бродяги и почти идентичны. Понятия не имею, с чего начать.

Я буду наблюдать за этим вопросом какое-то время, поэтому, пожалуйста, не стесняйтесь попросить меня прояснить что-нибудь, я знаю, что это не так уж много Любая помощь приветствуется.

РЕДАКТИРОВАТЬ: стоит отметить, что я уже пробовал systemctl enable monit но он уже включен.

РЕДАКТИРОВАТЬ 2: (Неактуально)

РЕДАКТИРОВАТЬ 3:

[root@stage-web-1 vagrant]# systemctl status monit
monit.service - Pro-active monitoring utility for unix systems
Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2017-06-01 16:37:00 UTC; 6min ago
Process: 1131 ExecStop=/usr/bin/monit quit (code=exited, status=1/FAILURE)
Process: 1079 ExecStart=/usr/bin/monit -I (code=exited, status=1/FAILURE)
Main PID: 1079 (code=exited, status=1/FAILURE)

Jun 01 16:37:00 stage-web-1 systemd[1]: Started Pro-active monitoring utility for unix systems.
Jun 01 16:37:00 stage-web-1 systemd[1]: Starting Pro-active monitoring utility for unix systems...
Jun 01 16:37:00 stage-web-1 monit[1079]: Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory
Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service: main process exited, code=exited, status=1/FAILURE
Jun 01 16:37:00 stage-web-1 monit[1131]: Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory
Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service: control process exited, code=exited status=1
Jun 01 16:37:00 stage-web-1 systemd[1]: Unit monit.service entered failed state.
Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service failed.

Как оказывается, /var/www/html/nfs это папка, подключенная к сетевому диску через NFS. Monit запускался до NFS, поэтому папка еще не существовала, что приводило к ошибке monit с Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory.

Решением было отредактировать /lib/systemd/system/monit.service:

[Unit]
Description=Pro-active monitoring utility for unix systems
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/monit -I
ExecStop=/usr/bin/monit quit
ExecReload=/usr/bin/monit reload

[Install]
WantedBy=multi-user.target

и добавить nfs.service к After раздел. Конечный результат выглядит так:

[Unit]
Description=Pro-active monitoring utility for unix systems
After=network.target nfs.service

[Service]
Type=simple
ExecStart=/usr/bin/monit -I
ExecStop=/usr/bin/monit quit
ExecReload=/usr/bin/monit reload

[Install]
WantedBy=multi-user.target

Теперь Monit корректно запускается при загрузке :)

Спасибо всем, кто помог мне направить в правильном направлении.