簡體   English   中英

監視/失敗時重新啟動服務

[英]Monit / restart service when failed

我有一個服務,這是一個偵聽端口7000的服務器。

我想驗證該服務始終處於啟動狀態,當它失敗時,我想再次啟動它。

我在/etc/monit.d/myserver中寫了下一個腳本

check process myserver with pidfile /var/run/myserver.pid
    start program = "/etc/init.d/myserver start" with timeout 5 seconds
    stop program  = "/etc/init.d/myserver stop" with timeout 5 seconds
    if failed host 127.0.0.1 port 7000
        protocol HTTP request /testcheck then restart
    if 5 restarts within 5 cycles then timeout

但是我注意到,即使進程正在運行,它也會重新啟動服務,並在日志中提供以下信息:

EST Dec 18 03:05:13] error    : HTTP: error receiving data -- Resource temporarily unavailable
[EST Dec 18 03:05:13] error    : 'myserver ' failed protocol test [HTTP] at INET[127.0.0.1:7000] via TCP
[EST Dec 18 03:05:13] info     : 'myserver ' trying to restart
[EST Dec 18 03:05:13] info     : 'myserver ' stop: /etc/init.d/myserver 
[EST Dec 18 03:05:14] info     : 'myserver ' start: /etc/init.d/myserver 

如何正確檢查它,以便僅在服務關閉時才能重新啟動它?

我遇到了同樣的問題,最后我發現我沒有正確運行monit守護進程,請看一下這篇文章: 如果進程停止,請在Monit中重新運行進程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM