监视媒体服务

注意

Google Widevine 内容保护服务目前在由世纪互联运营的 Microsoft Azure 区域中不可用。

当你的应用程序和业务流程依赖于 Azure 资源时,你需要监视这些资源的可用性、性能和操作。 本文描述了媒体服务生成的监视数据,介绍如何使用 Azure Monitor 的功能对此数据进行分析和发出警报。

Azure Monitor

媒体服务使用 Azure Monitor 创建监视数据。Azure Monitor 是 Azure 中的一个全堆栈监视服务,提供用于监视 Azure 资源以及其他云中的资源和本地资源的整套功能。

可先阅读使用 Azure Monitor 监视 Azure 资源一文,其中介绍了以下概念:

  • 说明是 Azure Monitor?
  • 与监视相关的成本
  • 监视 Azure 中收集的数据
  • 配置数据收集
  • Azure 中用于分析监视数据并就其发出警报的标准工具

媒体服务监视数据

媒体服务收集与监视 Azure 资源中的数据中所述的其他 Azure 资源相同的监视数据。

Azure Monitor 收集的所有数据属于以下两种基本类型之一:指标和日志。 通过这两种类型,可以:

  • 使用指标资源管理器来可视化和分析指标数据。
  • 监视媒体服务诊断日志,并为其创建警报与通知。
  • 可以将日志发送或流式传输到:
    • Azure 存储
    • Azure 事件中心
    • Log Analytics
    • 使用第三方服务

收集和路由

平台指标和活动日志会自动收集和存储,但可以使用诊断设置将其路由到其他位置 。

在创建诊断设置并将其路由到一个或多个位置之前,不会收集和存储资源日志。

有关创建诊断设置的详细过程,请参阅创建诊断设置以收集 Azure 中的平台日志和指标一文。

媒体服务指标

不管值是否变化,媒体服务指标都按固定的时间间隔进行收集。

指标类型

可用于媒体服务的指标包括:

分析指标

可以使用指标资源管理器分析媒体服务的指标以及来自其他 Azure 服务的指标。 有关使用此工具的详细信息,请参阅 Azure 指标资源管理器入门

媒体服务日志

活动日志

活动日志是一种平台日志,可用于深入了解订阅级别的事件。 你可以单独查看它或将它路由到 Azure Monitor 日志,然后便可以在其中使用 Log Analytics 执行复杂得多的查询。

资源日志

诊断日志提供有关 Azure 资源操作频繁生成的丰富数据。 有关详细信息,请参阅如何从 Azure 资源收集和使用日志数据

媒体服务支持以下资源日志:Microsoft.Media/mediaservices

媒体服务诊断日志

可以通过诊断日志检查的一些内容包括:

  • 按 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 媒体服务操作版本。
ResultType Azure 媒体服务操作结果类型。
ResultSignature Azure 媒体服务操作结果签名。
DurationMs Azure 媒体服务操作持续时间(以毫秒为单位)。
Level 消息级别。 可用值为 Informational、Warning、Error、Critical 和 Verbose。
位置 发送日志的服务的位置。
RequestId 请求的 ID。
KeyType 可以是以下值之一:Clear(不加密)、FairPlay、PlayReady 或 Widevine。
KeyId 所请求密钥的 ID。
TokenType 令牌类型。
PolicyName 策略的 Azure 资源管理器名称。
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": "chinaeast2",
    "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": "chinaeast2",
        "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": "chinaeast2",
        "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": "chinaeast2",
        "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": "chinaeast2",
        "Properties": {"liveEventName":"CONTOSOLIVE","trackName":"audio","timestamp":156777,"discontinuityGap":12605}
    }
]

流式处理终结点

名称 说明
TimeGenerated 生成事件时的时间戳 (UTC)。
OperationName 触发事件的操作的名称。
OperationVersion Azure 媒体服务操作版本。
Level 消息级别。 可用值为 Informational、Warning、Error、Critical 和 Verbose。
位置 发送事件的服务的位置。
ClientIP 客户端的 IP 地址。
URL Azure 媒体服务的流式处理 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": "chinaeast2",
        "properties": {
            "ClientIP": "10.0.0.1",
            "URL": "https://cdn--contosomedia-cnn31.streaming.media.chinacloudapi.cn: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"
    }
]

操作指南