Konfigurations-Reload überwachen - soll überwachte Dienste neu starten?

10

Ausführen von Monit 5.4 auf einem Ubuntu-Server. Wenn ich benutze monit reload, scheint es, dass es überwachte Dienste neu startet (Tomcat 7 in dieser Situation). Ist es das erwartete Verhalten? Die Dokumentation sagt :

reload - Initialisiert einen laufenden Monit-Daemon neu. Der Daemon liest seine Konfiguration erneut, schließt die Protokolldateien und öffnet sie erneut.

Ich würde erwarten, dass kein Dienst neu gestartet wird, sondern nur die Konfiguration neu geladen wird. Auf diese Weise kann ich E-Mail-Benachrichtigungen und andere Dinge ändern.

Dies ist die Ausgabe von monit status

The Monit daemon 5.4 uptime: 15h 0m 

Process 'tomcat7'
  status                            Running
  monitoring status                 Monitored
  pid                               38842
  parent pid                        1
  uptime                            14h 30m 
  children                          0
  memory kilobytes                  3445964
  memory kilobytes total            3445964
  memory percent                    10.4%
  memory percent total              10.4%
  cpu percent                       14.8%
  cpu percent total                 14.8%
  port response time                0.018s to localhost:80 [HTTP via TCP]
  data collected                    Tue, 17 Jun 2014 15:39:36

System 'mytiny.company.net'
  status                            Running
  monitoring status                 Monitored
  load average                      [0.32] [0.49] [0.57]
  cpu                               15.5%us 0.2%sy 0.0%wa
  memory usage                      8217684 kB [25.0%]
  swap usage                        14980 kB [0.7%]
  data collected                    Tue, 17 Jun 2014 15:39:36

Und dies ist die Tomcat-Überwachungskonfiguration in monitrc

# Tomcat
check process tomcat7 with pidfile /var/run/tomcat7.pid
start program = "/etc/init.d/tomcat7 restart"
stop program = "/etc/init.d/tomcat7 stop"

if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart

if failed port 80 and protocol http
  then restart
if 5 restarts within 5 cycles then timeout

Der Rest der Datei ist Standard, mit Ausnahme des Prüfintervalls von 60 Sekunden. Tomcat läuft auf 80 Port.

smonff
quelle
Wann bist du das letzte Mal gelaufen monit reload? War es vor 14,5 Stunden?
ewwhite
Ja, das stimmt
smonff
1
Gibt es eine Chance, dass Ihre CPU% -Regeln einen Neustart auslösen? Entfernen Sie die CPU-Regeln und versuchen Sie es erneut.
ewwhite
1
CPU-Regeln waren hier ein Problem.
Smonff
1
Wird die Lösung identifiziert?
Arvindwill

Antworten:

11

Das soll nicht passieren. monit reloadLiest nur die Konfigurationsdatei erneut und übernimmt neue Änderungen. Haben Sie das gleiche Problem, wenn Sie service monit restart?

Woher wissen Sie, dass Tomcat tatsächlich neu gestartet wird?

Bitte fügen Sie die Ausgabe von ein monit status.

ewwhite
quelle
Ich weiß, dass es neu gestartet wird, weil ich sehe, dass es in den Protokollen neu gestartet wird! Die Frage wurde mit der monit statusAusgabe aktualisiert . Ich werde später versuchen, was Sie raten.
Smonff
Veröffentlichen Sie auch Ihre Überwachungskonfiguration.
ewwhite