Media Services 모니터링

Azure 리소스를 사용하는 애플리케이션 및 비즈니스 프로세스가 있는 경우 해당 리소스의 가용성, 성능 및 작업을 모니터링하려고 합니다. 이 문서에서는 Media Services에서 생성되는 모니터링 데이터와 Azure Monitor 기능을 사용하여 이 데이터에 대해 분석하고 경고하는 방법을 설명합니다.

Azure Monitor

Media Services는 Azure의 전체 스택 모니터링 서비스인 Azure Monitor를 사용하여 모니터링 데이터를 만듭니다. 이를 통해 다른 클라우드 및 온-프레미스의 리소스 이외에도 Azure 리소스를 모니터링할 수 있는 완전한 기능 세트를 제공합니다.

다음 개념을 설명하는 Azure Monitor를 사용하여 Azure 리소스 모니터링 문서를 읽어보세요.

  • Azure Monitor란?
  • 모니터링과 관련된 비용
  • Azure에서 수집된 데이터 모니터링
  • 데이터 수집 구성
  • 모니터링 데이터를 분석하고 경고하는 Azure의 표준 도구

Media Services 모니터링 데이터

Media Services는 Azure 리소스의 모니터링 데이터에 설명된 다른 Azure 리소스와 동일한 종류의 모니터링 데이터를 수집합니다.

Azure Monitor가 수집하는 모든 데이터는 두 가지 기본 유형인 메트릭 및 로그 중 하나에 해당합니다. 이러한 두 가지 유형으로 다음을 수행할 수 있습니다.

  • 메트릭 탐색기를 사용하여 메트릭 데이터를 시각화하고 분석합니다.
  • Media Services 진단 로그를 모니터링하고 경고 및 알림을 만듭니다.
  • 다음으로 로그를 보내거나 스트리밍할 수 있습니다.
    • Azure Storage
    • Azure Event Hubs
    • Log Analytics
    • 타사 서비스 사용

수집 및 라우팅

플랫폼 메트릭활동 로그는 자동으로 수집되고 저장되지만 진단 설정을 사용하여 다른 위치로 라우팅할 수 있습니다.

리소스 로그는 진단 설정을 만들고 하나 이상의 위치로 라우팅할 때까지 수집 및 저장되지 않습니다.

진단 설정을 만드는 자세한 프로세스는 Azure에서 플랫폼 로그 및 메트릭을 수집하는 진단 설정 만들기 문서를 참조하세요.

Media Services 메트릭

Media Services 메트릭은 값이 변경되었는지 여부와 상관 없이 정기적으로 수집됩니다.

메트릭 유형

Media Services에 사용할 수 있는 메트릭은 다음과 같습니다.

메트릭 분석

메트릭 탐색기를 사용하여 다른 Azure 서비스의 메트릭과 함께 Media Services의 메트릭을 분석할 수 있습니다. 이 도구 사용에 대한 자세한 내용은 Azure 메트릭 탐색기 시작을 참조하세요.

Media Services 로그

활동 로그

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

리소스 로그

리소스 로그는 Azure 리소스 작업에 관련된 다양하고 빈번한 데이터를 제공합니다. 자세한 내용은 Azure 리소스에서 로그 데이터를 수집하고 사용하는 방법을 참조하세요.

Media Services는 Microsoft.Media/mediaservices 리소스 로그를 지원합니다.

Media Services 진단 로그

진단 로그를 사용하여 검사할 수 있는 몇 가지 작업은 다음과 같습니다.

  • DRM 유형에서 제공하는 라이선스의 수
  • 정책에서 제공하는 라이선스의 수
  • 키 배달 요청의 대기 시간
  • 클라이언트의 허가되지 않은 라이선스 요청 수

로그 분석

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

Azure Monitor의 모든 리소스 로그에는 동일한 필드와 그 뒤에 오는 서비스별 필드가 있습니다. 공용 스키마는 Azure Monitor 리소스 로그 스키마에서 설명합니다.

경고

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

스키마

최상위 수준 진단 로그 스키마에 대한 자세한 설명은 Azure 진단 로그에 지원되는 서비스, 스키마 및 범주를 참조하세요.

미디어 계정 상태

이름 설명
TimeGenerated 이벤트가 생성된 시점의 타임스탬프(UTC)입니다.
OperationName 이벤트를 트리거한 작업의 이름입니다.
Level 메시지 수준입니다. 가능한 값은 Informational, Warning, Error, Critical 및 Verbose입니다.
위치 로그를 보내는 서비스의 위치입니다.
EventCode 이벤트 코드입니다.
EventMessage 이벤트 상태 메시지입니다.

키 배달

이름 설명
TimeGenerated 이벤트가 생성된 시점의 타임스탬프(UTC)입니다.
OperationName 이벤트를 트리거한 작업의 이름입니다.
OperationVersion Azure Media Services 작업 버전.
ResultType Azure Media Services 작업 결과 유형입니다.
ResultSignature Azure Media Services 작업 결과 서명.
DurationMs Azure Media Services 작업 기간(밀리초)입니다.
Level 메시지 수준입니다. 가능한 값은 Informational, Warning, Error, Critical 및 Verbose입니다.
위치 로그를 보내는 서비스의 위치입니다.
RequestId 요청의 ID입니다.
KeyType 지우기(암호화 없음), FairPlay, PlayReady 또는 Widevine 값 중 하나일 수 있습니다.
KeyId 요청된 키의 ID입니다.
TokenType 토큰 유형입니다.
PolicyName 정책의 Azure Resource Manager 이름입니다.
StatusMessage 상태 메시지입니다.

