正如标题所述,我有一个问题,monit不会在启动时启动。 我有一个CentOS 7的盒子,它启动,另一个CentOS 7盒子,它不启动,所以我知道这不是一个操作系统的问题,必须是一个configuration问题的地方。 这两个箱子都是用stream浪者build造的,几乎完全相同。 我不知道从哪里开始。
我会一直在看这个问题,所以请随时请我澄清一下,我知道这并不多。 任何帮助表示赞赏。
编辑:值得注意的是,我已经尝试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.
事实certificate, /var/www/html/nfs是通过NFS挂载到networking驱动器的文件夹。 Monit是在NFS之前启动的,所以这个文件夹还没有存在,导致monit错误, Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory 。
解决scheme是编辑/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现在开机正确启动:)
感谢所有帮助我朝正确方向发展的人。