Гид по технологиям

Как мониторить и управлять Apache Tomcat

7 min read Мониторинг. Обновлено 19 Sep 2025
Мониторинг и управление Apache Tomcat
Мониторинг и управление Apache Tomcat

Кратко: это подробное руководство по добавлению Apache Tomcat в инвентаризацию мониторинга Verax NMS, настройке датчиков на базе JMX и HTTP, сбору счётчиков производительности и созданию оповещений. Плюс — методики устранения неполадок, чек-листы ролей и рекомендации по безопасности.

Введение

Это руководство показывает, как мониторить и управлять сервером приложений Apache Tomcat с использованием Verax NMS (бесплатная версия) и стандартных средств JMX/HTTP. Материал включает пошаговые инструкции по добавлению инстанса Tomcat в инвентарь, настройке датчиков (sensors), шаблонов счётчиков производительности, созданию политик оповещений и базовой безопасности.

Коротко о терминах:

  • JMX — Java Management Extensions, протокол и API для мониторинга JVM и приложений.
  • Датчик (sensor) — активный монитор, периодически опрашивающий сервис и определяющий его доступность.
  • Счётчик производительности (performance counter) — метрика, собираемая для отображения трендов и построения графиков.

Источники и инструменты:

Добавление Apache Tomcat в инвентарь устройства

Цель: зарегистрировать экземпляр Tomcat как приложение на устройстве, где он запущен. Система Verax NMS поддерживает несколько инстансов одного типа на одном устройстве.

Шаги:

  1. Войдите в Verax NMS и выберите Home в основном меню.
  2. В дереве аспектов (aspect tree) слева выберите устройство, на котором работает Tomcat.

Дерево аспектов с устройствами и приложениями

  1. Во вкладке Summary выберите действие “Manage applications” в секции действий.

Кнопка добавления приложения в интерфейсе Verax NMS

  1. В появившемся диалоге выберите Add application и нажмите Go.

