When using Kubernetes it's common to have multiple instances of a pod running. Each pod will create a unique log available in the "logs selector" dropdown (see screenshot). I'd like to search for text in only specific logs in the Google Cloud Logging console. For example I'd like to search for text "Something" in all logs whose name contains "my-pod-v1". Is this possible?
问问题
2320 次
1 回答
1
对于 Kubernetes 1.0 或更低版本的节点,您最好的选择是使用 Cloud Logging 的“高级过滤器”。您可以通过选择搜索栏末尾的菜单下拉菜单并选择“转换为高级过滤器”来启用高级过滤器选项。
高级过滤器允许您使用运算符对日志名称进行子字符串匹配:
,因此您可以使用高级过滤器查询查询,例如structPayload:Something log:kubernetes.my-pod-v1
从名称以“kubernetes.my-pod”开头的日志中选择包含文本“Something”的日志行-v1”。请注意,此查询可能会很慢,但它应该可以工作。
对于 Kubernetes 1.1 或更高版本的节点,这种查询变得非常容易,因为 Container Engine 日志在下拉框中有自己的层次结构,并且日志名称是容器名称而不是 pod 名称,因此来自具有相同副本的所有日志通过选择适当的日志名称,可以将其中的容器简单地组合在一起。
于 2015-11-11T21:48:43.340 回答