다음을 통해 공유


자습서: 게시된 API 모니터링

적용 대상: 모든 API Management 계층

Azure Monitor를 통해 Azure API Management 서비스의 메트릭 또는 로그를 시각화, 쿼리, 라우팅, 보관하고 필요한 조치를 수행할 수 있습니다. API Management용 Azure Monitor에 대한 개요는 Monitor API Management를 참조 하세요.

API 팀은 작업 영역에서 이 기능을 사용할 수 있습니다. 작업 영역은 API 및 자체 API 런타임 환경에 대한 격리된 관리 액세스를 제공합니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • API의 메트릭 보기
  • 경고 규칙 설정
  • 활동 로그 보기
  • 리소스 로그 사용 및 보기

참고 항목

API Management는 기본 제공 분석Application Insights와의 통합을 포함하여 API를 관찰하는 다양한 추가 도구를 지원합니다. 자세한 정보

필수 조건

API의 메트릭 보기

API Management는 1분 간격으로 메트릭을 내보내므로 거의 실시간으로 API 상태를 확인할 수 있습니다. 다음은 가장 자주 사용되는 메트릭입니다. 사용 가능한 모든 메트릭 목록은 메트릭을 참조 하세요.

  • 용량 - API Management 서비스를 업그레이드/다운그레이드할지 결정하는 데 도움이 됩니다. 메트릭은 1분 간격으로 내보내지며 보고 시점의 예상되는 게이트웨이 용량을 반영합니다. 메트릭의 범위는 0-100이고, CPU 및 메모리 사용률 등의 게이트웨이 리소스와 기타 요소를 기준으로 계산됩니다.

    v2 서비스 계층작업 영역 게이트웨이에서 API Management는 게이트웨이 용량 메트릭을 별도의 CPU 및 메모리 사용률 메트릭으로 대체했습니다. 이러한 메트릭을 스케일링 의사 결정 및 문제 해결에 사용할 수도 있습니다. 자세한 정보

  • 요청 - API Management 서비스를 통과하는 API 트래픽을 분석하는 데 도움이 됩니다. 메트릭은 분당 내보내지며 차원과 함께 게이트웨이 요청 수를 보고합니다. 응답 코드, 위치, 호스트 이름 및 오류별로 요청을 필터링합니다.

참고 항목

요청 메트릭은 작업 영역에서 사용할 수 없습니다.

중요합니다

총 게이트웨이 요청, 성공적인 게이트웨이 요청, 권한이 없는 게이트웨이 요청, 실패한 게이트웨이 요청, 기타 게이트웨이 요청과 같은 메트릭은 더 이상 사용되지 않습니다. 매우 유사한 기능을 제공하는 요청 메트릭으로 마이그레이션하세요.

API Management 개요에 있는 메트릭의 스크린샷

메트릭에 액세스하려면

  1. Azure Portal에서 API Management 인스턴스로 이동합니다. 개요 페이지에서 모니터링 탭의 API에 대한 주요 메트릭을 검토합니다.

  2. 메트릭을 자세히 조사하려면 왼쪽 메뉴에서 메트릭

    포털의 모니터링 메뉴에 있는 메트릭 항목의 스크린샷

    작업 영역에서 작업 영역 게이트웨이로 범위가 지정된 용량 메트릭을 볼 수 있습니다. 작업 영역 게이트웨이의 왼쪽 메뉴에서 모니터링>메트릭 으로 이동합니다.

  3. 드롭다운에서 관심 있는 메트릭을 선택합니다. 예: Requests

  4. 차트에는 총 API 호출 수가 표시됩니다. 관심 기간에 집중하도록 시간 범위를 조정합니다.

  5. 요청 메트릭의 차원을 사용하여 차트를 필터링할 수 있습니다. 예를 들어 필터 추가를 선택하고, 백 엔드 응답 코드 범주를 선택하고, 값으로 500을 입력합니다. 차트는 API 백 엔드에서 실패한 요청 수를 보여 줍니다.

경고 규칙 설정

메트릭 및 활동 로그를 기반으로 경고를 수신할 수 있습니다. Azure Monitor에서 트리거할 때 작업을 수행하도록 경고 규칙을 구성합니다. 일반적인 작업은 다음과 같습니다.

  • 이메일 알림 보내기
  • 웹후크 호출
  • Azure 논리 앱 호출

