Media Services の監視

Azure リソースに依存するアプリケーションとビジネス プロセスがある場合は、それらのリソースの可用性、パフォーマンス、操作を監視する必要があります。 この記事では、Media Services によって生成される監視データと、Azure Monitor の機能を使用してこのデータについての分析とアラートを行う方法について説明します。

Azure Monitor

Media Services では、Azure Monitor を使用して監視データを作成します。Azure Monitor は Azure のフル スタックの監視サービスであり、他のクラウドやオンプレミスのリソースに加えて、Azure リソースを監視するための完全な機能セットが提供されます。

まず「Azure Monitor を使用した Azure リソースの監視」の記事にある次の概念の説明をお読みください。

  • Azure Monitor とは
  • 監視に関連するコスト
  • Azure で収集される監視データ
  • データ収集の構成
  • 監視データの分析とアラート生成のための Azure の標準ツール

Media Services 監視データ

Media Services では、他の Azure リソースと同じ種類の監視データが収集されます。これについては、Azure リソースの監視データに関するページをご覧ください。

Azure Monitor によって収集されたすべてのデータは、2 つの基本的な種類であるメトリックとログのどちらかに該当します。 これらの 2 つの種類を使用すると、次のことができます。

  • メトリックス エクスプローラーを使用して、メトリック データを視覚化し、分析する。
  • Media Services の診断ログを監視し、それらに対してメトリックおよびログのアラートと通知を作成する。
  • ログを次に対して送信またはストリーミングできます。
    • Azure Storage
    • Azure Event Hubs
    • Log Analytics
    • サード パーティーのサービスを使用する

収集とルーティング

プラットフォーム メトリックアクティビティ ログは自動的に収集および格納されますが、診断設定を使用して他の場所にルーティングすることもできます。

リソース ログは、診断設定を作成して 1 つ以上の場所にルーティングするまでは収集および格納されません

診断設定を作成するプロセスの詳細については、記事「Azure でプラットフォーム ログとメトリックを収集するための診断設定を作成する」を参照してください。

Media Services メトリック

Media Services のメトリックは、値の変化とは無関係に、一定の間隔で収集されます。

メトリックの種類

Media Services で使用できるメトリックは次のとおりです。

メトリックの分析

メトリックス エクスプローラーを使用して、他の Azure サービスのメトリックと共に Media Services のメトリックを分析できます。 このツールの使用方法の詳細については、「Azure メトリックス エクスプローラーの概要」を参照してください。

Media Services ログ

アクティビティ ログ

アクティビティ ログは、サブスクリプション レベルのイベントの分析情報を提供するプラットフォーム ログです。 個別に表示できるほか、Azure Monitor ログにルーティングして、Log Analytics を使用してより複雑なクエリを実行することもできます。

リソース ログ

リソース ログからは、Azure リソースの操作に関するデータが豊富かつ頻繁に提供されます。 詳細については、Azure リソースからのログ データを収集して使用する方法に関するページをご覧ください。

Media Services では、次のリソース ログがサポートされています。 Microsoft.Media/mediaservices

Media Services の診断ログ

診断ログで調べることができるいくつかのことを次に示します。

  • DRM の種類ごとに配信されるライセンスの数
  • ポリシーごとに配信されるライセンスの数
  • キー配信要求の待機時間
  • クライアントからの認可されていないライセンス要求の数

ログの分析

Azure Monitor ログのデータはテーブルに格納され、各テーブルには独自の一意のプロパティ セットがあります。

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 Clear (暗号化なし)、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。
Status 要求の状態コード。

ストリーミング エンドポイント ログのサンプル

[
    {
        "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"
    }
]

方法