c# - Azure 媒体服务跟踪每个资产使用的带宽
问题描述
我们正在使用Azure 媒体服务构建一个视频托管站点,我们希望能够跟踪每个资产/视频使用的大小和带宽。
一般的用户旅程是,一旦用户注册,他们就可以上传他们的视频,我们使用它进行编码AdaptiveStreaming
,我们拥有所有编码的资产,我们为该视频创建一个新的流式定位器。
计划在此之上建立一个订阅模型,该模型具有大小和带宽限制。我们能够从中提取大小,manifest.json
但我们希望能够运行某种类型的事件或后台作业来定期跟踪每个资产的带宽,这样我们就可以知道每个用户的总带宽使用量对于视频的总和是多少他们已经上传了。
每个资产是否可能,查看每个流端点似乎可能的指标,但我在asset/streaming
定位器上找不到任何东西。
浏览 API 文档:
通过 Azure Monitor 监控媒体服务指标和诊断日志
如上所述,每个 Streaming Endpoint 都有可用的指标,如果它是每个流定位器,它们可能对我们有用:
请求- 提供流端点服务的 HTTP 请求总数。
出口- 每个流式传输端点每分钟的总出口字节数。
SuccessE2ELatency - 端到端成功延迟 - 从流式处理端点收到请求到发送响应的最后一个字节的持续时间。
不幸的是,由于这些是每个流媒体端点,这不允许我们跟踪每个资产/流媒体定位器。
现在浏览了 V3 文档后,无论如何我都看不到实现我们希望的目标,我将提交一个功能请求。
解决方案
我假设您还计划使用 CDN 将内容交付给用户,对吧?在这种情况下,每个资产的交付数据实际上是每个定位器通过 CDN 网络交付的字节数的一个因素。
由于这可能是最常见的用例场景,CDN 日志可能是跟踪每个资产 URL 导出的数据使用情况的更好位置。
来自流式处理端点的出口数据只会向您显示最初在 CDN 端作为“缓存未命中”请求的内容。
对于 AMS,我们今天不提供从流式传输端点输出的数据中的每个资产或每个流式定位器的细分。通过 Azure Monitor 指标仅以字节为单位的总聚合出口以及很快以 mbps 为单位的出口数据 - 您似乎已经在上面发现了这些数据。
推荐阅读
- angular - 错误:模块“AppRoutingModule”由模块“AppRoutingModule”递归导出
- java - 如何从 ModelNode 结果中获取特定对象
- dart - 在 Dart 中使用 AES ECB 加密二进制数组
- mysql - 在 SQL 中将记录或多条合并为一条
- sql-server - 尝试从 MS SQL 中的多个表中删除条目但出现语法错误
- rust - 如何重构匹配臂内的 if 语句?
- windows - 使用批处理文件,如何重命名此文件?
- javascript - 如何将带有异步等待功能的承诺更改为可观察的?
- makefile - Makefile:模式规则作为第一规则
- regex - 行尾正则表达式 findstr 命令的 CMD 脚本返回代码不正确