요청 메트릭을 기반으로 경고 규칙 예제를 구성하려면 다음을 수행합니다.

  1. Azure Portal에서 API Management 인스턴스로 이동합니다.

  2. 왼쪽 메뉴에서 경고

    포털의 모니터링 메뉴에 있는 경고 옵션의 스크린샷

  3. + 만들기>경고 규칙을 선택합니다.

  4. 조건 탭에서 다음을 수행 합니다.

    1. 신호 이름에서 요청을 선택합니다.
    2. 경고 논리에서 경고의 기본값을 검토하거나 수정합니다. 예를 들어 경고를 트리거해야 하는 발생 횟수인 정적 임계값을 업데이트합니다.
    3. 차원으로 분할차원 이름에서 게이트웨이 응답 코드 범주를 선택합니다.
    4. 차원 값에서 권한이 없거나 잘못된 요청과 같은 클라이언트 오류에 대해 4xx를 선택합니다. 차원 값이 표시되지 않으면 사용자 지정 값 추가를 선택하고 4xx를 입력합니다.
    5. 평가 시기에서 기본 설정을 적용하거나 다른 설정을 선택하여 규칙 실행 빈도를 구성합니다. 다음을 선택합니다.

    포털의 경고 논리 구성 스크린샷

  5. 작업 탭에서 하나 이상의 작업 그룹을 선택하거나 만들어 사용자에게 경고에 대해 알리고 작업을 수행합니다. 예를 들어 admin@contoso.com에 알림 이메일을 보내는 새 작업 그룹을 만듭니다. 자세한 단계는 Azure Portal에서 작업 그룹 만들기 및 관리를 참조하세요.

    포털의 새 작업 그룹에 대한 알림 구성 스크린샷

  6. 경고 규칙 만들기세부 정보 탭에서 경고 규칙의 이름과 설명을 입력하고 심각도 수준을 선택합니다.

  7. 필요에 따라 나머지 설정을 구성합니다. 그런 다음, 검토 + 만들기 탭에서 만들기를 선택합니다.

  8. 필요에 따라 HTTP 클라이언트를 사용하여 경고를 트리거하는 요청을 시뮬레이션하여 경고 규칙을 테스트합니다. 예를 들어 터미널에서 다음 명령을 실행하여 API Management 호스트 이름을 API Management 인스턴스의 호스트 이름으로 대체합니다.

    curl GET https://contoso.azure-api.net/non-existent-endpoint HTTP/1.1 
    

    평가 기간에 따라 경고가 트리거되고 admin@contoso.com으로 이메일이 전송됩니다.

    API Management 인스턴스의 경고 페이지에도 경고가 표시됩니다.

    포털의 경고 스크린샷

활동 로그

활동 로그는 API Management 서비스의 작업에 대한 인사이트를 제공합니다. 활동 로그를 통해 API Management 서비스에 대한 모든 쓰기 작업(PUT, POST, DELETE)에서 "무엇을, 누가, 언제"를 판단할 수 있습니다.

참고 항목

활동 로그에는 Azure Portal에서 수행되는 읽기(GET) 작업 또는 작업이 포함되지 않습니다.

API Management 서비스에서 활동 로그에 액세스하거나 Azure Monitor에서 모든 Azure 리소스의 로그에 액세스할 수 있습니다.

포털의 활동 로그 스크린샷

활동 로그를 보려면 다음을 수행합니다.

  1. Azure Portal에서 API Management 인스턴스로 이동합니다.

  2. 활동 로그를 선택합니다.

    포털의 모니터링 메뉴에 있는 활동 로그 항목의 스크린샷

  3. 원하는 필터링 범위를 선택하고 적용을 선택합니다.

리소스 로그

리소스 로그(Azure Monitor 로그)는 감사 및 문제 해결 목적으로 중요한 API Management 작업 및 오류에 대한 풍부한 정보를 제공합니다. 진단 설정을 통해 사용하도록 설정하면 로그는 API Management 게이트웨이에서 수신 및 처리하는 API 요청에 대한 정보를 수집합니다.

참고 항목

소비 계층은 리소스 로그 수집을 지원하지 않습니다.

작업 영역이 있는 API Management 인스턴스에서 API Management 서비스 전반의 페더레이션 로그는 중앙 집중식 API 모니터링을 위해 API 플랫폼 팀에서 액세스할 수 있으며, 작업 영역 팀은 작업 영역의 API와 관련된 로그에 액세스할 수 있습니다. 작업 영역을 사용하여 Azure Monitor 로깅에 대해 자세히 알아보기

리소스 로그 컬렉션에 대한 진단 설정을 구성하려면 다음을 수행합니다.

  1. Azure Portal에서 API Management 인스턴스로 이동합니다.

  2. 왼쪽 메뉴의 모니터링에서 진단 설정>+ 진단 설정 추가를 선택합니다.

    포털에서 진단 설정을 추가하는 스크린샷.

  3. 진단 설정 페이지에서 설정에 대한 세부 정보를 입력하거나 선택합니다.

    1. 진단 설정 이름: 설명이 포함된 이름을 입력합니다.
    2. 범주 그룹: 필요에 따라 시나리오를 선택합니다.
    3. 범주: 하나 이상의 범주를 선택합니다. 예를 들어 ApiManagement 게이트웨이와 관련된 로그를 선택하여 API Management 게이트웨이 에 대한 대부분의 요청에 대한 로그를 수집합니다.
    4. 대상 세부 정보에서 하나 이상의 옵션을 선택하고 대상에 대한 세부 정보를 지정합니다. 예를 들어 로그를 Azure Log Analytics 작업 영역으로 보내거나, 스토리지 계정에 로그를 보관하거나, 이벤트 허브로 스트리밍합니다. 자세한 내용은 Azure Monitor의 진단 설정을 참조하세요.
    5. 저장을 선택합니다.

    Log Analytics 작업 영역을 선택하는 경우 리소스별 테이블(예: ApiManagementGatewayLogs 테이블)에 데이터를 저장하거나 일반 AzureDiagnostics 테이블에 저장할 수 있습니다. 이 내용을 지원하는 로그 대상에 대한 리소스별 테이블을 사용하는 것이 좋습니다. 자세한 정보

  4. 로그 대상 또는 대상에 대한 세부 정보를 구성한 후 저장을 선택합니다.

참고 항목

API Management 서비스의 MinApiVersion 속성이 2022-09-01-preview보다 높은 API 버전으로 설정된 경우 진단 설정 개체를 추가하면 오류가 발생할 수 있습니다.

참고 항목

API Management 작업 영역에 대한 진단 설정을 사용하도록 설정하려면 작업 영역 만들기 및 관리를 참조하세요.

Azure Log Analytics에서 로그 및 메트릭 보기

Log Analytics 작업 영역에서 로그 또는 메트릭의 컬렉션을 사용하도록 설정하는 경우 Azure Monitor에 데이터가 표시될 때까지 몇 분 정도 걸릴 수 있습니다.

데이터를 보려면 다음을 수행합니다.

  1. Azure Portal에서 API Management 인스턴스로 이동합니다.

  2. 왼쪽 메뉴의 모니터링에서 로그를 선택합니다.

  3. 쿼리를 실행하여 데이터를 봅니다. 여러 샘플 쿼리가 제공되며, 자체 쿼리를 실행해도 됩니다. 예를 들어 다음 쿼리는 ApiManagementGatewayLogs 테이블에서 최근 24시간 동안의 데이터를 검색합니다.

    ApiManagementGatewayLogs
    | where TimeGenerated > ago(1d) 
    

    포털의 ApiManagementGatewayLogs 테이블 쿼리 스크린샷

API Management에 대한 리소스 로그 사용에 대한 자세한 내용은 다음을 참조하세요.

API 로깅 설정 수정

포털을 사용하여 API Management 게이트웨이 또는 LLM(생성 AI 게이트웨이) 로그의 수집을 사용하도록 설정하는 진단 설정을 만들면 기본 설정으로 로깅이 활성화됩니다. 기본 설정에는 요청 또는 응답 본문과 같은 요청 또는 응답에 대한 세부 정보가 포함되지 않습니다. 모든 API에 대한 로깅 설정을 조정하거나 개별 API에 대해 재정의할 수 있습니다. 예를 들어 게이트웨이 로그 데이터의 샘플링 속도 또는 세부 정보를 조정하거나 LLM 요청 또는 응답 메시지 로깅을 사용하도록 설정하거나 일부 API에 대한 로깅을 사용하지 않도록 설정합니다.

로깅 설정에 대한 자세한 내용은 진단 - 만들기 또는 업데이트API 진단 - REST API 참조 페이지 만들기 또는 업데이트 를 참조하세요.

모든 API에 대한 로깅 설정을 구성하려면 다음을 수행합니다.

  1. API Management 인스턴스의 왼쪽 메뉴에서 API API모든 API>>를 선택합니다.
  2. 위쪽 표시줄의 설정 탭을 선택합니다.
  3. 진단 로그 섹션까지 아래로 스크롤하고 Azure Monitor 탭을 선택합니다.
  4. 설정을 검토하고 필요한 경우 변경합니다. 저장을 선택합니다.

특정 API에 대한 로깅 설정을 구성하려면 다음을 수행합니다.

  1. API Management 인스턴스의 왼쪽 메뉴에서 API API>를 선택한 다음, API의 이름을 선택합니다.
  2. 위쪽 표시줄의 설정 탭을 선택합니다.
  3. 진단 로그 섹션까지 아래로 스크롤하고 Azure Monitor 탭을 선택합니다.
  4. 설정을 검토하고 필요한 경우 변경합니다. 저장을 선택합니다.

중요합니다

API Management는 Azure Monitor로 전송되는 로그 항목의 크기에 대해 32KB 제한을 적용합니다. 로그 항목이 제한을 초과하는 경우의 동작은 로그 범주 및 기록되는 데이터 특성에 따라 달라집니다.

  • API Management 게이트웨이 로그 - 로그 항목에 기록된 요청 또는 응답 페이로드(수집된 경우)는 각각 최대 8,192바이트일 수 있습니다. 항목에 있는 특성의 결합된 크기가 32KB를 초과하는 경우 API Management는 모든 본문 및 추적 콘텐츠를 제거하여 항목을 트리밍합니다.
  • 생성 AI 게이트웨이 로그 - 수집된 경우 최대 32KB 크기의 LLM 요청 또는 응답 메시지가 단일 항목으로 전송됩니다. 32KB보다 큰 메시지는 분할되고 나중에 재구성하기 위해 시퀀스 번호가 있는 32KB 청크로 기록됩니다. 요청 메시지 및 응답 메시지는 각각 2MB를 초과할 수 없습니다.

다음 단계

이 자습서에서는 다음 작업 방법을 알아보았습니다.

  • API의 메트릭 보기
  • 경고 규칙 설정
  • 활동 로그 보기
  • 리소스 로그 사용 및 보기

다음 자습서를 진행합니다.