【发布时间】:2019-05-17 16:53:09
【问题描述】:
这两个过滤器返回零结果:
resource.labels:* AND resource.labels.namespace_name:*resource.labels:* AND NOT resource.labels.namespace_name:*
虽然这个回报很多:
resource.labels:*
我对此有三个问题:
- 这是怎么回事?
- 更重要的是,如何排除特定值 namespace_name while not 不包括未定义的记录 命名空间名称?
- 同样,如何为所有未定义命名空间名称的记录编写过滤器?
【问题讨论】:
-
resource.labels.namespace_name:*是否返回任何内容?一个预感是你不能否定场的存在。这可能(!)是索引存在的属性的结果(因此,没有属性的记录,没有出现在索引中)。一种解决方案(不能通过控制台获得)是获取日志,然后排除那些与您希望排除的namespace_name值匹配的日志。是的:2 个步骤,你需要另一个工具(可能是 jq)。 -
你说得对;我已经预先过滤了这组结果以排除那些定义命名空间名称的结果,以使我对问题的解释更简单。
-
根据您的理论,Stackdriver 只是天生无法代表我的查询?在那种情况下,通过“接收器”将日志导出到另一个系统对我有帮助吗?我想保留 stackdriver 的能力来近乎实时地“
tail”它的日志,所以也许我的一组约束是无法满足的......例如,我找不到任何方法来跟踪来自gcloud的 stackdriver 日志CLI。 -
客户将日志接收到例如BigQuery、Splunk 既可以提供更丰富的查询,又可以节省成本。但让我们看看其他人是否有使用 Cloud Logging 的解决方案。
-
好的,我找到了您的客户团队,他们也想与您联系。请通过@google.com 给我发电子邮件——我的 Google 句柄与我的 Stack Overflow 句柄相同——我会将你与他们合并到一个线程中。
标签: stackdriver google-cloud-stackdriver