샘플 키 배달 로그

{
    "time": "2019-01-11T17:59:10.4908614Z",
    "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-0000000000/RESOURCEGROUPS/SBKEY/PROVIDERS/MICROSOFT.MEDIA/MEDIASERVICES/SBDNSTEST",
    "operationName": "MICROSOFT.MEDIA/MEDIASERVICES/CONTENTKEYS/READ",
    "operationVersion": "1.0",
    "category": "KeyDeliveryRequests",
    "resultType": "Succeeded",
    "resultSignature": "OK",
    "durationMs": 315,
    "identity": {
        "authorization": {
            "issuer": "http://testacs",
            "audience": "urn:test"
        },
        "claims": {
            "urn:microsoft:azure:mediaservices:contentkeyidentifier": "3321e646-78d0-4896-84ec-c7b98eddfca5",
            "iss": "http://testacs",
            "aud": "urn:test",
            "exp": "1547233138"
        }
    },
    "level": "Informational",
    "location": "uswestcentral",
    "properties": {
        "requestId": "b0243468-d8e5-4edf-a48b-d408e1661050",
        "keyType": "Clear",
        "keyId": "3321e646-78d0-4896-84ec-c7b98eddfca5",
        "policyName": "56a70229-82d0-4174-82bc-e9d3b14e5dbf",
        "tokenType": "JWT",
        "statusMessage": "OK"
    }
}

라이브 이벤트

이름 설명
TimeGenerated 이벤트가 생성된 타임스탬프(UTC)입니다.
OperationName 이벤트를 트리거한 작업의 이름입니다.
Level 메시지 수준입니다. 가능한 값은 Informational, Warning, Error, Critical 및 Verbose입니다.
위치 이벤트를 보내는 서비스의 위치입니다.
속성 작업 세부 정보입니다.

샘플 라이브 이벤트 로그

[
    {
        "TimeGenerated": "2022-10-11T06:02:13.4730825Z",
        "OperationName": "LIVEEVENTS/INGESTBEGIN",
        "Level": "Informational",
        "Location": "westcentralus",
        "Properties": {"liveEventName":"CONTOSOLIVE","streamName":"1234","remoteIP":"10.0.0.xxx","remotePort":"35091"}
    },
    {
        "TimeGenerated": "2022-10-11T06:02:19.8229491Z",
        "OperationName": "LIVEEVENTS/STREAMINFO",
        "Level": "Informational",
        "Location": "westcentralus",
        "Properties": {"liveEventName":"CONTOSOLIVE","remoteIP":"10.0.0.xxx","remotePort":"35091","trackName":"audio_160000","trackType":"audio","bitrate":160000,"timestamp":66,"timescale":1000,"resolution":"n/a"}
    },
    {
        "TimeGenerated": "2022-10-11T06:04:41.1375866Z",
        "OperationName": "LIVEEVENTS/INGESTEND",
        "Level": "Informational",
        "Location": "westcentralus",
        "Properties": {"liveEventName":"CONTOSOLIVE","streamName":"1234","remoteIP":"10.0.0.xxx","remotePort":"35091","resultCode":"MPE_CLIENT_TERMINATED_SESSION"}
    },
    {
        "TimeGenerated": "2022-10-11T06:07:01.0446756Z",
        "OperationName": "LIVEEVENTS/INGESTDISCONTINUITY",
        "Level": "Warning",
        "Location": "westcentralus",
        "Properties": {"liveEventName":"CONTOSOLIVE","trackName":"audio","timestamp":156777,"discontinuityGap":12605}
    }
]

스트리밍 엔드포인트

이름 설명
TimeGenerated 이벤트가 생성된 타임스탬프(UTC)입니다.
OperationName 이벤트를 트리거한 작업의 이름입니다.
OperationVersion Azure Media Services 작업 버전.
Level 메시지 수준입니다. 가능한 값은 Informational, Warning, Error, Critical 및 Verbose입니다.
위치 이벤트를 보내는 서비스의 위치입니다.
ClientIP 클라이언트의 IP 주소입니다.
URL Azure Media Services의 스트리밍 URL입니다.
상태 요청의 상태 코드입니다.

샘플 스트리밍 엔드포인트 로그

[
    {
        "time": "2022-09-30T07:40:06.1524833Z",
        "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000001/RESOURCEGROUPS/CONTOSORG/PROVIDERS/MICROSOFT.MEDIA/MEDIASERVICES/CONTOSOMEDIA/STREAMINGENDPOINTS/DEFAULT",
        "operationName": "MICROSOFT.MEDIA/MEDIASERVICES/STREAMINGENDPOINTS/GET",
        "category": "StreamingEndpointRequests",
        "level": "Informational",
        "location": "uswc1",
        "properties": {
            "ClientIP": "10.0.0.1",
            "URL": "https://cdn--contosomedia-uswc.streaming.media.azure.net:443/00000000-0000-0000-0000-000000000000/contoso.ism/QualityLevels(127999)/Fragments(aac_eng_2_127999_2_1=20053333,format=mpd-time-csf)",
            "Status": "200"
        },
        "operationVersion": "1.0"
    }
]

방법