Centos7

Monit不會在啟動時自動啟動

  • June 2, 2017

因此,正如標題所述,我遇到了一個問題,即 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 現在在啟動時正確啟動 :)

感謝所有幫助我朝著正確方向前進的人。

引用自:https://serverfault.com/questions/853077