Введение
В этом разделе мы рассмотрим основные понятия мониторинга приложений 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.