Введение

Завершено

В этом разделе мы рассмотрим основные понятия мониторинга приложений Java.

Для чего необходим мониторинг?

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

Формы мониторинга

Мониторинг обычно имеет четыре формы.

  • Журналы: постоянные, неизменяемые записи событий, хранящиеся в согласованном табличном формате, если не в полной базе данных. Событие может указывать на одно из многих условий, в том числе:

    • Изменение состояния отслеживаемого компонента (например, с "занят" на "доступно").
    • Выполнение задачи или последовательности инструкций.
    • Важный этап передачи данных по сети или доступность единиц в сети.
    • Ошибка, которая в этом контексте является поведением, на обработку которого система или приложение не были запрограммированы.
  • Метрики : значения, представляющие относительную работоспособность, стабильность и доступность службы или приложения или инфраструктуры, на котором она размещена.

  • Трассировки : записи путей выполнения для программ и служб, особенно в высокораспространяемой системе, указывая последовательность инструкций, которые могли активироваться (напрямую или косвенно) событием.

  • Оповещения: оповещения заранее уведомляют вас о проблемах с инфраструктурой или приложением. Они позволяют выявить и устранить проблемы, прежде чем пользователи системы обнаружат их.

Платформы мониторинга Azure

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

Log Analytics — это средство в портал Azure для редактирования и выполнения запросов журналов из собранных журналов Azure Monitor и интерактивного анализа результатов. Запросы Log Analytics можно использовать для извлечения записей, соответствующих определенным условиям, определения тенденций, анализа шаблонов и предоставления разнообразных сведений о данных.

Application Insights — это компонент Azure Monitor, являющийся расширяемой службой управления производительностью приложений (APM) для разработчиков и DevOps-специалистов. Он автоматически обнаруживает аномалии производительности и включает средства аналитики, которые помогут вам диагностировать проблемы и понять, что пользователи на самом деле делают с приложением.

Оповещения Azure Monitor: данные мониторинга также могут быть отправлены в другие расположения для поддержки определенных сценариев, а некоторые ресурсы могут записываться в другие расположения до их сбора в журналы или метрики.

  • Оповещение на основе метрики инициируется при превышении определенного порогового значения. Например, оповещение на основе метрики может уведомлять вас о том, что загрузка ЦП превышает 95 %.
  • Оповещения для журнала инициируются при записи информации в файл журнала. Например, оповещение для журнала может уведомлять вас о том, что веб-сервер вернул несколько ответов 404 или 500.

Вы можете отслеживать приложения, службы и инфраструктуру Azure с помощью любых систем мониторинга, таких как Elastic Stack, Splunk, New Relic, Dynatrace и App Dynamics. Однако в этом модуле мы сосредоточимся на Azure Monitor, Log Analytics и Application Insights.