针对事件(审核日志)查询 Azure Insights REST API 的速率限制策略

Posted

技术标签:

【中文标题】针对事件(审核日志)查询 Azure Insights REST API 的速率限制策略【英文标题】:rate limit policy on queries to Azure Insights REST API for Events (Audit Logs) 【发布时间】:2016-03-29 02:34:53 【问题描述】:

我对 Azure Insights REST Api for Events 有一些疑问。

当我向 Inisghts API 发出 HTTP 请求以获取事件时,我收到标题“ x-ms-ratelimit-remaining-subscription-reads”,值为“14999”。 但 1 秒内的下一个查询返回的剩余读取值相同。

我看到那里有一些限制政策,但我想了解它是如何工作的以及处理它的正确方法是什么。

特别是,

1) 我每秒可以读取多少次?

2) 如果我超过了整个剩余读取参数,我应该等待多长时间才能再次达到最大值?

3) 尽管设置了 $top 参数并且返回了多少结果,但每次查询尝试都会减少吗?

谢谢!

【问题讨论】:

【参考方案1】:

这个article 似乎有你需要的回复。

据此回答问题:

    每秒请求数没有限制,但你有15k requests/hour/subscription/region/instance of ARM region。在最坏的情况下,您将在 15k 请求后受到限制,但您必须非常不幸。 如果超出限制,您将 告诉您必须等待多少,您可以通过以下方式整合该逻辑 查看Retry-After 标头。令人高兴的是,这是一个问题 秒。 我相信$top 参数不会影响查询,因为 无论带回多少个结果,一个分页请求都是 仍然只是一个请求。

至于你收到 14999 个请求的事实 剩余多次,正如他们在文档中所说的那样 预期,因为ARM 区域有多个实例,每个实例都有 15k 请求限制/订阅/小时。如果你同时击中并且 你得到相同的数字,这只是意味着你很幸运 足以命中同一ARM 区域内的不同实例。

【讨论】:

【参考方案2】:

1) 我每秒可以读取多少次?

根据此处发布的速率限制 - https://azure.microsoft.com/en-in/documentation/articles/azure-subscription-service-limits/#subscription-limits,您可以执行 15000 次读取/小时(不确定是否会转换为 4 次读取/秒)。

2)如果我超过了整个剩余读取参数,多少时间 我应该等到它再次达到最大值吗?

鉴于费率是每小时定义的,如果您用完 15000 次读取请求限制,我的猜测是等到下一个小时。

3) 每次查询尝试都会减少,尽管 $top 设置了参数,返回了多少结果?

这是基于 API 调用的数量,而不是返回的数据量。所以我想说定义$top参数不应该对此产生任何影响。

当我向 Inisghts API 发出事件的 HTTP 请求时,我收到 标头“x-ms-ratelimit-remaining-subscription-reads”,带有值 “14999”。但是 1s 中的下一个查询会返回相同的剩余值 读取。

我认为这里有一些缓存在起作用。您重复的请求是相同的请求还是不同的请求?

【讨论】:

关于一次又一次地获得 14999 - 这是 2 个,以及更多的后续查询,每个都有不同的过滤器

以上是关于针对事件(审核日志)查询 Azure Insights REST API 的速率限制策略的主要内容,如果未能解决你的问题,请参考以下文章

EMS 动手实验1:将Azure AD 登陆和审核日志发送到Azure Monitor

sql 搜索创建的新用户的Azure AD审核日志

是否可以将Azure信息保护活动日志流式传输到事件中心?

Citrix Xenserver 审核日志事件

SmartBI大数据分析软件Insigh2018“旺”出来

SQL Server 审核事件日志