簡體   English   中英

Google Cloud Console 日志記錄中的正則表達式

[英]Regular Expressions in Google Cloud Console Logging

您如何使用正則表達式在新的 Cloud Console 中搜索 Google App Engine 日志?

這篇博文建議您只需鍵入regex:my.*query即可進行搜索,但這在日志控制台中似乎不起作用。 當我這樣做時,它會自動更正為以下查詢text:regex:my.*query

雖然,我來晚了,但你可以在 stackdriver 中完成。

=           # equal
!=          # not equal
> < >= <=   # numeric ordering
:           # "has" matches any substring in the log entry field

如果您想在textPayload中找到所有帶有 500 的 GET 響應,則需要添加過濾器:

textPayload:"500"

要搜索其中包含central1的所有zone

resource.labels.zone:"-central1-"

而已。 您可以參考此鏈接以獲取更多高級過濾器

現在 Google Cloud Operations Logging 支持正則表達式。 此功能發布於 2020-09-17,請參閱https://cloud.google.com/blog/products/management-tools/cloud-logging-gets-regular-expression-support 您的正則表達式以這種格式工作:

textPayload=~"my.*query"

您可以使用運算符=~查詢正則表達式匹配項,使用運算符!~查詢不匹配項:

=~          # regular expression search for a pattern
!~          # regular expression search not for a pattern

有關語法和示例的更多信息,請參閱 Google Cloud Operations Suite 日志記錄查詢語言參考: https ://cloud.google.com/logging/docs/view/logging-query-language#regular-expressions

Stackdriver Logging 產品目前不支持正則表達式。 它最初在一段時間前得到支持(正如您在博客文章中看到的那樣),但我們發現它很少被使用,並且其中許多用途是用於簡單的模式,這些模式具有更簡單的解決方案,而沒有正則表達式的性能和其他損失。

在基本過濾器模式(默認)中,文本搜索自動不區分大小寫並匹配字段值的子字符串,您可以使用“..”表示數值范圍。 在高級過濾器模式下,“has”運算符通過在過濾器表達式中使用:而不是=來完成相同的事情,例如path.to.field: "value" (另請參閱: 編寫有效的高級過濾器

如果這些操作員沒有實現您的目標,請考慮通過 Cloud Console 右上角的對話氣泡按鈕提交反饋,提供您的用例的詳細信息以及您最終想要實現的目標,我們會將這些反饋合並為我們規划產品的未來方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM