AWS ELB のモニター
「 Instana 」エージェントをインストールすると、「 AWS ELB 」センサーが自動的に展開およびインストールされます。
ロードバランサーは3つのタイプに分類され、そのタイプに応じてメトリクスが取得されます。
ロードバランサーの種類は以下の通りです:
- Classic Load Balancer
- Application Load Balancer
- Network Load Balancer
センサー (データ収集)
AWS ELB センサーは、 AWS ELB ロードバランサーから以下の追跡対象の設定データおよびメトリクスを収集します:
追跡対象の構成
ELBインスタンスの詳細
AWS ELB センサーは、以下のELBインスタンスの詳細を追跡します:
- 名前
- タイプ
- ARN
- 状況
- DNS 名
- ホスト対象ゾーン
- 方式
- 作成時刻
- VPC
- IP アドレス・タイプ
- AWS グループ化ゾーン
メトリック
ロードバランサーのメトリクスは、合計値およびゾーンごとの値として収集されます。
Classic Load Balancer
AWS ELB センサーは、Classic Load Balancerから以下の合計メトリクスを収集します:
| 名前 | 説明 |
|---|---|
| 拒否された接続数 | ロード・バランサーが最大接続数に達したために拒否された接続の数。 |
| Elb 状況コード 4xx の数 | ロード・バランサーによって生成された HTTP 4XX クライアント・エラー・コードの数。 クライアント・エラーは、要求の形式が誤っている場合、または要求が不完全である場合に生成されます。 |
| Elb 状況コード 5xx の数 | ロード・バランサーによって生成された HTTP 5XX サーバー・エラー・コードの数。 このカウントには、ターゲットによって生成された応答コードは含まれません。 |
AWS ELB センサーは、Classic Load Balancerからゾーンごとの以下のメトリクスを収集します:
| 名前 | 説明 |
|---|---|
| バックエンド接続エラー | ロード・バランサーと登録済みインスタンスの間で正常に確立されなかった接続数。 エラーがある場合はロード・バランサーが接続を再試行するため、この数が要求率を超える可能性があります。 このカウントには、ヘルス・チェックに関連する接続エラーも含まれることに注意してください。 |
| 応答時間 (待ち時間) | HTTP リスナー:ロードバランサーが登録済みのインスタンスにリクエストを送信してから、そのインスタンスがレスポンスヘッダーの送信を開始するまでの経過時間(秒単位)。 TCP リスナー: ロード・バランサーが登録済みインスタンスへの接続を正常に確立するまでの合計経過時間 (秒単位)。 |
| 要求数 | インターバル中に完了した要求の数、または行われた接続の数。 |
| 状況コード 2xx、 3xx、 4xx、 5xx の要求 | HTTP リスナー: 登録済みインスタンスによって生成された HTTP 応答コードの数。 この数には、ロード・バランサーによって生成された応答コードは含まれません。 |
| スピルオーバー数 | サージ・キューがいっぱいであるために拒否された要求の総数。 |
| サージ・キューの長さ | 正常なインスタンスへのルーティングを保留している要求 (HTTP リスナー) または接続 (TCP リスナー) の総数。 |
Application Load Balancer
AWS ELB センサーは、Application Load Balancerから以下の合計メトリクスを収集します:
| 名前 | 説明 |
|---|---|
| アクティブな接続 | クライアントからロード・バランサーへの、およびロード・バランサーからターゲットへのアクティブな同時 TCP 接続の総数。 |
| 新規接続数 | クライアントからロードバランサーへ、およびロードバランサーからターゲットへと確立される、新しい TCP 接続の総数。 |
| 拒否された接続数 | ロード・バランサーが最大接続数に達したために拒否された接続の数。 |
| 処理済みバイト数 | IPv4 および IPv6 経由でロード・バランサーによって処理されたバイトの総数。 |
| Elb 状況コード 4xx の数 | ロード・バランサーによって生成された HTTP 4XX クライアント・エラー・コードの数。 クライアント・エラーは、要求の形式が誤っている場合、または要求が不完全である場合に生成されます。 |
| Elb 状況コード 5xx の数 | ロード・バランサーによって生成された HTTP 5XX サーバー・エラー・コードの数。 このカウントには、ターゲットによって生成された応答コードは含まれません。 |
AWS ELB センサーは、Application Load Balancerからゾーンごとの以下のメトリクスを収集します:
| 名前 | 説明 |
|---|---|
| 要求数 | IPv4 および IPv6を介して処理された要求の数。 |
| 目標応答時間 | クライアントによって開始された TLS 接続のうち、ロード・バランサーとのセッションを確立しなかった TLS 接続の数。 原因として、暗号またはプロトコルの不一致が考えられます。 |
| ターゲット接続エラー件数 | ロード・バランサーとターゲットの間で正常に確立されなかった接続数。 ターゲットがラムダ関数の場合、このメトリックは適用されません。 |
| ターゲットの TLS ネゴシエーション・エラー数 | ロード・バランサーによって開始された TLS 接続のうち、ターゲットとのセッションを確立しなかった TLS 接続の数。 原因として、暗号またはプロトコルの不一致が考えられます。 ターゲットがラムダ関数の場合、このメトリックは適用されません。 |
| クライアントの TLS ネゴシエーション・エラー数 | クライアントによって開始された TLS 接続のうち、ロード・バランサーとのセッションを確立しなかった TLS 接続の数。 原因として、暗号またはプロトコルの不一致が考えられます。 |
Network Load Balancer
AWS ELB センサーは、Network Load Balancerから以下の合計メトリクスを収集します:
| 名前 | 説明 |
|---|---|
| 新規フロー数 | 期間内にクライアントからターゲットに対して確立された新規フロー (または接続) の総数。 |
| 処理済みバイト数 | IPv4 および IPv6 経由でロード・バランサーによって処理されたバイトの総数。 |
| クライアント RST | クライアントからターゲットに送信されるリセット (RST) パケットの合計数。 これらのリセットは、クライアントによって生成されて、ロード・バランサーによって転送されます。 |
| Elb RST | ロード・バランサーによって生成されたリセット (RST) パケットの総数。 |
| ターゲット RST | ターゲットからクライアントに送信されたリセットされた (RST) パケットの総数。 これらのリセットは、ターゲットによって生成されて、ロード・バランサーによって転送されます。 |
必要なアクセス権
cloudwatch:GetMetricDataelasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTags
構成
ELB のメトリックは 60 秒ごとにプルされます。これは、 <agent_install_dir>/etc/instana/configuration.ymlでのエージェント構成によって変更できます。
com.instana.plugin.aws.elb:
cloudwatch_period: 60
ELB インスタンスのモニターを無効にするには、以下の構成を使用します。
com.instana.plugin.aws.elb:
enabled: false
バッチ検出を有効にするにはRDSインスタンスは次の構成を使用します。
com.instana.plugin.aws.elb:
enable_batch_discovery: true # default false
プロキシー構成
プロキシー構成を使用するように特定の AWS センサーを構成するには、以下のエージェント構成設定を追加します。
com.instana.plugin.aws.elb:
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 名前付きプロファイルを使用する方法
Elastic Load Balancer の監視に使用するプロファイルを上書きするには、以下の設定を使用してください:
com.instana.plugin.aws.elb:
profile_names:
- 'profile2'
- 'profile3'
AWS STS を使用する方法
Elastic Load Balancing のモニターに使用する IAM 役割をオーバーライドするには、以下の構成を使用します。
com.instana.plugin.aws.elb:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
フィルタリング
複数のタグを定義するには、コンマで区切ります。 タグは、以下で区切られたキーと値のペアとして指定する必要があります。構成を容易にするために、ディスカバリーに含めるか、ディスカバリーから除外するタグを定義することができます。 両方のリスト (包含と除外) にタグを定義すると、除外リストの優先順位が高くなります。 サービスをフィルタリングする必要がない場合は、構成を定義しないでください。 フィルタリングを有効にするためにすべての値を定義することは必須ではありません。
ユーザーは、tagged-services-poll-rate構成プロパティーを使用する AWS タグ付きリソースをセンサーがポーリングする頻度を指定できます (デフォルトは 300 秒)。
タグ付きリソースをセンサーがポーリングする頻度を定義するには、以下の構成を使用します。
com.instana.plugin.aws:
tagged-services-poll-rate: 60 #default 300
タグごとのサービスをディスカバリーに含めるには、以下の構成を使用します。
com.instana.plugin.aws.elb:
include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)
タグごとのサービスをディスカバリーから除外するには、以下の構成を使用します。
com.instana.plugin.aws.elb:
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.elb:
include_untagged: false # True value by default
elb のスロットルを減らすためにバッチ検出を有効にするには、次の構成を使用します。
com.instana.plugin.aws:
enable_batch_discovery: true #default false
Instana エージェント・タグ
なお、タグ機能は AWS エージェントでのみ利用可能です。 タグの使用方法の詳細については、こちらをご覧ください。