[英]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.