Azure OpenAI Service 모니터링

Azure 리소스를 사용하는 중요한 애플리케이션 및 비즈니스 프로세스가 있으면 이러한 리소스의 가용성, 성능 및 작업을 모니터링해야 합니다.

이 문서에서는 Azure OpenAI Service에서 생성된 데이터 모니터링에 대해 설명합니다. Azure OpenAI는 Azure AI 서비스의 일부이며, Azure Monitor를 사용합니다. Azure Monitor를 사용하는 모든 Azure 서비스에 일반적인 Azure Monitor 기능에 익숙하지 않은 경우 Azure Monitor를 사용하여 Azure 리소스 모니터링을 참조하세요.

대시보드

Azure OpenAI는 각 Azure OpenAI 리소스에 대한 기본 대시보드를 제공합니다. https://portal.azure.com에 대한 모니터링 대시보드에 액세스하고 Azure OpenAI 리소스 중 하나에 대한 개요 창을 선택합니다.

Azure Portal의 Azure OpenAI 리소스에 대한 기본 대시보드를 표시하는 스크린샷

대시보드는 네 개의 범주인 HTTP 요청, 토큰 기반 사용량, PTU 사용률미세 조정으로 그룹화됩니다.

Azure Monitor의 데이터 수집 및 라우팅

Azure OpenAI는 다른 Azure 리소스와 동일한 종류의 모니터링 데이터를 수집합니다. 활동 로그, 리소스 로그, 가상 머신 로그 및 플랫폼 메트릭에서 데이터를 생성하도록 Azure Monitor를 구성할 수 있습니다. 자세한 내용은 Azure 리소스의 데이터 모니터링을 참조하세요.

플랫폼 메트릭과 Azure Monitor 활동 로그는 자동으로 수집 및 저장됩니다. 이 데이터는 진단 설정을 사용하여 다른 위치로 라우팅될 수 있습니다. Azure Monitor 리소스 로그는 진단 설정을 만들고 하나 이상의 위치로 해당 로그를 라우팅할 때까지 수집 및 저장되지 않습니다.

진단 설정을 만들 때 수집할 로그 범주를 지정합니다. Azure Portal, Azure CLI 또는 PowerShell을 사용하여 진단 설정 만들기의 자세한 내용은 Azure에서 플랫폼 로그 및 메트릭을 수집하는 진단 설정 만들기를 참조하세요.

진단 설정을 사용하고 Azure Monitor 로그로 데이터를 보내는 데는 다른 비용이 발생한다는 점에 유의하세요. 자세한 내용은 Azure Monitor 로그 비용 계산 및 옵션을 참조하세요.

수집할 수 있는 메트릭 및 로그는 다음 섹션에서 설명합니다.

메트릭 분석

Azure Portal에서 Azure Monitor 도구를 사용하여 Azure OpenAI Service 리소스에 대한 메트릭을 분석할 수 있습니다. Azure OpenAI 리소스에 대한 개요 페이지에서 왼쪽 창에서 모니터링 아래의 메트릭을 선택합니다. 자세한 내용은 Azure Monitor 메트릭 탐색기 시작을 참조하세요.

Azure OpenAI에는 Azure AI 서비스의 하위 집합과 공통성이 있습니다. Azure Monitor에서 Azure OpenAI 및 비슷한 Azure AI 서비스에 대해 수집하는 모든 플랫폼 메트릭 목록은 Microsoft.CognitiveServices/accounts에 대한 지원 메트릭을 참조하세요.

Cognitive Services 메트릭

이러한 메트릭은 모든 Azure AI Services 리소스에 공통적인 레거시 메트릭입니다. 더 이상 Azure OpenAI에서 이러한 메트릭을 사용하지 않는 것이 좋습니다.

Azure OpenAI 메트릭

참고 항목

프로비전된 관리되는 사용률 메트릭은 이제 더 이상 사용되지 않으며 더 이상 권장되지 않습니다. 이 메트릭은 프로비전된 관리되는 사용률 V2 메트릭으로 대체되었습니다.

다음 표에는 Azure OpenAI에서 사용할 수 있는 메트릭의 현재 하위 집합이 요약되어 있습니다.

