ドキュメント

サポート

Cloud Code

ログのフィルター処理

Query and filter your structured logs using a custom query language with operators and boolean expressions.
読み終わるまでの所要時間 1 分最終更新 23日前

ロギングサービスは、構造化されたログを簡単にフィルター処理できるカスタムクエリ言語をサポートします。このセクションでは、クエリ言語の構文と使用方法を説明し、開始に役立ついくつかの例を提供します。

基本的な構文と演算子

フィルタークエリは、1 つ以上の条件から構成されます。条件の基本構文は、以下のコンポーネントから構成されます。

コンポーネント

条件

フィールドフィルター処理する
severityText
body
logAttributes
などのフィールド。
演算子サポートされる演算子の 1 つ。以下の演算子の表を参照してください。
フィールドと比較する値。
サポートされる演算子のリストについては、以下の表を参照してください。

演算子

意味

=
等しい
!=
等しくない
~=
含む (
body
でのみ使用可能)
!~=
含まない (
body
でのみ使用可能)
\>
より大きい
<
より小さい
<=
以下
\>=
以上

ブーリアン式とグループ化

ブーリアン式とかっこを使用したグループ化を使用して、複雑なフィルタークエリを作成できます。これにより、複数の条件を組み合わせて正確なフィルターを作成できます。

ブーリアン式

意味

AND
または
&&
両辺の条件が両方とも true である必要があります。
OR
または
||
両辺の条件の少なくとも 1 つが true である必要があります。
グループ化かっこ ( と ) を使用して式をグループ化し、評価の順序をコントロールします。
クエリの記述を単純化するために、改行もブーリアン
AND
として解釈されます。これは、すべてを照合する必要がある場合に、行ごとに 1 つの条件を記述できることを意味します。

フィルタークエリの例

特定の重大度レベルのすべてのログを選択します。
severityText = "ERROR"
特定の重大度レベルより上のすべてのログを Cloud Code から選択します (改行は AND として扱われます)。
resourceAttributes.service.name = "cloud-code"severityNumber >= 12
メッセージ内の特定の単語を含むログを除外します。
body !~= "healthcheck"
複数の条件とグループ化を組み合わせます (重大度のエイリアスを使用)。
(logAttributes.event.name = "example-event" AND body ~= "timeout") OR (logAttributes.custom.counter > 9000 AND severity = "WARN")

ノート

以下のノートは、フィルタークエリ言語に適用されます。
  • 利便性のために
    severityText
    フィールドも
    severity
    としてエイリアス化されます
  • ファジーマッチ演算子 (= と !=) は
    body
    フィールドでのみサポートされます
  • logAttributes
    キーでは大文字と小文字が区別されます
  • logAttributes
    値は自動的に文字列に変換されます