Azure Container Apps에서 스토리지 및 모니터링 로그 옵션
Azure Container Apps는 애플리케이션 로그를 저장하고 보기 위한 옵션을 제공합니다. 로깅 옵션은 로그 대상을 선택하는 Container Apps 환경에서 구성됩니다.
Container Apps 애플리케이션 로그는 두 가지 범주로 구성됩니다.
- 컨테이너 콘솔 출력(
stdout
/stderr
) 메시지. - Azure Container Apps에서 생성된 시스템 로그.
- Spring 앱 콘솔 로그.
다음 로그 대상 중에서 선택할 수 있습니다.
- Log Analytics: Azure Monitor Log Analytics는 기본 스토리지 및 보기 옵션입니다. 로그는 Log Analytics 쿼리를 사용하여 보고 분석할 수 있는 Log Analytics 작업 영역에 저장됩니다. Log Analytics에 대한 자세한 내용은 Azure Monitor Log Analytics를 참조하세요.
- Azure Monitor: Azure Monitor는 로그를 하나 이상의 대상으로 라우팅합니다.
- 보기 및 분석을 위한 Log Analytics 작업 영역
- 보관할 Azure Storage 계정
- 데이터 수집 및 분석 서비스를 위한 Azure 이벤트 허브 자세한 내용은 Azure Event Hubs를 참조하세요.
- Datadog, Elastic, Logz.io 등의 Azure 파트너 모니터링 솔루션 자세한 내용은 파트너 솔루션을 참조하세요.
- 로그를 저장하지 마세요. 로그 데이터의 스토리지를 사용하지 않도록 설정할 수 있습니다. 사용하지 않도록 설정해도 컨테이너 앱의 로그 스트림 기능을 통해 실시간 컨테이너 로그를 볼 수 있습니다. 자세한 내용은 로그 스트리밍을 참조하세요.
로그를 저장하지 않거나 Azure Monitor 대상을 선택하면 Azure Portal에서 Log Analytics 쿼리 편집기를 제공하는 로그 메뉴 항목이 비활성화됩니다.
Azure portal을 통한 옵션 구성
다음 단계를 사용하여 Azure Portal에서 Container Apps 환경에 대한 로깅 옵션을 구성합니다.
- 포털의 Container Apps 환경 창에서 로깅 옵션으로 이동합니다.
- 다음 로그 대상 옵션에서 선택할 수 있습니다.
- Log Analytics: 이 옵션을 사용하면 Log Analytics 작업 영역을 선택하여 로그 데이터를 저장합니다. 로그는 Log Analytics 쿼리를 통해 볼 수 있습니다. Log Analytics에 대한 자세한 내용은 Azure Monitor Log Analytics를 참조하세요.
- Azure Monitor: Azure Monitor는 로그를 대상으로 라우팅합니다. 이 옵션을 선택하면 이 페이지에서 저장을 선택한 후 진단 설정을 선택하여 구성을 완료해야 합니다.
- 로그를 저장하지 마세요. 이 옵션은 로그 데이터의 스토리지를 사용하지 않도록 설정합니다.
- 저장을 선택합니다.
- 로그 대상으로 Azure Monitor를 선택한 경우 진단 설정을 구성해야 합니다. 진단 설정 항목이 로깅 옵션 메뉴 항목 아래에 표시됩니다.
진단 설정
로그 대상으로 Azure Monitor를 선택하는 경우 대상 세부 정보를 구성해야 합니다. 포털의 Container Apps 환경 창 왼쪽 메뉴에서 진단 설정을 선택합니다. 진단 설정이 표시되도록 페이지를 새로 고쳐야 할 수 있습니다.
대상 세부 정보는 진단 설정으로 저장됩니다. 컨테이너 앱 환경에 대해 최대 5개의 진단 설정을 만들 수 있습니다. 각 진단 설정에 대해 서로 다른 로그 범주를 구성할 수 있습니다. 예를 들어 시스템 로그 범주를 하나의 대상에 보내는 진단 설정을 만들고, 컨테이너 콘솔 로그 범주를 다른 대상으로 보내는 또 다른 설정을 만듭니다.
새 진단 설정을 만들려면 다음을 수행합니다.
진단 설정 추가를 선택합니다.
진단 설정의 이름을 입력합니다.
이 대상에 보낼 로그 범주 그룹 또는 범주를 선택합니다. 하나 이상의 범주를 선택할 수 있습니다.
하나 이상의 대상 세부 정보를 선택합니다.
- Log Analytics 작업 영역으로 보내기: 기존 Log Analytics 작업 영역에서 선택합니다.
- 스토리지 계정에 보관: 이 옵션은 더 이상 사용되지 않습니다.
- 이벤트 허브로 스트리밍: Azure 이벤트 허브에서 선택합니다.
- 파트너 솔루션으로 보내기: Azure 파트너 솔루션에서 선택합니다.
저장을 선택합니다.
진단 설정에 대한 자세한 내용은 Azure Monitor의 진단 설정을 참조하세요.
Azure CLI를 사용하여 옵션 구성
--logs-destination
인수와 함께 Azure CLI az containerapp create
및 az containerapp update
명령을 사용하여 Container Apps 환경에 대한 로그 대상을 구성합니다.
대상 값은 log-analytics
, azure-monitor
및 none
입니다.
예를 들어 기존 Log Analytics 작업 영역을 로그 대상으로 사용하여 Container Apps 환경을 만들려면 --logs-destination
인수에 값 log-analytics
을 제공하고, --logs-destination-id
인수에 Log Analytics 작업 영역 리소스 ID 값을 제공해야 합니다. Azure Portal의 Log Analytics 작업 영역 페이지 또는 az monitor log-analytics workspace show
명령에서 리소스 ID를 가져올 수 있습니다.
<자리 표시자>는 해당 값으로 바꿉니다.
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination log-analytics \
--logs-workspace-id <WORKSPACE_ID>
Azure Monitor를 로그 대상으로 사용하도록 기존 Container Apps 환경을 업데이트하려면 다음을 수행합니다.
<자리 표시자>는 해당 값으로 바꿉니다.
az containerapp env update \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination azure-monitor
--logs-destination
이 azure-monitor
로 설정되면 az monitor diagnostics-settings
명령을 사용하여 로그 범주에 대한 대상 세부 정보를 구성하는 진단 설정을 만듭니다.
Log Analytics에 앱 수준 메트릭을 보내려면 다음을 수행합니다.
<자리 표시자>는 해당 값으로 바꿉니다.
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <APP_ARM_RESOURCE_ID> \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace <LOG_ANALYTICS_ARM_RESOURCE_ID>
Azure Monitor 진단 설정 명령에 대한 자세한 내용은 az monitor diagnostic-settings를 참조하세요. Container Apps 로그 범주는 ContainerAppConsoleLogs
및 ContainerAppSystemLogs
입니다.