메트릭 범주 집계 설명 차원
Azure OpenAI Requests HTTP Count 일정 기간 동안 Azure OpenAI API에 대해 수행된 총 호출 수입니다. PayGo, PTU 및 PTU 관리형 SKU에 적용됩니다. ApiName, ModelDeploymentName,ModelName,ModelVersion, OperationName, Region, StatusCode, StreamType
Generated Completion Tokens 사용 Sum Azure OpenAI 모델에서 생성된 토큰(출력) 수입니다. PayGo, PTU 및 PTU 관리형 SKU에 적용됩니다. ApiName, ModelDeploymentName,ModelName, Region
Processed FineTuned Training Hours 사용 Sum Azure OpenAI 미세 조정 모델에서 처리된 학습 시간 수입니다. ApiName, ModelDeploymentName,ModelName, Region
Processed Inference Tokens 사용 Sum Azure OpenAI 모델에서 처리된 유추 토큰 수입니다. 프롬프트 토큰(입력) + 생성된 토큰으로 계산됩니다. PayGo, PTU 및 PTU 관리형 SKU에 적용됩니다. ApiName, ModelDeploymentName,ModelName, Region
Processed Prompt Tokens 사용 Sum Azure OpenAI 모델에서 처리된 총 프롬프트 토큰(입력) 수입니다. PayGo, PTU 및 PTU 관리형 SKU에 적용됩니다. ApiName, ModelDeploymentName,ModelName, Region
Provision-managed Utilization V2 사용 평균 프로비전된 관리형 사용률은 지정된 프로비전된 관리형 배포의 사용률입니다. (사용된 PTU/배포된 PTU)*100으로 계산됩니다. 사용률이 100% 이상인 경우 호출이 제한되고 429 오류 코드가 반환됩니다. ModelDeploymentName,ModelName,ModelVersion, Region, StreamType

진단 설정 구성

모든 메트릭은 Azure Monitor의 진단 설정을 사용하여 내보낼 수 있습니다. Azure Monitor Log Analytics 쿼리를 사용하여 로그 및 메트릭 데이터를 분석하려면 Azure OpenAI 리소스 및 Log Analytics 작업 영역에 대한 진단 설정을 구성해야 합니다.

  1. Azure OpenAI 리소스 페이지의 왼쪽 창에 있는 모니터링 아래에서 진단 설정을 선택합니다. 진단 설정 페이지에서 진단 설정 추가를 선택합니다.

    Azure Portal에서 Azure OpenAI 리소스에 대한 진단 설정 페이지를 여는 방법을 보여 주는 스크린샷

  2. 진단 설정 페이지에서 다음 필드를 구성합니다.

    1. Log Analytics 작업 영역에 보내기를 선택합니다.
    2. Azure 계정 구독을 선택합니다.
    3. Log Analytics 작업 영역을 선택합니다.
    4. 로그에서 allLogs를 선택합니다.
    5. 메트릭에서 AllMetrics를 선택합니다.

    Azure portal에서 Azure OpenAI 리소스에 대한 진단 설정을 구성하는 방법을 보여 주는 스크린샷

  3. 진단 설정 이름을 입력하여 구성을 저장합니다.

  4. 저장을 선택합니다.

진단 설정을 구성한 후 Log Analytics 작업 영역에서 Azure OpenAI 리소스에 대한 메트릭 및 로그 데이터를 사용할 수 있습니다.

로그 분석

Azure Monitor Logs의 데이터는 테이블마다 고유한 자체 속성 집합이 있는 테이블에 저장됩니다.

Azure Monitor의 모든 리소스 로그에는 동일한 필드와 그 뒤에 오는 서비스별 필드가 있습니다. 일반적인 스키마에 대한 내용은 Azure 리소스 로그에 대한 공통 및 서비스별 스키마를 참조하세요.

활동 로그는 구독 수준의 이벤트에 대한 인사이트를 제공하는 Azure의 플랫폼 로그 유형입니다. 이 로그를 독립적으로 보거나, Azure Monitor 로그로 라우팅할 수 있습니다. Azure Portal에서 Azure Monitor 로그의 활동 로그를 사용하여 Log Analytics로 복잡한 쿼리를 실행할 수 있습니다.

Azure OpenAI 및 비슷한 Azure AI 서비스에 사용할 수 있는 리소스 로그 유형의 목록은 Microsoft.CognitiveServices Azure 리소스 공급자 작업을 참조하세요.

Kusto 쿼리 사용

Azure OpenAI 모델을 배포한 후 Azure AI Studio플레이그라운드 환경을 사용하여 일부 완료 호출을 보낼 수 있습니다.

Azure OpenAI Studio 플레이그라운드에서 Azure OpenAI 리소스에 대해 완료를 생성하는 방법을 보여 주는 스크린샷

완료 플레이그라운드 또는 채팅 완료 플레이그라운드에 입력하는 모든 텍스트는 Azure OpenAI 리소스에 대한 메트릭 및 로그 데이터를 생성합니다. 리소스에 대한 Log Analytics 작업 영역에서 Kusto 쿼리 언어를 사용하여 모니터링 데이터를 쿼리할 수 있습니다.

Important

