gpt4 book ai didi

azure - 使用 Log Analytics 查询在 AKS 中查找 POD 日志

转载 作者:行者123 更新时间:2023-12-02 23:38:20 24 4
gpt4 key购买 nike

有一个正在运行的 AKS 连接到 Azure 中的 Log Analytics。我正在尝试使用以下查询片段查看命名 POD 的日志:

let KubePodLogs = (clustername:string, podnameprefix:string) {
let ContainerIdList = KubePodInventory
| where ClusterName =~ clustername
| where Name startswith strcat(podnameprefix, "-")
| where strlen(ContainerID)>0
| distinct ContainerID;
ContainerLog
| where ContainerID in (ContainerIdList)
| join (KubePodInventory | project ContainerID, Name, PodLabel, Namespace, Computer) on ContainerID
| project TimeGenerated, Node=Computer, Namespace, PodName=Name1, PodLabel, ContainerID, LogEntry
};
KubePodLogs('aks-my-cluster', 'my-service') | order by TimeGenerated desc

上述查询确实返回匹配 POD 的行,但并非所有实际可用的行。

尝试通过检查 POD 详细信息来获取部分查询的结果:

KubePodInventory
| where ClusterName =~ 'aks-my-cluster'
| where Name startswith 'my-service-'
| where strlen(ContainerID)>0
| distinct ContainerID;

给我一​​个容器ID。现在将此容器 ID 输入到另一个查询中会显示更多内容结果然后是上面的组合查询。为什么?

ContainerLog 
| where ContainerID == "aec001...fc31"
| order by TimeGenerated desc
| project TimeGenerated, ContainerID, LogEntry

我注意到的一件事是,后面的简单查询结果包含日志结果,其中有一个从 POD 的 JSON 格式输出解析而来的 LogEntry 字段。在结果中,我可以将 LogEntry 扩展到与该 POD 日志输出的原始 JSON 数据相对应的更多字段。

即看起来组合查询(带有连接)会跳过那些 JSON LogEntry ContainerLog 条目,但为什么呢?

据我所知,组合查询不会以任何方式在 LogEntry 字段上进行过滤。

最佳答案

更改后的查询似乎会产生我期望的结果:

我将 joinlookup 交换,并使用更多列来区分 KubePodInventory 结果。

let KubePodLogs = (clustername:string, podnameprefix:string) {
let ContainerIdList = KubePodInventory
| where ClusterName =~ clustername
| where Name startswith strcat(podnameprefix, "-")
| where strlen(ContainerID)>0
| distinct ContainerID, PodLabel, Namespace, PodIp, Name;
ContainerLog
| where ContainerID in (ContainerIdList)
| lookup kind=leftouter (ContainerIdList) on ContainerID
| project-away Image, ImageTag, Repository, Name, TimeOfCommand
| project-rename PodName=Name1
};
KubePodLogs('aks-my-cluster', 'my-service') | order by TimeGenerated desc

关于azure - 使用 Log Analytics 查询在 AKS 中查找 POD 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66580196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com