Est Tomcat en cours d'exécution?

S'intéresse à savoir comment les gens vérifient habituellement si Tomcat tourne sur un environnement Unix.

soit je vérifie que le processus fonctionne en utilisant

ps -ef | grep java
ps -ef | grep logging

ou je vérifie que le numéro de port est actif

netstat -a | grep 8080

y a-t-il un meilleur moyen de vérifier que Tomcat court? Ce qui précède semble être une façon "hacky" de vérifier que Tomcat est en cours d'exécution.

87
demandé sur ziggy 2010-10-15 20:25:23

16 réponses

pourquoi grep ps , alors que le pid a été écrit dans le fichier $CATALINA_PID ?

j'ai un script cron 'd checker qui envoie un e-mail quand tomcat est en panne:

kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
    echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi

je suppose que vous pouvez également utiliser wget pour vérifier la santé de votre tomcat. Si vous avez une page de diagnostic avec la charge de l'utilisateur etc, Vous pouvez le récupérer périodiquement et le Parser pour déterminer si quelque chose va mal.

49
répondu dogbane 2015-12-31 18:02:48

sur mon système linux, je démarre Tomcat avec le startup.sh script. Pour savoir s'il fonctionne ou non, j'utilise

ps -ef | grep tomcat  

si le résultat de sortie contient le chemin complet vers mon dossier tomcat, alors il s'exécute

68
répondu Thai Tran 2012-08-09 04:23:43

essayez ceci à la place et parce qu'il a besoin de privilèges root utiliser sudo

sudo service tomcat7 status
58
répondu Kemboi 2014-02-06 20:58:24

netstat -lnp | grep 8080 serait probablement le meilleur moyen, si vous connaissez le port d'écoute de Tomcat. Si vous voulez être certain que is est fonctionnel, vous devrez établir une connexion et envoyer une requête HTTP et obtenir une réponse. Vous pouvez le faire de manière programmatique, ou en utilisant n'importe quel navigateur web.

11
répondu Michael Goldshteyn 2017-09-25 06:52:13

Si tomcat est installé localement, tapez l'url suivante dans une fenêtre de navigateur: {localhost: 8080 }

cela affichera la page D'accueil de Tomcat avec le message suivant.

si vous voyez cela, vous avez installé Tomcat avec succès. Félicitations!

si tomcat est installé sur un serveur séparé, vous pouvez taper remplacer localhost par un nom d'hôte ou Iess valide où tomcat est installer.

ce qui précède s'applique à une installation standard dans laquelle tomcat utilise le port par défaut 8080

9
répondu Lokanath 2013-03-10 00:10:53

vous pouvez vérifier le statut de tomcat avec les moyens suivants:

ps -ef | grep tomcat  

cela retournera le chemin tomcat si le tomcat est en cours d'exécution

netstat -a | grep 8080

où 8080 est le port tomcat

5
répondu Dhanish Jose 2014-01-03 07:27:46

wget url ou curl url où url est l'url du serveur tomcat qui devraient être disponibles, par exemple: wget http://localhost:8080 . Ensuite, vérifiez le code de sortie, s'il est 0 - tomcat est en place.

4
répondu Dikla 2016-01-28 07:12:27

J'ai trouvé que Tomcat est assez délicat dans le fait qu'un processus en cours d'exécution ou un port ouvert ne signifie pas nécessairement qu'il traite effectivement les requêtes. J'essaie habituellement de saisir une page connue et de comparer son contenu avec une valeur attendue précalculée.

3
répondu Alex Howansky 2010-10-15 16:33:03

je fais toujours de

tail -f logs/catalina.out

Quand je vois

INFO: Server startup in 77037 ms

alors je sais que le serveur est activé.

3
répondu konkit 2014-07-02 08:59:56

crée un script Shell qui vérifie si tomcat est en haut ou en bas et définit un cron pour sh pour le faire vérifier toutes les quelques minutes, et auto start tomcat si down. Exemple d'extrait de code en dessous de

TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print }')
echo TOMCAT PROCESSID $TOMCAT_PID

if [ -z "$TOMCAT_PID" ]
then
    echo "TOMCAT NOT RUNNING"
    sudo /opt/tomcat/bin/startup.sh
else
   echo "TOMCAT RUNNING"
fi
3
répondu Devendra Dora 2018-03-28 05:43:31

essayez-vous de mettre en place un système d'alerte? Pour un simple "heartbeat", faites une requête HTTP vers le port Tomcat.

pour une surveillance plus élaborée, vous pouvez configurer JMX et/ou SNMP pour voir les statistiques JVM. Nous exécutons Nagios avec le plugin SNMP (bridges to JMX) pour vérifier L'utilisation de la mémoire Tomcat et demander la taille du pool de threads toutes les 10-15 minutes.

http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

Mise à jour (2012):

nous avons mis à niveau nos systèmes pour utiliser" monit " pour vérifier le processus tomcat. Je l'aime vraiment. Avec très peu de configuration, il vérifie automatiquement que le service est en cours d'exécution, et redémarre automatiquement s'il ne l'est pas. (envoi d'un email d'alerte). Il peut s'intégrer dans le fichier /etc/init.d scripts ou vérification par nom de processus.

2
répondu Will Glass 2012-08-18 21:25:59

puisque mes instances tomcat sont nommées tomcat_ . Exemple. tomcat_8086, j'utilise

#

ps aux | grep tomcat

autre méthode utilisant l'utilité nc

nc -l 8086 (numéro de port)

ou

ps aux | grep java

1
répondu Himanshu Chauhan 2017-06-16 12:17:03
$ sudo netstat -lpn |grep :8080

pour vérifier le numéro de port

$ ps -aef|grep tomcat

est tout tomcat tournant sous le serveur.

tsssinfotech-K53U infotech # ps -aef|grep tomcat

root 9586 9567 0 11: 35 pts/6 00:00: 00 grep --colour=auto tomcat

0
répondu Batchu Bhargava 2016-04-22 06:22:54

essayez cette commande

ps -ef | awk '/[t]omcat/{print }' 

il retournera le pid si tomcat est en cours d'exécution.

0
répondu Alin 2017-09-08 09:28:50

Fondamentalement, vous voulez tester

  1. la Connectivité de votre tomcat instance
  2. rassembler quelques statistiques de base
  3. si le processus unix fonctionne

je vais évaluer les deux premières options car la troisième a déjà reçu suffisamment de réponses.

le plus facile est juste de développer une page Web sur votre WebApp qui rassemble quelques paramètres de base, et avoir un client que peut lire les résultats ou détecter les problèmes de connectivité.

Pour ce faire, vous disposez de plusieurs questions

0
répondu YoYo 2017-10-25 18:11:51

Voici mes deux cents.

j'ai plusieurs instances tomcat qui fonctionnent sur différents ports pour ma configuration de cluster. J'utilise la commande suivante pour vérifier chaque processus tournant sur des ports différents.

/sbin/fuser 8080/tcp

remplacer le numéro de port selon vos besoins.

et pour tuer le processus utiliser -k dans la commande ci-dessus.

  • autres commandes où vous appelez une commande et appelez une autre grep en haut de celle-ci.
  • fonctionne bien avec plusieurs installations de tomcat ,ou tout autre serveur qui utilise un port comme une question de fait courant sur le même serveur.

la commande équivalente sur BSD systèmes d'exploitation est fstat

0
répondu Raja Anbazhagan 2017-12-10 04:54:29