Interessiert zu wissen, wie Benutzer normalerweise überprüfen, ob Tomcat in einer Unix-Umgebung ausgeführt wird.
Ich überprüfe entweder, ob der Prozess mit ausgeführt wird
ps -ef | grep java
ps -ef | grep logging
oder ich überprüfe, ob die Portnummer aktiv ist
netstat -a | grep 8080
Gibt es eine bessere Möglichkeit, um zu überprüfen, ob Tomcat ausgeführt wird? Das Obige scheint eine "hackige" Methode zu sein, um zu überprüfen, ob Tomcat ausgeführt wird.
tasklist |find /I "Tomcat" || echo "Tomcat not running"
in der Art einer Bat-Datei tun , aber Sie müssen möglicherweise Java finden, nicht Tomcat, je nachdem, wie der Prozessname lautet.ps aewwx | grep CATALINA_PID
und Sie finden ihn unter anderen Umgebungsvariablen in der Ausgabe für den laufenden Prozess. In Debian 8 ist dieser Wert: CATALINA_PID = / var / run / tomcat8.pidAuf meinem Linux-System starte ich Tomcat mit dem Skript startup.sh. Um zu wissen, ob es läuft oder nicht, benutze ich
Wenn das Ausgabeergebnis den gesamten Pfad zu meinem Tomcat-Ordner enthält, wird es ausgeführt
quelle
Versuchen Sie dies stattdessen und verwenden Sie sudo, da Root-Berechtigungen erforderlich sind
quelle
tomcat7: unrecognized service
netstat -lnp | grep 8080
wäre wahrscheinlich der beste Weg, wenn Sie Tomcats Abhörport kennen. Wenn Sie sicher sein möchten, dass dies funktioniert, müssen Sie eine Verbindung herstellen, eine HTTP-Anfrage senden und eine Antwort erhalten. Sie können dies programmgesteuert oder mit einem beliebigen Webbrowser tun.quelle
Sie können den Status von Tomcat auf folgende Weise überprüfen:
Dies gibt den Tomcat-Pfad zurück, wenn der Tomcat ausgeführt wird
Dabei ist 8080 der Tomcat-Port
quelle
Wenn Tomcat lokal installiert ist, geben Sie die folgende URL in ein Browserfenster ein: {localhost: 8080}
Daraufhin wird die Tomcat-Startseite mit der folgenden Meldung angezeigt.
Wenn tomcat auf einem separaten Server installiert ist, können Sie replace localhost durch einen gültigen Hostnamen oder Iess eingeben, auf dem tomcat installiert ist.
Dies gilt für eine Standardinstallation, bei der Tomcat den Standardport 8080 verwendet
quelle
wget url
odercurl url
wobei url eine URL des Tomcat-Servers ist, die verfügbar sein sollte, zum Beispiel :wget http://localhost:8080
. Überprüfen Sie dann den Exit-Code, wenn er 0 ist - Tomcat ist aktiv.quelle
Erstellen Sie ein Shell-Skript, das überprüft, ob Tomcat aktiv oder inaktiv ist, und legen Sie einen Cron für sh fest, damit es alle paar Minuten überprüft wird, und starten Sie Tomcat automatisch, wenn es inaktiv ist. Beispiel eines Codeausschnitts unten
quelle
Ich habe festgestellt, dass Tomcat ziemlich pingelig ist, da ein laufender Prozess oder ein offener Port nicht unbedingt bedeutet, dass tatsächlich Anforderungen verarbeitet werden. Normalerweise versuche ich, eine bekannte Seite zu erfassen und ihren Inhalt mit einem vorberechneten erwarteten Wert zu vergleichen.
quelle
mache ich immer
Wenn ich dort sehe
dann weiß ich, dass der Server aktiv ist.
quelle
Versuchen Sie, ein Warnsystem einzurichten? Führen Sie für einen einfachen "Herzschlag" eine HTTP-Anforderung an den Tomcat-Port aus.
Für eine detailliertere Überwachung können Sie JMX und / oder SNMP so einrichten, dass JVM-Statistiken angezeigt werden. Wir führen Nagios mit dem SNMP-Plugin (Bridges to JMX) aus, um die Speichernutzung von Tomcat zu überprüfen und die Größe des Thread-Pools alle 10-15 Minuten anzufordern.
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Update (2012):
Wir haben unsere Systeme so aktualisiert, dass sie "monit" verwenden, um den Tomcat-Prozess zu überprüfen. Ich mag es wirklich. Mit sehr wenig Konfiguration wird automatisch überprüft, ob der Dienst ausgeführt wird, und automatisch neu gestartet, wenn dies nicht der Fall ist. (Senden einer E-Mail-Benachrichtigung). Es kann in die Skripte /etc/init.d integriert oder anhand des Prozessnamens überprüft werden.
quelle
Da meine Tomcat-Instanzen als tomcat_ bezeichnet werden. Beispielsweise. tomcat_8086 benutze ich
#
Eine andere Methode ist die Verwendung des Dienstprogramms nc
nc -l 8086
(Port-Nummer )Oder
ps aux | grep java
quelle
Versuchen Sie diesen Befehl
Es wird die PID zurückgeben, wenn Tomcat ausgeführt wird.
quelle
So überprüfen Sie die Portnummer
Wird ein Kater unter dem Server ausgeführt?
quelle
Grundsätzlich möchten Sie testen
Ich werde die ersten beiden Optionen bewerten, da die dritte bereits ausreichend beantwortet wurde.
Am einfachsten ist es, auf Ihrer WebApp eine Webseite zu entwickeln, auf der einige grundlegende Messdaten erfasst werden, und einen Client zu haben, der die Ergebnisse lesen oder Konnektivitätsprobleme erkennen kann.
Dafür haben Sie mehrere Probleme
quelle
Hier sind meine zwei Cent.
Ich habe mehrere Tomcat-Instanzen, die für mein Cluster-Setup an verschiedenen Ports ausgeführt werden. Ich verwende den folgenden Befehl, um jeden Prozess zu überprüfen, der an verschiedenen Ports ausgeführt wird.
Ersetzen Sie die Portnummer gemäß Ihren Anforderungen.
Und um den Prozess abzubrechen, verwenden Sie
-k
den obigen Befehl.ps -ef
Weg oder andere Befehle, bei denen Sie einen Befehl aufrufen und einen anderen darüber aufrufengrep
.Der entsprechende Befehl unter
BSD
Betriebssystemen lautetfstat
quelle
tomcat.sh
hilft Ihnen, dies leicht zu wissen.Das Verwendungsdokument von tomcat.sh lautet:
Führen Sie den Befehl an Ihrer Eingabeaufforderung aus und suchen Sie nach pid:
$ tomcat.sh
quelle