포털에서 로깅 추가 및 Azure 함수 모니터링

완료됨

이제 Azure Functions Maven Archetype을 사용하는 첫 번째 서버리스 웹 함수가 성공적으로 배포되었으므로 회사에서 Azure 애플리케이션 Insights를 사용하여 애플리케이션의 사용량을 분석하는 방법을 연구하려고 합니다.

이 단원에서는 기본 문제 해결 도구로서의 로그 스트리밍과 Azure Functions와 Application Insights 간의 통합에 대해 알아봅니다.

Azure CLI를 사용하여 실시간으로 로그 스트림

함수 앱을 배포하고 실행한 후. 다음 Azure CLI 명령을 사용하여 기본 문제 해결을 위해 앱에서 실시간 로그 스트리밍을 가져올 수 있습니다.

az webapp log tail -n <function app name> -g <resource group name>

함수 앱에 대한 트래픽은 다음 예제와 같이 스트리밍 로그를 생성할 수 있습니다.

Image showing Log Streaming from Azure CLI.

보다 복잡한 문제 해결 및 모니터링 시나리오를 위해 Application Insights가 더 적합합니다.

Application Insights란?

Azure 애플리케이션 Insights는 Azure Monitor에 포함된 APM(애플리케이션 성능 관리) 서비스이며 Azure Functions와 통합됩니다. Application Insights를 사용하면 개발자가 고객이 사용하는 애플리케이션에 대한 라이브 데이터를 보고 분석할 수 있습니다. Application Insights는 포괄적인 도구 세트를 제공하므로 애플리케이션에 영향을 줄 수 있는 문제를 분석하고 대응하는 데 도움이 될 수 있습니다.

Application Insights는 Node.js, Java 또는 .NET에서 개발된 애플리케이션을 지원합니다. 이를 통해 개발 팀은 회사의 애플리케이션을 구조화하고 빌드하는 방법에 더 많은 유연성과 선택을 할 수 있습니다.

Application Insights는 실패한 요청, 서버 응답 시간, 서버 요청 및 가용성에 대한 필수 정보를 제공합니다. Application Insights는 Azure Functions에 대해 기본적으로 사용하도록 설정됩니다. 코드에 원격 분석 추적 지점을 포함하는 경우 Application Insights는 애플리케이션에서 보낸 원격 분석 데이터를 사용할 수도 있습니다.

Java 프로젝트에 계측 추가

Application Insights를 최대한 활용하려면 함수 프로젝트를 업데이트해야 합니다. 다음 두 가지 유형의 변경이 필요합니다.

  • 첫 번째 변경 내용은 Application Insights 및 로깅 지원을 추가하기 위한 구성 업데이트입니다.

    • 프로젝트의 ‘pom.xml’ 파일을 업데이트하여 Application Insights 라이브러리에 대한 종속성을 추가합니다.

    • 프로젝트의 host.json 파일을 업데이트하여 애플리케이션에 대해 로깅 및 Application Insights가 작동하는 방식을 정의하는 매개 변수를 추가합니다.

  • 두 번째 변경 내용은 애플리케이션 보고를 세밀하게 조정할 기회를 제공하는 애플리케이션 코드 수정입니다.

    • Application Insight에서 이벤트 추적을 구현하려면 코드에 추적기를 추가해야 합니다.

    • 추적기는 새 페이지가 선택되는 경우 또는 특정 데이터가 애플리케이션에 저장되는 경우와 같이 코드 실행의 중요한 지점에 추가됩니다.

로깅 및 모니터링 옵션 이해

함수 애플리케이션에서 Application Insights를 사용할 때, 애플리케이션의 모니터링 및 보고를 세밀하게 조정하는 것이 좋습니다. 하지만 Azure가 지원하는 기본 제공 로그에서 애플리케이션 작업에 대한 데이터를 검색할 수도 있습니다.

예를 들어 함수 메뉴에서 로그 스트림을 선택하여 로그 스트리밍사용할 수 있습니다. 그런 다음, 파일 시스템 로그 또는 App Insights 로그를 선택합니다.

Image showing where to find Log Streaming.