Firebase Crashlytics と Firebase コンソールのダッシュボードを使用すると、アプリの安定性に関するデータを探索して分析できます。Crashlytics の標準機能を使用して、アプリの実行に関連する数多くのタスクや目標を達成できます。
とはいえ、アプリやビジネスが拡大して複雑さが増すにつれて、さまざまなタイプの質問に回答したり、独自の方法でデータの分析や結合を行ったり、データに基づいてカスタム ダッシュボードやカスタム アラートを作成したりする必要が生じる場合もあります。
このすべてを行えるように、Crashlytics には、強力な Google Cloud サービス(BigQuery と Cloud Logging)にデータをエクスポートするためのオプションが用意されています。これらのサービスの機能の包括的なリストについては、エクスポートされたデータで可能な操作をご覧ください。
BigQuery: SQL クエリを使用したデータの分析、他のデータセットのデータの結合、別のクラウド プロバイダへのデータのエクスポート、データの可視化とカスタム ダッシュボードの構築(たとえば、Looker Studio を使用)を行います。
BigQuery へのエクスポートを設定するCloud Logging: 高度な分析用のログベースの指標の作成、カスタム通知チャネル用の高度なアラートの設定、Cloud Monitoring を使用したカスタム ダッシュボードとグラフの構築などを行います。
Cloud Logging へのエクスポートを設定する
このページでは、これらの Google Cloud サービスで、エクスポートされた Crashlytics データと(必要に応じて)Firebase セッション データを使用する方法について詳しく説明します。
各サービスにエクスポートされるデータ
エクスポートには、デバイスの種類、オペレーティング システム、例外(Android アプリ)またはエラー(Apple アプリ)、Crashlytics ログなどの未加工の Crashlytics データと(必要に応じて)Firebase セッション データに加えて、その他の関連するメタデータが含まれます。
各サービスにエクスポートされるデータは同じですが、構造が異なります。BigQuery の場合、データはテーブルに格納され(データセット スキーマを参照)、Cloud Logging の場合、データはログ形式で格納されます(ログスキーマを参照)。
エクスポートされたデータで可能な操作
以下に、これらの Google Cloud サービスで Crashlytics データを使用してできる主な機能を示します。BigQuery と Cloud Logging のすべての機能については、Google Cloud ドキュメントでご確認ください。
BigQuery にエクスポートされたデータ
SQL クエリを使用してデータを分析する
Crashlytics データに対してクエリを実行することで、カスタム レポートと概要を生成できます。これらのタイプのカスタム レポートは Firebase コンソールの Crashlytics ダッシュボードでは利用できないため、クラッシュ データの分析と理解を補完できます。クエリの例のコレクションも提供しています。異なるデータセットのデータを結合する
たとえば、Crashlytics データ エクスポートを設定するときに Firebase セッション データをエクスポートすることを選択すると、クラッシュの影響を受けていないユーザーとクラッシュが発生しなかったセッションをより詳細に把握できます。また、さまざまな Firebase プロダクト(Performance Monitoring など)や Google Analytics からデータをエクスポートし、BigQuery で Crashlytics データと結合して分析することもできます。ビューを作成する
BigQuery UI を使用して、SQL クエリで定義した仮想テーブルである「ビュー」を作成できます。さまざまな種類のビューとその作成方法に関する詳細な手順については、BigQuery ドキュメントをご覧ください。データの可視化とカスタム ダッシュボードを構築する
たとえば、あらかじめ用意された Crashlytics テンプレートを使用して、Looker Studio を使用してダッシュボードを構築できます。
Cloud Logging にエクスポートされたデータ
高度な分析用のログベースの指標を作成する
ログエントリを指標に変換して、特定のアプリの動作や安定性の傾向を経時的に追跡できます。たとえば、特定の非致命的な例外が発生した回数をカウントする指標を作成し、他のシステム健全性指標とともに可視化できます。カスタム通知チャンネル用の高度なアラートを設定する
デフォルトのメールアラート以外に、Cloud Monitoring でカスタムのアラート ポリシーを設定します。特定のログパターンやしきい値に基づいて通知をトリガーし、Slack、Jira、PagerDuty などのサービスに送信します。カスタム ダッシュボードとグラフを作成する
Cloud Monitoring を使用してパーソナライズされたダッシュボードを作成し、ビジネスにとって最も重要な指標をハイライト表示します。クラッシュ未発生率、セッション数、エラー数を、他の Google Cloud プロダクト データと組み合わせて 1 つのビューで可視化できます。アプリのクラッシュとバックエンド ログを関連付ける
クライアントサイドのクラッシュ データとサーバーサイドのログを 1 か所に統合します。未加工のクラッシュ データを大規模に検索してフィルタする
Logs Explorer を使用して、LQL(Logging Query Language)で複雑なクエリを実行します。すべてのユーザーとバージョンから特定のログメッセージ、カスタムキー、パンくずリストを検索して、まれな問題やデバイス固有の問題を見つけることができます。長期保持または外部処理用にデータを転送する
ログシンクを使用して、Crashlytics ログをコンプライアンス用に Cloud Storage に、大規模分析用に BigQuery に、独自の外部モニタリング ツールにデータをストリーミングするために Pub/Sub にエクスポートします。
BigQuery と Cloud Logging のそれぞれが適しているケース
どちらにデータをエクスポートするか判断する際に考慮すべき主な相違点を以下に示します。
| BigQuery にエクスポートされたデータ | Cloud Logging にエクスポートされたデータ | |
|---|---|---|
| 適用可能なビジネス上の役割 | データ アナリストの役割に最適で、特に、複数のデータセットのデータを結合する場合などに適しています。 | デベロッパーや SRE がカスタム アラートやダッシュボードを設定したり、サーバーサイドのモニタリング データに簡単に接続したりする場合に役立ちます。 |
| Google Cloud プロダクトでデータを使用する場合のオプション |
|
|
| データの結合とさらにエクスポートする場合のオプション |
|
|
| 料金 |
ストレージとクエリの両方に対して料金が発生します。 詳細については、Crashlytics データを BigQuery にエクスポートするをご覧ください。 |
ストレージの料金は発生しますが、クエリの料金は発生しません。 詳細については、Crashlytics データを Cloud Logging にエクスポートするをご覧ください。 |
次のステップ
BigQuery へのエクスポートを設定する Cloud Logging へのエクスポートを設定する
Crashlytics データと(必要に応じて)Firebase セッション データのエクスポートを設定したら、Google Cloud サービスの機能を使ってみましょう。
BigQuery にエクスポートされたデータについては、クエリの例を確認し、エクスポートされたデータのデータセット スキーマをご覧ください。
Cloud Logging にエクスポートされたデータについては、エクスポートされたデータで可能な操作、ログベースの指標のフィルタと使用方法、カスタム通知チャネル用のカスタム アラートの設定方法をご覧ください。
さまざまな Google Cloud サービスを使用してカスタム ダッシュボードを作成します。BigQuery または Cloud Logging で利用できるオプションを確認してください。