Azure OpenAI 리소스 페이지의 쿼리 열기 옵션을 선택하면 이 문서에 설명되지 않은 Azure Resource Graph로 이동합니다. 다음 쿼리는 Log Analytics에 대한 쿼리 환경을 사용합니다. 진단 설정 구성의 단계에 따라 Log Analytics 작업 영역을 준비해야 합니다.

  1. Azure OpenAI 리소스 페이지의 왼쪽 창에 있는 모니터링에서 로그를 선택합니다.

  2. Azure OpenAI 리소스에 대해 진단을 구성한 Log Analytics 작업 영역을 선택합니다.

  3. Log Analytics 작업 영역 페이지의 왼쪽 창에 있는 개요에서 로그를 선택합니다.

    Azure Portal은 기본적으로 샘플 쿼리 및 제안이 포함된 쿼리 창을 표시합니다. 이 창을 닫을 수 있습니다.

다음 예제에서는 쿼리 창 맨 위에 있는 편집 영역에 Kusto 쿼리를 입력한 다음, 실행을 선택합니다. 쿼리 결과는 쿼리 텍스트 아래에 표시됩니다.

다음 Kusto 쿼리는 리소스에 대한 Azure Diagnostics(AzureDiagnostics) 데이터의 초기 분석에 유용합니다.

AzureDiagnostics
| take 100
| project TimeGenerated, _ResourceId, Category, OperationName, DurationMs, ResultSignature, properties_s

이 쿼리는 100개 항목의 샘플을 반환하고 로그에 사용 가능한 데이터 열의 하위 집합을 표시합니다. 쿼리 결과에서 테이블 이름 옆에 있는 화살표를 선택하여 사용 가능한 모든 열 및 관련 데이터 형식을 볼 수 있습니다.

Azure OpenAI 리소스에 대한 Azure Diagnostics 데이터의 Log Analytics 쿼리 결과를 보여 주는 스크린샷

사용 가능한 모든 데이터 열을 보려면 쿼리에서 범위 지정 매개 변수 줄 | project ...를 제거할 수 있습니다.

AzureDiagnostics
| take 100

리소스에 대한 Azure Metrics(AzureMetrics) 데이터를 검사하려면 다음 쿼리를 실행합니다.

AzureMetrics
| take 100
| project TimeGenerated, MetricName, Total, Count, Maximum, Minimum, Average, TimeGrain, UnitName

이 쿼리는 100개 항목의 샘플을 반환하고 Azure Metrics 데이터의 사용 가능한 열 하위 집합을 표시합니다.

Azure OpenAI 리소스에 대한 Azure Metrics 데이터의 Log Analytics 쿼리 결과를 보여 주는 스크린샷

참고 항목

리소스에 대한 Azure OpenAI 메뉴에서 모니터링>로그를 선택하면 쿼리 범위가 현재 리소스로 설정된 Log Analytics가 열립니다. 표시되는 로그 쿼리에는 해당 특정 리소스의 데이터만 포함됩니다. 다른 리소스의 데이터 또는 다른 Azure 리소스의 데이터를 포함하는 쿼리를 실행하려면 Azure Portal의 Azure Monitor 메뉴에서 로그를 선택합니다. 자세한 내용은 Azure Monitor Log Analytics의 로그 쿼리 범위 및 시간 범위를 참조하세요.

경고 설정

Azure Monitor 경고는 모니터링 데이터에서 중요한 조건이 발견될 때 사용자에게 사전에 알립니다. 이를 통해 사용자에게 알리기 전에 시스템 문제를 식별하고 해결할 수 있습니다. 메트릭, 로그활동 로그에서 경고를 설정할 수 있습니다. 서로 다른 형식의 경고에는 장점과 단점이 있습니다.

모든 조직의 경고 요구 사항은 다르며 시간이 지남에 따라 변경될 수 있습니다. 일반적으로 모든 경고는 실행 가능해야 하며 경고가 발생할 때 의도된 구체적인 응답이 있어야 합니다. 경고에 즉각적인 응답이 필요하지 않은 경우 경고가 아닌 보고서에서 조건을 캡처할 수 있습니다. 일부 사용 사례에서는 특정 오류 조건이 있을 때마다 경고가 필요할 수 있습니다. 다른 경우에는 지정된 기간 동안 특정 임계값을 초과하는 오류에 대한 경고가 필요할 수 있습니다.

특정 임계값 미만의 오류는 Azure Monitor 로그의 데이터를 정기적으로 분석하여 평가할 수 있는 경우가 많습니다. 시간이 지남에 따라 로그 데이터를 분석할 때 특정 조건이 예상 기간 동안 발생하지 않는 것을 발견할 수 있습니다. 경고를 사용하여 이 조건을 추적할 수 있습니다. 경우에 따라 로그에 이벤트가 없는 것이 오류만큼 중요한 신호일 수 있습니다.

Azure OpenAI를 사용하여 개발 중인 애플리케이션 유형에 따라 Azure Monitor Application Insights는 애플리케이션 계층에서 추가 모니터링 이점을 제공할 수 있습니다.

다음 단계