Interesuje mnie, jak ludzie zwykle sprawdzają, czy Tomcat działa w środowisku Unix.
Sprawdzam, czy proces działa przy użyciu
ps -ef | grep java
ps -ef | grep logging
lub sprawdzam, czy numer portu jest aktywny
netstat -a | grep 8080
czy istnieje lepszy sposób sprawdzenia, czy Tomcat działa? Powyższe wydaje się być „hackowym” sposobem sprawdzenia, czy Tomcat działa.
tasklist |find /I "Tomcat" || echo "Tomcat not running"
pliku bat, ale może być konieczne znalezienie javy, a nie Tomcata, w zależności od nazwy procesu.ps aewwx | grep CATALINA_PID
a znajdziesz ją w danych wyjściowych uruchomionego procesu, wśród innych zmiennych środowiskowych. W Debianie 8 ta wartość to: CATALINA_PID = / var / run / tomcat8.pidW moim systemie Linux uruchamiam Tomcat ze skryptem startup.sh. Aby wiedzieć, czy działa, czy nie, używam
Jeśli wynik wyjściowy zawiera całą ścieżkę do mojego folderu tomcat, to jest uruchomiony
źródło
spróbuj tego zamiast tego, a ponieważ wymaga uprawnień roota, użyj sudo
źródło
tomcat7: unrecognized service
netstat -lnp | grep 8080
byłby prawdopodobnie najlepszym sposobem, jeśli znasz port nasłuchiwania Tomcata. Jeśli chcesz mieć pewność, że działa, będziesz musiał nawiązać połączenie, wysłać żądanie HTTP i uzyskać odpowiedź. Możesz to zrobić programowo lub za pomocą dowolnej przeglądarki internetowej.źródło
Możesz sprawdzić status tomcat na następujące sposoby:
To zwróci ścieżkę tomcat, jeśli tomcat jest uruchomiony
gdzie 8080 to port Tomcat
źródło
Jeśli Tomcat jest zainstalowany lokalnie, wpisz następujący adres URL w oknie przeglądarki: {localhost: 8080}
Spowoduje to wyświetlenie strony głównej Tomcat z następującym komunikatem.
Jeśli Tomcat jest zainstalowany na oddzielnym serwerze, możesz wpisać replace localhost przez prawidłową nazwę hosta lub Iess, gdzie jest zainstalowany tomcat.
Powyższe dotyczy instalacji standardowej, w której Tomcat używa domyślnego portu 8080
źródło
wget url
lubcurl url
gdzie url to adres URL serwera tomcat, który powinien być dostępny, na przykład:wget http://localhost:8080
. Następnie sprawdź kod zakończenia, jeśli jest 0 - tomcat działa.źródło
Utwórz skrypt powłoki, który sprawdza, czy tomcat działa, czy nie działa, i ustaw crona dla sh, aby sprawdzał co kilka minut, i automatycznie uruchom tomcat, jeśli jest wyłączony. Przykładowy fragment kodu poniżej
źródło
Uważam, że Tomcat jest dość wybredny, ponieważ działający proces lub otwarty port niekoniecznie oznacza, że faktycznie obsługuje żądania. Zwykle próbuję pobrać znaną stronę i porównać jej zawartość z wcześniej obliczoną wartością oczekiwaną.
źródło
zawsze to robię
Kiedy tam zobaczę
wtedy wiem, że serwer działa.
źródło
Czy próbujesz skonfigurować system alertów? Aby uzyskać proste „pulsowanie”, wyślij żądanie HTTP do portu Tomcat.
Aby uzyskać bardziej szczegółowe monitorowanie, możesz skonfigurować JMX i / lub SNMP, aby wyświetlać statystyki maszyny JVM. Uruchamiamy Nagios z wtyczką SNMP (mosty do JMX), aby sprawdzić użycie pamięci Tomcat i zażądać rozmiaru puli wątków co 10-15 minut.
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Aktualizacja (2012):
Zaktualizowaliśmy nasze systemy, aby używały „monit” do sprawdzania procesu tomcat. Naprawdę to lubie. Przy bardzo małej konfiguracji automatycznie sprawdza, czy usługa jest uruchomiona, i automatycznie uruchamia się ponownie, jeśli nie jest. (wysyłanie powiadomienia e-mail). Może integrować się ze skryptami /etc/init.d lub sprawdzać po nazwie procesu.
źródło
Ponieważ moje instancje tomcat są nazywane tomcat_. Na przykład. tomcat_8086, używam
#
Inną metodą jest użycie narzędzia nc
nc -l 8086
(numer portu )Lub
ps aux | grep java
źródło
Spróbuj tego polecenia
Zwróci pid, jeśli Tomcat jest uruchomiony.
źródło
Aby sprawdzić numer portu
Czy na serwerze działa jakiś kocur.
źródło
Zasadniczo chcesz przetestować
Ocenię pierwsze 2 opcje, ponieważ trzecia została już wystarczająco dobrze odebrana.
Najprościej jest po prostu stworzyć stronę internetową w swojej aplikacji internetowej, która zbiera podstawowe wskaźniki i mieć klienta, który może odczytać wyniki lub wykryć problemy z łącznością.
Aby to zrobić, masz kilka problemów
źródło
Oto moje dwa centy.
Mam wiele instancji Tomcat działających na różnych portach dla mojej konfiguracji klastra. Używam następującego polecenia, aby sprawdzić każdy proces działający na różnych portach.
Zmień numer portu zgodnie z potrzebami.
Aby zabić proces, użyj
-k
powyższego polecenia.ps -ef
sposób lub jakiekolwiek inne polecenia, w których wywołujesz polecenie i wywołujesz innegrep
.Równoważne polecenie w
BSD
systemach operacyjnych tofstat
źródło
tomcat.sh
pomaga ci to łatwo poznać.Dokument użycia tomcat.sh mówi:
Więc uruchom polecenie w wierszu polecenia i sprawdź pid:
$ tomcat.sh
źródło