监视媒体服务
注意
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": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"iss": "http://testacs",
"aud": "urn:test",
"exp": "1547233138"
}
},
"level": "Informational",
"location": "chinaeast2",
"properties": {
"requestId": "b0243468-d8e5-4edf-a48b-d408e1661050",
"keyType": "Clear",
"keyId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"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"
}
]