Tomcat работает? - PullRequest
       13

Tomcat работает?

97 голосов
/ 15 октября 2010

Интересно узнать, как люди обычно проверяют, работает ли Tomcat в среде Unix.

Я либо проверяю, запущен ли процесс, используя

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

или я проверяю, активен ли номер порта

netstat -a | grep 8080

есть ли лучший способ проверить, работает ли Tomcat? Вышеприведенное, кажется, является «хакерским» способом проверки того, что Tomcat работает.

Ответы [ 17 ]

2 голосов
/ 25 октября 2010

Вы пытаетесь настроить систему оповещения?Для простого «сердцебиения» выполните HTTP-запрос к порту Tomcat.

Для более сложного мониторинга вы можете настроить JMX и / или SNMP для просмотра статистики JVM.Мы запускаем Nagios с плагином SNMP (связывает с JMX), чтобы проверять использование памяти Tomcat и запрашивать размер пула потоков каждые 10-15 минут.

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

Обновление (2012):

Мы обновили наши системы, чтобы использовать «monit» для проверки процесса tomcat.Мне это и вправду нравится.При очень небольшой настройке он автоматически проверяет, работает ли служба, и автоматически перезапускается, если это не так.(отправка оповещения по электронной почте).Он может интегрироваться со скриптами /etc/init.d или проверять по имени процесса.

1 голос
/ 23 сентября 2016

Так как мои экземпляры tomcat названы как tomcat_. Например. tomcat_8086, я использую

#

ps aux | grep tomcat

Другой метод использует утилиту nc

nc -l 8086 (номер порта)

Или

ps aux | grep java

0 голосов
/ 10 декабря 2018

tomcat.sh поможет вам легко это понять.

Документ по использованию tomcat.sh говорит:

без аргумента: показать идентификатор процесса tomcat, если он запущен,в противном случае ничего не делать

Итак, запустите команду в командной строке и проверьте pid:

$ tomcat.sh

0 голосов
/ 28 ноября 2017

Вот мои два цента.

У меня несколько экземпляров tomcat, запущенных на разных портах для настройки моего кластера. Я использую следующую команду для проверки каждого процесса, работающего на разных портах.

/sbin/fuser 8080/tcp

Замените номер порта в соответствии с вашими потребностями.

А чтобы завершить процесс, используйте -k в приведенной выше команде.

  • Это намного быстрее, чем способ ps -ef или любые другие команды, где вы вызываете команду и вызываете другую grep поверх нее.
  • Хорошо работает с несколькими установками tomcat, или с любым другим сервером, который фактически использует порт на одном сервере.

Эквивалентная команда в BSD операционных системах: fstat

0 голосов
/ 25 октября 2017

В основном вы хотите проверить

  1. Подключение к вашему экземпляру tomcat
  2. Соберите некоторую базовую статистику
  3. Работает ли процесс Unix

Я оценю первые 2 варианта, поскольку на третий уже получен достаточный ответ.

проще всего просто создать веб-страницу в вашем веб-приложении, которая собирает некоторые основные метрики, и иметь клиента, который может прочитать результаты.или обнаружение проблем с подключением.

Для этого у вас есть несколько проблем

0 голосов
/ 08 сентября 2017

Попробуйте эту команду

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

Возвращает pid, если запущен tomcat.

0 голосов
/ 22 апреля 2016
$ sudo netstat -lpn |grep :8080

Чтобы проверить номер порта

$ ps -aef|grep tomcat

Любой tomcat работает под сервером.

tsssinfotech-K53U infotech # ps -aef|grep tomcat

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...