Диалог добавления приложения

  1. Выберите Apache Tomcat в списке типов приложений и заполните параметры инстанса:
    • Instance name — имя инстанса для инвентаризации.
    • Host — адрес хоста (обычно IP-адрес устройства).
    • Port — порт, на котором работает сервер приложений.
    • User / Password — учётные данные для подключения (если требуется).
    • JMX Connection — URL JMX-подключения (например, service:jmx:rmi:///jndi/rmi://:/jmxrmi).
    • JMX User / JMX Password — учётные данные JMX (если включена аутентификация).

Заметка: набор параметров зависит от выбранного типа приложения.

  1. Нажмите Save changes.
  2. Система может предложить добавить набор датчиков и счётчиков по умолчанию. В этом руководстве мы добавляем датчики вручную — выберите No.
  3. После сохранения новый инстанс будет виден в дереве аспектов в категории Managed Applications.

Инстанс Tomcat в дереве аспектов

Способы мониторинга инстанса Tomcat в Verax NMS:

  • Show advanced view — получение актуальной информации и статистики по запросу.
  • Сбор метрик через счётчики JMX (JMX counter) или преднастроенные шаблоны JMX.
  • Проверка доступности приложения через JMX-датчики.
  • Проверка веб-приложения и измерение пользовательского опыта через HTTP-датчики.

Настройка датчиков для Apache Tomcat

Tomcat предоставляет данные мониторинга через JMX. Перед добавлением датчиков убедитесь, что JMX включён и доступен на сервере Tomcat. На стороне сервера JVM нужно передать параметры при старте.

Пример параметров для Windows/Catalina (сохраните синтаксис как в документации):

set CATALINA_OPTS=-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false

Подробности см. в официальной документации Tomcat: http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

Как работают датчики:

Датчики — это периодически выполняемые проверки. Если сервис отвечает ожидаемым образом, он считается доступным; при тайм-ауте или несоответствии — недоступным.

Типы датчиков по умолчанию для приложения Apache Tomcat:

  • JMX Operation — вызывает операцию MBean через JMX и проверяет, возвращается ли результат.
  • JMX Attribute — читает атрибут MBean и проверяет наличие значения.
  • HTTP — проверяет, возвращает ли HTTP/HTTPS-адрес ожидаемый код ответа и (по необходимости) соответствует ли тело ответа регулярному выражению.

Добавление датчика в интерфейсе:

  1. В дереве аспектов выберите устройство.
  2. Откройте вкладку Monitors и переключитесь на список датчиков (Sensor list).
  3. Нажмите Add в глобальном меню действий и Go — откроется мастер добавления.

Мастер добавления датчика

  1. Выберите нужный тип датчика и Next.

Выбор типа датчика

  1. Заполните параметры датчика в диалоге и нажмите Finish.
  2. Добавленные датчики появятся в списке на вкладке Monitors.

Рекомендации по выбору датчиков и счётчиков

  • Доступность критичных сервисов: HTTP-датчик на URL health-check приложения.
  • JVM-здоровье: счётчики heap/non-heap, GC pauses (через JMX).
  • Пул соединений и состояние контейнера сервлетов: количество активных сессий, размер пула JDBC.
  • Трафик и ошибки: счётчики HTTP-статусов, latency (время ответа).

Важно: баланс между частотой опроса и нагрузкой. Частые опросы дают более свежие данные, но увеличивают нагрузку на мониторинг и сам Tomcat.

Настройка оповещений и политик тревог

Оповещения должны соответствовать SLA и ролям команды. Примеры:

  • Критический: полная недоступность приложений или длительный GC, приводящий к тайм-аутам.
  • Важный: рост числа 5xx ответов или увеличение времени ответа выше порога.
  • Информационный: периодические ошибки аутентификации, пики нагрузки.

Практика:

  • Используйте эскалацию: уведомление по e-mail → push → звонок для критических инцидентов.
  • На этапе настройки тестируйте правила на тренировочном окружении.

Обзор плагина Tomcat в Verax NMS

Плагин предоставляет шаблоны JMX-счётчиков и готовые датчики для основных MBean Tomcat. Он упрощает начальную конфигурацию, но рекомендуется адаптировать шаблоны под специфику вашего приложения.

Устранение неполадок (Troubleshooting)

Симптом: датчик JMX не возвращает данные. Проверки:

  • Доступен ли порт JMX с сервера Verax NMS (проверка сетевого доступа/файервола).
  • Правильный ли JMX URL: service:jmx:rmi:///jndi/rmi://:/jmxrmi.
  • Включена ли аутентификация JMX (если да — заданы верные учётные данные).
  • Посмотрите логи Tomcat и JVM на предмет ошибок при инициализации JMX.

Симптом: высокий latency HTTP-датчика. Проверки:

  • Нагрузка на приложение (CPU, GC, потоковые блокировки).
  • Ошибки в логах приложения (например, долгие запросы к БД).
  • Сетевая задержка между мониторинговым узлом и приложением.

Методика (mini-methodology) для ввода в эксплуатацию мониторинга

  1. Инвентаризация: перечислите все инстансы Tomcat и их роли (prod, staging, test).
  2. Базовый мониторинг: добавьте HTTP health-check и JMX-счётчики JVM.
  3. Настройка оповещений: определите уровни и каналы оповещений.
  4. Тест: смоделируйте отказ и проверьте срабатывание оповещений.
  5. Улучшение: добавьте метрики приложения и бизнес-метрики.

Чек-листы по ролям

Операционной команде:

  • Проверить доступность JMX-порта и корректность URL.
  • Настроить базовые датчики («здоровье», JVM, HTTP).
  • Наладить оповещения и эскалацию.

Разработчикам:

  • Обеспечить метрики приложения через MBeans или endpoint health.
  • Документировать зависимости (БД, очереди) и их пороговые значения.

SRE/архитекторам:

  • Определить SLI/SLO для веб-приложений и JVM.
  • Настроить ретеншн метрик и план реагирования на инциденты.

Плейбук: добавление нового инстанса Tomcat в мониторинг (SOP)

  1. Проверьте, что инстанс зарегистрирован в CMDB и указаны контакты владельца.
  2. Добавьте приложение в Verax NMS, заполните JMX URL и учётные данные.
  3. Добавьте базовые датчики: HTTP health, JMX Attribute (HeapMemoryUsage), JMX Operation (ThreadDump при необходимости).
  4. Настройте графики для критичных метрик (heap, GC, active threads).
  5. Создайте правила оповещений и протестируйте их.
  6. Документируйте конфигурацию в репозитории знаний.

Инцидентный план и откат

При полной недоступности сервиса:

  1. Проверка состояния хоста (CPU, память, дисковое пространство).
  2. Проверка сети и файерволов между мониторинговым хостом и Tomcat.
  3. Перезапуск сервиса Tomcat (если подтверждена блокировка) на менее загруженном ноде.
  4. Откат к последнему стабильному билду (если проблема связана с релизом).
  5. После восстановления — постинцидентный разбор, обновление playbook.

Критерии приёмки

  • Инстанс Tomcat отображается в дереве Managed Applications.
  • Минимальные датчики (HTTP health, JVM heap) добавлены и возвращают данные.
  • Оповещения тестированы и доставляются в каналы ответственных лиц.
  • Документация процесса добавления и контактные лица доступны в runbook.

Примеры конфигураций и сниппеты

Пример JMX URL (RMI):

  • service:jmx:rmi:///jndi/rmi://tomcat-host.example.com:9000/jmxrmi

Пример полей датчика HTTP:

Полезные MBean-имена (ориентир):

  • java.lang:type=Memory — метрики памяти JVM
  • Catalina:type=ThreadPool,name=”http-nio-8080” — пул потоков Tomcat
  • Catalina:type=GlobalRequestProcessor,name=”http-nio-8080” — статистика HTTP

Альтернативные подходы

  • Prometheus + JMX Exporter: экспорт JMX-метрик в Prometheus, визуализация в Grafana.
  • Jolokia: HTTP-адаптер для JMX, упрощает доступ к MBeans через JSON/HTTP.
  • Коммерческие APM: New Relic, Dynatrace — дают глубокий анализ трассировок и распределённых транзакций.

Когда эти подходы не подходят: если необходимо минимальное по накладным средство и нет возможности разворачивать дополнительные сервисы, то встроенные JMX-датчики в Verax NMS остаются простым выбором.

Безопасность и конфиденциальность

  • Не оставляйте JMX без аутентификации в проде. Включите jmxremote.authenticate=true и используйте SSL.
  • Разрешите доступ к JMX только с доверенных IP через файервол.
  • Логи и метрики могут содержать персональные данные — применяйте маскирование/ретеншн согласно политике конфиденциальности и GDPR.

Модели зрелости мониторинга

  • Нулевой уровень: ручные проверки, нет метрик.
  • Базовый: доступность и базовые JVM-метрики.
  • Промежуточный: алерты по ключевым SLA, графики и тренды.
  • Продвинутый: трассировка запросов, корреляция событий, автоматические ремедиации.

Частые ошибки и когда мониторинг даёт ложные срабатывания

  • Неправильно настроенные пороги для пиковой нагрузки — приводит к шуму в алертах.
  • Слишком частые опросы создают нагрузку на инфраструктуру.
  • Использование одного датчика для нескольких сервисов — затрудняет локализацию проблемы.

Резюме

Мониторинг Apache Tomcat включает корректную настройку JMX, добавление HTTP-датчиков и создание счётчиков производительности. Важно балансировать частоту опроса и объём собираемых метрик, настраивать осмысленные оповещения и обеспечивать безопасность доступа к JMX. Применяйте чек-листы при вводе инстанса в эксплуатацию и ведите документацию для быстрого реагирования на инциденты.

Важное

  • Тестируйте оповещения в безопасной среде перед продакшеном.
  • Всегда включайте аутентификацию и ограничение доступа к JMX в продакшен-средах.

Конец руководства.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Панель полей PivotTable в Excel — руководство
Excel

Панель полей PivotTable в Excel — руководство

Включить новый Пуск в Windows 11 — инструкция
Windows

Включить новый Пуск в Windows 11 — инструкция

Как убрать дубликаты Диспетчера задач Windows 11
Windows

Как убрать дубликаты Диспетчера задач Windows 11

Как просмотреть историю просмотров Reels в Instagram
Социальные сети

Как просмотреть историю просмотров Reels в Instagram