【发布时间】:2021-03-22 16:55:40
【问题描述】:
我有两个针对特定服务运行的 pod。我想获取与这两个 pod 相关的日志并检查特定文本。
为此我使用了,如here所述:
kubectl logs -l app=my-app -c my-app-container --since=25m | grep -i "search-text" |wc -l
这不会输出任何内容,即使 search-text 有匹配的文本
然后尝试deployments
kubectl logs deployment/my-app-deployment -c my-app-container --since=90m | grep -i "search-text" |wc -l
如何在所有相关 pod 中搜索此特定字符串?
kubectl logs my-pod-1 -c my-app-container --since=90m | grep -i "search-text" |wc -l,这给出了正确的计数。
参考资料:
Get all Logs from a specific container in a replica set
how to get logs of deployment from kubernetes
【问题讨论】:
-
可以先检查这个输出:
kubectl logs -l app=my-app -c my-app-container --since=25m?它会返回预期的日志吗? -
@KrishnaChaurasia 是的,它有输出。
-
您可以使用它来获取与标签匹配的所有容器的 pod:
kubectl logs -l app=my-app --all-containers | grep "time" | wc -
不确定哪里出了问题,请检查 grep 是否为任何其他字符串生成结果,以确保您要查找的模式不需要使用 `\` 转义。
标签: logging kubernetes grep kubernetes-pod wc