AWS API Gateway の監視
「 Instana 」エージェントをインストールすると、「 AWS API Gateway 」センサーが自動的に展開およびインストールされます。
3 つのタイプの API (REST、 HTTP、および WebSocket) があり、取得されるメトリックもそれらに基づいています。
センサー (データ収集)
追跡対象の構成
AWS API Gateway センサーは、以下の API Gateway 詳細情報を収集します。
- ARN
- 名前
- リージョン
- プロトコル
- エンドポイント・タイプ
- 作成時刻
- AWS グループ化ゾーン
メトリック
AWS API Gateway センサーによって、以下のメトリクスが収集されます:
REST API
| 名前 | 説明 |
|---|---|
| API リクエスト数 | 特定の期間における API リクエストの総数。 |
| 合計待ち時間 | API Gateway がクライアントから要求を受信してから、そのクライアントに応答を返すまでの時間。 待ち時間には、統合待ち時間およびその他の API Gateway のオーバーヘッドが含まれます。 |
| 統合待ち時間 | API Gateway が要求をバックエンドに中継してから、バックエンドからの応答を受信するまでの時間。 |
| 4xx エラー | 特定の期間内に収集されたクライアント・サイド・エラーの数。 |
| 5xx エラー | 特定の期間内に収集されたサーバー・サイド・エラーの数。 |
| キャッシュ・ヒット (カウント) | 特定の期間内に API キャッシュから処理されたリクエストの数。 |
| キャッシュ・ミス (カウント) | API のキャッシュ機能が有効になっている場合、指定された期間内にバックエンドから処理されたリクエストの数。 |
HTTP API
| 名前 | 説明 |
|---|---|
| API リクエスト数 | 特定の期間における API リクエストの総数。 |
| 合計待ち時間 | API Gateway がクライアントから要求を受信してから、そのクライアントに応答を返すまでの時間。 待ち時間には、統合待ち時間およびその他の API Gateway のオーバーヘッドが含まれます。 |
| 統合待ち時間 | API Gateway が要求をバックエンドに中継してから、バックエンドからの応答を受信するまでの時間。 |
| 4xx エラー | 特定の期間内に収集されたクライアント・サイド・エラーの数。 |
| 5xx エラー | 特定の期間内に収集されたサーバー・サイド・エラーの数。 |
WebSocket API
| 名前 | 説明 |
|---|---|
| 接続 (カウント) | $connect 経路統合に送信されたメッセージの数。 |
| メッセージ (カウント) | クライアントとの間で、 WebSocket ( API )宛てに送信されたメッセージの数。 |
| 統合エラー | 統合から 4XX/5XX の応答を返す要求の数。 |
| クライアント・エラー数 | 統合が呼び出される前に API Gateway によって返される 4XX 応答を持つ要求の数。 |
| 実行エラー数 | 統合の呼び出し中に発生したエラー。 |
| 統合待ち時間 | API Gateway が要求をバックエンドに中継してから、バックエンドからの応答を受信するまでの時間。 |
必要なアクセス権
以下のアクセス権が必要です。
cloudwatch:GetMetricDatacloudwatch:GetMetricStatisticscloudwatch:ListMetricsapigateway:GET
構成
API Gateway のメトリックは 60 秒ごとにプルされます。これは、 <agent_install_dir>/etc/instana/configuration.yml ファイル内のエージェント構成を使用して変更できます。
com.instana.plugin.aws.apigateway:
cloudwatch_period: 60
API Gateway ・インスタンスのモニターを無効にするには、以下の構成を使用します。
com.instana.plugin.aws.apigateway:
enabled: false
プロキシー構成
特定の AWS センサーがプロキシー構成を使用するようにするには、以下のエージェント構成設定を追加します。
com.instana.plugin.aws.apigateway:
proxy_host: 'example.com' # proxy host name or ip address
proxy_port: 3128 # proxy port
proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
proxy_username: 'username' # OPTIONAL: proxy username
proxy_password: 'password' # OPTIONAL: proxy password
複数の AWS アカウントのモニター
同じリージョンにある 1 つの AWS エージェントを使用して複数の AWS アカウントのモニターをセットアップするには、 複数の AWS アカウントのモニター のトピックを参照してください。
AWS -命名済みプロファイル方式
API Gatewayのモニターに使用するプロファイルをオーバーライドするには、以下の構成を使用します。
com.instana.plugin.aws.apigateway:
profile_names:
- 'profile2'
- 'profile3'
AWS STS を使用する方法
API Gatewayをモニターするために使用する IAM 役割をオーバーライドするには、以下の構成を使用します。
com.instana.plugin.aws.apigateway:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
フィルタリング
複数のタグをコンマで区切って定義することができます。 タグは、キーと値のペアとして指定する必要があります。 構成を容易にするために、ディスカバリーに含めるタグまたはディスカバリーから除外するタグを定義できます。 両方のリスト (include と exclude) でタグを定義すると、 exclude リストの優先順位が高くなります。 サービスをフィルタリングする必要がない場合は、タグを定義する必要はありません。 フィルタリングを有効にするためにすべての値を定義することは必須ではありません。
tagged-services-poll-rate 構成プロパティーを使用して、センサーが AWS タグ付きリソースをポーリングする頻度を指定できます。 デフォルトでは、この値は 300 秒です。
センサーがタグ付きリソースをポーリングする頻度を定義するには、以下の構成を使用します。
com.instana.plugin.aws:
tagged-services-poll-rate: 60 #default 300
タグによってサービスをディスカバリーに組み込むには、以下の構成を使用します。
com.instana.plugin.aws.apigateway:
include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)
タグによってサービスをディスカバリーから除外するには、以下の構成を使用します。
com.instana.plugin.aws.apigateway:
exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)
タグのない AWS サービスはデフォルトでモニターされますが、 include_untagged フィールドを falseに設定することで除外できます。
com.instana.plugin.aws.apigateway:
include_untagged: false # True value by default