2022 年 10 月 18 日に開催される Firebase Summit に、直接会場で、またはオンラインでご参加ください。Firebase を使用してアプリ開発を加速させ、自信を持ってアプリをリリースし、簡単にスケールする方法をご紹介します。 今すぐ申し込む

Cloud Loggingを使用して、サイトのWebリクエストログを表示、検索、およびフィルタリングします

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

FirebaseプロジェクトをCloudLoggingにリンクして、各ホスティングサイトのウェブリクエストログを表示、検索、フィルタリングできます。これらのログは、Firebaseによって自動的に提供されるCDNからのものであるため、サイトへのすべてのリクエストと関連するリクエストデータがログに記録されます。

クラウドログログで行うことは次のとおりです。詳細については、このページの各セクションにアクセスしてください。

プロジェクトに複数のホスティングサイトがある場合は、どのホスティングサイトがログをエクスポートするかを選択できます。その後、ホスティングサイトごと、さらにはドメインごとにログデータをフィルタリングして表示できます。ログをエクスポートする特定のホスティングサイトを選択することで、プロジェクトで処理されるデータの量を制御することもできます。

  1. FirebaseコンソールのCloudLogging統合カードで[リンク]をクリックします。

    Cloud Loggingをリンクまたはリンク解除するには、プロジェクトの所有者または編集者、またはFirebaseDevelopAdminのいずれかの役割にバンドルされている権限が必要です。

  2. 画面の指示に従って、ログをクラウドログにエクスポートするホスティングサイトを選択します。

    すでに1つ以上のアクティブなホスティングサイトがある場合、リンクワークフローには、各ホスティングサイトからのログの推定データ使用レベルが表示されます。この値は過去30日間から推定されています。

Cloud Loggingにリンクした後、ホスティングサイトへの新しいリクエストのログは、通常、リクエストが行われてから30分以内に表示されます。

また、 FirebaseHostingのリンクをCloudLoggingから解除して、WebリクエストログのCloudLoggingへのエクスポートを停止することもできます。

ログのデータ使用量を監視する

クラウドログにリンクした後、ホスティングサイトからのログのデータ使用レベルを表示できます。

あなたのサイトをよりよく理解する

Google CloudConsoleのLogsViewerインターフェースは、クエリと組み込みのフィルタおよびデータパネルを使用して特定のログとデータを表示するためのツールを提供します。以下の次のセクションで、クエリを使用してログをフィルタリングする方法の詳細をご覧ください。

  • あなたのサイトのトラフィックはどこから来ていますか?
    ソースIP、リファラー、都市、ステータスなど、各リクエストに関する情報を表示できます。

  • ユーザーはいつサイトにアクセスしますか?
    ヒストグラムパネルを使用して、特定の時間範囲ごとの分布を確認できます。これにより、アプリの使用量の通常のピークとディップを把握できるだけでなく、トラフィックの予期しない急増を明らかにすることができます。

  • エンドユーザーリクエストのステータス分布はどのようになっていますか?
    各リクエストのステータスを表示したり、エラーを受け取ったリクエストを診断したりすることもできます。 CriticalError 、またはWarningでログをフィルタリングできます。

  • サイトがリクエストに応答するのにどのくらい時間がかかりますか?
    各ログにキャプチャされたlatency値を使用して、各リクエストのサイトのレイテンシを表示できます。

  • あなたのサイトはコンテンツキャッシュを利用していますか?
    各ログには、サイトのリソースがホスティングのCDNキャッシュからすばやく提供されたかどうか、またはホスティングバックエンドに完全にアクセスする必要があるかどうかを示すcacheHitフィールドが含まれています。これは、FirebaseのグローバルCDNを最大限に活用することで、ウェブサイトのパフォーマンスを向上させるのに役立ちます。たとえば、データを使用して、静的アセット動的コンテンツのキャッシュの習慣を微調整できます。

  • さまざまなドメインへのトラフィックの分散はどのようになっていますか?
    複数のドメインまたはホスティングサイトがある場合は、ドメインまたはサイトでログをフィルタリングできます。これにより、トラフィックがどのように分散されているかを確認できます。ドメインでフィルタリングすると、どのドメインに最も頻繁にアクセスしたかを追跡できます。

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

