ログをフィルタリングしてログベースの指標を作成する

Crashlytics データと(必要に応じて)Firebase セッション データを Cloud Logging にエクスポートすると、ログをフィルタしたり、ログベースの指標を作成したりできます。どちらも、特定のデータの表示、使用、分析に役立ちます。

まだ確認していない場合は、データでできることで、Cloud Logging に保存されているデータの操作に関する包括的なリストと例をご確認ください。

クエリでログをフィルタする

ログをフィルタすると、特定のデータを表示できるだけでなく、データ ストレージの費用を削減し、さらに分析を行うことができます。ログは LQL(Logging Query Language)を使用してフィルタします。

クエリを使用してログをフィルタする方法については、Logs Explorer を使用したサンプルクエリログクエリの作成をご覧ください。下の表では、これらのクエリで使用できるフィールドについて説明しています。

フィルタの使用例

Crashlytics の場合、クエリの初期フィルタの例は次のとおりです。

  • 特定のアプリ バージョンのすべての致命的なクラッシュを検索します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • 特定のデバイスモデル(Google Pixel 6a など)で発生しているクラッシュを特定します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • すべての致命的なイベントで特定の OutOfMemoryError を検索します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • 特定の Crashlytics 問題 ID のイベントを検索します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

ログスキーマ

各ログエントリには、事前定義された構造とクエリ可能なフィールドがあります(LogEntry をご覧ください)。

Crashlytics データFirebase セッション データデバイスログなど、エクスポートされたデータのログスキーマについて説明します。

ログベースの指標を作成する

ログベースの指標を確認して構築した後、Cloud Monitoring でこれらの指標を使用して、グラフ、カスタム ダッシュボード、カスタム アラートを作成できます。

  • 特定の期間中に発生したロギング イベントの数など、自動的に記録される事前定義されたシステム指標を使用します。

  • プロジェクトのユーザー定義の指標を作成します。特定のクエリに一致するログエントリの数のカウントや、一致するログエントリで特定の値の追跡が可能です。正規表現を使用してフィルタできます。ユーザー定義指標の料金を確認してください。

  • Cloud Monitoring を使用して、特定のメッセージを含むログエントリの数を記録し、ログエントリに報告されたレイテンシ情報を抽出します。これらの指標は、グラフやカスタム アラートで使用できます。

ログベースの指標の例

エクスポートした Crashlytics と Firebase セッション データから作成できるユーザー定義のログベースの指標の例を 2 つ示します。

  • Crashlytics データを使用する:
    errorType というラベルが付いた firebase/crashlytics_events という名前の指標を作成し、次のように定義します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"

  • Firebase セッション データを使用する場合:
    firebase/session_events という名前の指標を作成し、eventType というラベルを付け、次のように定義します。

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"

次のステップ