我目前正在使用Google Stackdriver(新布局!(来调查我的日志记录。在我的案例中,有三个服务在相互通信。我很想以最方便的方式通过我的INFO登录来看到他们之间的交流。
FooService > BarService > SnickerService
现状
目前我只能看到其中一个服务的日志。因此,我开始打开三个浏览器选项卡,并打开所有三个提到的服务日志。现在我计算出FooService
开始调用BarService
的时间戳/范围。这个时间范围我适用于其他两个服务。这样,我就可以大致了解流程是如何在这些服务之间分布的。
然而,这种方法每次设置都非常尴尬
这就引出了一个问题,我是否可以将三个容器的日志记录放到一个Stackdriver视图中?
在日志查询中,我看到了这个字段(例如FooService(
resource.labels.pod_name="fooservice-bd4c9bf4d-nv4k2"
问题
- 这里有
AND
操作的方法吗 - 是否还有一种方法可以";搜索";豆荚?目前,我总是要深入我的Workloads并挖掘pod id(上面的示例:bd4c9bf4d-nv4k2(,以便在查询中使用它。通过这样做,我只需在谷歌云控制台中点击
View Logs
就会更快。所以这不可能是一个很快的方式
您可以使用2个运算符
- :是包含运算符
- ((是组运算符
With:您可以搜索部分名称。使用此resource.labels.pod_name: "fooservice"
匹配所有fooservicepod名称。
使用((可以对值进行分组或比较,如以下("foo"或"bar"(
如果你把放在一起
resource.labels.pod_name: ("fooservice" OR "barservice")
->该过滤器允许您在pod_name上进行过滤,该pod_name包含值";fooservice";OR";酒吧服务;