クエリでログをフィルタリングする方法については、「ログビューアを使用したサンプルクエリおよび「ログクエリの作成」にアクセスしてください。次の表に、これらのクエリで使用できるフィールドを示します。

ホスティングの場合、クエリの初期フィルタは次のとおりです。

  • リソースresource.type )— firebase_domain (Firebaseホスティングサイトドメイン)
  • ログ名logName )— webrequests (Firebase Hosting)

各ログエントリには、事前定義された構造とクエリ可能なフィールドがあります( LogEntryを参照)。ホスティングの場合、一部のフィールドはHTTPリクエストに標準ですが、ホスティングが各リクエストで実行する処理から取得される他のフィールド値があります。

分野説明
Firebase Hostingは、ログエントリのhttpRequestオブジェクトに次のフィールドを保存します。
これらのフィールドは、HTTP仕様で定義されています。
cacheHitホスティングCDNが応答のリソースをキャッシュに持っているかどうか
latencyリクエストの継続時間( s単位、接尾辞( 1.256s ))
protocolリクエストに使用されるプロトコル(たとえば、 HTTP/1.1HTTP/2websocket
referer現在要求されているページへのリンクがたどられた前のWebページのアドレス(存在する場合)
remoteIpリクエストの発信元クライアントIP
requestMethodリクエストメソッド( GETPOSTPUTなど)
requestSizeリクエストのサイズ(バイト単位)
requestUrlリクエストの完全なURL(たとえば、
https://foo.web.app/barまたはhttps://custom.domain.com?query=param
responseSizeバイト単位のHTTP応答サイズ
serverIp設定されていません
status HTTP応答ステータス(たとえば、 200または404
userAgentリクエストのuser-Agentヘッダー
Firebase Hostingは、ログエントリのjsonPayloadオブジェクトに追加のフィールドを保存します。
acceptEncoding (HTTPリクエストから)クライアントがサポートするコンテンツエンコーディング(通常は圧縮アルゴリズム)( gzipcompressなど)
billableプロジェクトがリクエストに対して請求されたかどうか
customDomainカスタムドメインに対してリクエストが行われたかどうか
hostnameリクエストが行われたホスト名
remoteIpCountryリクエストの発信国
remoteIpCityリクエストの発信元の都市

ログベースのメトリックを使用する

ログベースの指標を表示および構築してから、Cloud Monitoringでこれらの指標を使用して、グラフとアラートポリシーを作成できます。

  • 特定の期間内に発生したログイベントの数など、自動的に記録される事前定義されたシステムメトリックを活用します。

  • プロジェクトのユーザー定義メトリックを作成します。特定のクエリに一致するログエントリの数をカウントしたり、一致するログエントリを使用して特定の値を追跡したりできます。正規表現を使用してフィルタリングできます。

  • Cloud Monitoringを使用して、特定のメッセージを含むログエントリの数を記録するか、ログエントリで報告された遅延情報を抽出します。その後、これらのメトリックをチャートおよびアラートポリシーで使用できます。

Firebase Hostingは、次のホスティング固有のログ指標も生成します。これらの指標は、ログエントリに固有のものではなく、特定のホスティングサイト全体に固有のものです。

  • log_bytes :各サイトのデータ使用量の合計バイト数

  • response_count :サイトに対して書き込まれた応答の総数

    このメトリックにはHTTPステータスのフィールドが含まれているため、ステータスごとにHTTP応答をプロットできます(例として)。

ログを他のGoogleCloudツールにエクスポートする

たとえば、サイトのログをCloudMonitoringやBigQueryなどの他のGoogleCloudツールにエクスポートすることもできます。

  • Cloud Monitoringを使用すると、グラフやアラートポリシーで使用できるログベースの指標を作成できます。

  • BigQueryを使用すると、次のいずれかを実行できます。

    • Data Studioを使用して、ホスティングデータのダッシュボードを生成します。
    • クエリを実行して、リクエストに関するより多くの洞察を取得します(平均応答サイズ、キャッシュヒットとミスなど)。
    • ユーザーが実際にリクエストするURLを確認してください。
    • ホスティングデータをBigQueryにエクスポートした他のFirebaseデータと組み合わせて、新しい方法でクエリを実行します。