Apollo
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Apollo

Crawler Crawler

Supported OS: Linux Mac OS Windows

概要

Apollo Datadog インテグレーションにより、Graph Manager で利用可能なパフォーマンスメトリクスを Datadog に転送できます。Datadog はさらに高度な機能 API をサポートしているため、チームは GraphQL メトリクスのグラフとアラートを作成できます。

メトリクス

Graph Manager によって転送される Datadog メトリクスは次のとおりです。

  • apollo.engine.operations.count - 実行された GraphQL 操作の数。これには、クエリ、ミューテーション、エラーになった操作が含まれます。
  • apollo.engine.operations.error_count - エラーになった GraphQL 操作の数。これには、GraphQL 実行エラーのほか、Graph Manager がサーバーへの接続に失敗した場合の HTTP エラーが含まれます。
  • apollo.engine.operations.cache_hit_count - Apollo Server のクエリキャッシュ全体から結果が提供された GraphQL クエリの数。
  • GraphQL 操作の応答時間のヒストグラム (ミリ秒単位)。Graph Manager の集計方法 (対数ビニング) のため、以下の値の精度は 5% 以内です。

    • apollo.engine.operations.latency.min
    • apollo.engine.operations.latency.median
    • apollo.engine.operations.latency.95percentile
    • apollo.engine.operations.latency.99percentile
    • apollo.engine.operations.latency.max
    • apollo.engine.operations.latency.avg

Datadog に転送されるすべてのメトリクスは 60 秒間隔で集計され、GraphQL 操作名に operation:<クエリ名> というタグが付けられます。同じ操作名を持つ一意のクエリシグネチャはマージされ、操作名のないクエリは無視されます。

すべてのメトリクスには、Graph Manager のグラフ ID に service:<グラフ_ID>、バリアント名に variant:<バリアント名> のタグが付けられるため、Graph Manager の複数のグラフが同じ Datadog アカウントにデータを送信できます。バリアント名を設定していない場合、”current” が使用されます。

Engine プロキシを介してメトリクスを Graph Manager にレポートする場合、Datadog はプロキシの複数のインスタンスにわたって統計をマージします(ホストごとのメトリクスは使用できません)。Graph Manager UI と同様に、クエリバッチ内の各操作は個別にカウントされます。

セットアップ

コンフィギュレーション

Apollo Datadog インテグレーションは、Graph Manager に Datadog API キーを提供するだけで簡単にセットアップできます。それ以上の構成は必要ありません。

  1. Datadog インテグレーションページに移動し、Apollo タイルをクリックします。Configuration タブに移動し、一番下までスクロールして、Install Integration を押します。

  2. Datadog API ページに移動して、API キーを作成します。

  3. Graph Manager で、グラフのインテグレーションページに移動します。

IntegrationsPage

  1. Datadog インテグレーションを切り替えてオンにします。API キーを貼り付けて、Save を押します。すべてのメトリクスにグラフ ID (service:<グラフ_ID>) のタグが付けられているため、すべてのグラフに同じ API キーを使用できます。

IntegrationsToggle

  1. Datadog メトリクスエクスプローラーに移動し、メトリクスが表示されることを確認します。メトリクスが表示されるまで、最大 5 分お待ちください。

使用方法

詳細な使用方法については、Apollo インテグレーションのドキュメントを参照してください。

収集データ

メトリクス

apollo.engine.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed.
Shown as operation
apollo.engine.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average.
Shown as millisecond
apollo.engine.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile.
Shown as millisecond
apollo.engine.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile.
Shown as millisecond
apollo.engine.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile.
Shown as millisecond
apollo.engine.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile.
Shown as millisecond
apollo.engine.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile.
Shown as millisecond
apollo.engine.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins.
Shown as error
apollo.engine.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache.
Shown as hit

イベント

現時点で、Apollo インテグレーションには、イベントは含まれません。

サービスチェック

現時点で、Apollo インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。

その他の参考資料

インフラストラクチャーの監視の詳細および Datadog の全インテグレーションについては、ブログ記事を参照してください。