日志分析中的 Azure AKS 数据摄取优化

Azure AKS data ingestion optimization in log analytics

我正在使用 azure AKS 进行 Mechine 学习模型部署,它每周自动部署模型

现在 AKS 产生更多的日志分析数据摄取成本

我们正在努力优化日志分析的数据摄取

我在 AKS 中有两个节点

我们可以通过某种方式减少一些数据摄取。但是当我今天看到过去 24 小时的数据摄取时,它再次增加,当我尝试查看产生可计费数据摄取的节点时,它显示了另一个文件,显示为 'deprecate field: see http://aka'

下面我提到查询和查询结果供参考

查询

find where TimeGenerated > ago(24h) project _BilledSize, Computer
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName

查询结果

ComputerName                        TotalVolumeBytes

aks-agentpool-28198374-vmss000007   232,567,315 

aks-agentpool-28198374-vmss000001   617,340,843 

deprecated field: see http://aka    129,052 

computerName
deprecated field: see http://aka

TotalVolumeBytes
129052

这里的 aks-agentpool-28198374-vmss000007 和 aks-agentpool-28198374-vmss000001 是我的节点

但是我不知道'deprecated field: see http://aka'

我不处理 ML 模型部署(我不太清楚)我问了 ML 团队,他们也不知道这是怎么回事

我分析了许多文档和查询,但我无法得到关于它是什么以及如何摆脱它的答案。

任何人都可以指导我这在我的节点列表中是什么以及我该如何停止它?

您获得的值 http://aka 可能是某些 Microsoft 文档的 link 的一部分。当您执行 tolower(tostring(split(Computer, '.')[0])).

时,您正在截断它

尝试将 Computer 添加到您的摘要子句中,以便您可以获得完整的 link:

find where TimeGenerated > ago(24h) project _BilledSize, Computer
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName, Computer

执行此操作后,您会发现字段 Computer 的值是 Deprecated field: see http://aka.ms/LA-Usage

访问 that link 告诉您 Usage table 包含 “工作区中每个 table 的每小时使用数据。” 在列引用 table 中,您可以看到有许多列已弃用,例如“计算机”。

即计算机字段已被弃用,稍后将不再使用 table。它仍然存在,但该字段的值将始终为 Deprecated field: see http://aka.ms/LA-Usage ,直到它被无限期删除。

这仅意味着用法 table 中的 Computer 字段不应再使用并将被删除。不能再单独使用使用 table 来确定哪个 Computer 产生了哪个成本。

您可以使用以下查询查询用法 table,并看到 Computer 字段始终包含弃用消息。

Usage
| summarize sum(_BilledSize) by Computer, SourceSystem, DataType, Type

编辑:

如果您关心的是查找哪种资源对您的工作区成本的贡献更大,而不是哪种资源生成的日志最多(不一定需要相同,因为某些数据在日志分析中是免费提取的) ,请添加 _IsBillable 作为您查询的过滤器以排除未计费的条目:

find where TimeGenerated > ago(24h) project _BilledSize, Computer, _IsBillable
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != "" and _IsBillable == true
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName

由于使用 table 中字段 Computer 是已弃用字段的条目不可计费,因此不会显示。