Lambda モニター用の AWS エージェントの構成

AWS エージェントは、Lambda 関数の既存のバージョンを追跡し、関連するランタイム・メトリックを収集します。

Instana AWS エージェントを設定するには、 AWS Lambda の監視用に AWS エージェントを設定し、必要に応じてプロキシ設定を使用する必要があります。

AWS Lambda の監視用に AWS エージェントを設定する

AWS Lambda の監視用に AWS エージェントを設定する前に、 AWS アカウントを作成し、 AWS Lambda 関数をデプロイするリージョンを選択してください。 詳細については、 「 AWS エージェント」 を参照してください。

この設定手順は、 AWS Lambda に関連するいくつかの機能で必要となります。これには、` entity.aws.lambda.version Operator` を使用するダイナミック・フォーカス・クエリ、`Unbounded Analytics` タグ( faas.functionversion例:)、および AWS Lambda の関数や関数バージョン専用のダッシュボードなどが含まれます。

AWS Lambda の監視用に AWS エージェントを設定するには、 AWS エージェントに以下の設定を適用してください。

IAM権限の追加付与

AWS Lambda 関数のメトリクスとバージョンを収集するには、 AWS エージェントに対して以下のIAM権限を付与する必要があります:

  • cloudwatch:GetMetricStatistics
  • cloudwatch:GetMetricData
  • lambda:ListTags
  • lambda:ListFunctions
  • lambda:ListVersionsByFunction
  • lambda:GetFunctionConfiguration
  • lambda:ListEventSourceMappings

AWS エージェントに IAM 権限を付与する方法について詳しくは、 AWS エージェントのインストール の資料を参照してください。

Lambda バージョンのモニター

Lambda バージョンのモニターを有効にするには、 lambda:ListVersionsByFunction IAM 権限を AWS エージェントに付与します。 必要な権限がない場合、 Instana はすべてのバージョンのメトリクスを集計します。

デフォルトでは、Instana は各 Lambda 関数の 5 つの最新バージョンを個別にモニターします。 Instana がデータを取得するバージョンの数を設定するには、以下の設定を使用できます:

com.instana.plugin.aws.lambda:
  number_of_versions: 3 # default 5

最大 20 バージョンの Lambda を構成できます。

個々のLambdaバージョンの監視を無効にすると、 Instanaすべてのバージョンのメトリクスを集計します。 この場合、集約メトリックは、Lambda 関数の \$LATEST バージョンに付加されます。

注: この設定変更を行った後、エージェントを再起動してください。

Lambda バージョンとメトリックの取得の無効化

Lambda インスタンスのモニターを完全に無効にするには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  enabled: false

バージョン・データの取得のみを無効にするには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  fetch_versions: false

ポーリング頻度の変更

Lambda のメトリックは 5 分ごとに取得されます。 この間隔は、 <agent_install_dir>/etc/instana/configuration.ymlで以下のエージェント構成を使用して変更できます。

com.instana.plugin.aws.lambda:
  cloudwatch_period: 300

tagged-services-poll-rate 構成プロパティー (デフォルトは 300 秒) を使用して、センサーが AWS タグ付きリソースをポーリングする頻度を指定できます。

タグ付きリソースをセンサーがポーリングする頻度を定義するには、以下の構成を使用します。

com.instana.plugin.aws:
  tagged-services-poll-rate: 60 #default 300

プロキシ設定の使用

プロキシー構成を使用するように AWS エージェントを構成するには、以下のエージェント構成設定を追加します。

com.instana.plugin.aws.lambda:
  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

フィルタリング

複数のタグをコンマで区切って定義できます。 タグは、 : 文字で区切られたキーと値のペアとして使用します。 構成プロセスを簡素化するために、ディスカバリーに含める、またはディスカバリーから除外するタグを定義できます。 両方のリスト (includeexclude) でタグを定義すると、 exclude リストの優先順位が高くなります。 サービスのフィルタリングが不要な場合は、構成を定義しないでください。 フィルタリングを有効にするためにすべての値を定義することは必須ではありません。

タグによってサービスをディスカバリーに組み込むには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

タグによってサービスをディスカバリーから除外するには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  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.lambda:
  include_untagged: false # True value by default

プロファイルの上書き: AWS によるプロファイル指定の手法

Lambda のモニターに使用する必要があるプロファイルをオーバーライドするには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  profile_names:
    - 'profile2'
    - 'profile3'
注: サービスレベルでプロファイルを定義すると、 AWS のプロファイルに関するグローバル設定が上書きされます。

IAMロールの上書き: AWS のSTSアプローチ

Lambda のモニターに使用される IAM ロールをオーバーライドするには、以下の構成を使用します。

com.instana.plugin.aws.lambda:
  role_arns:
    - 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
    - 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
注: サービスレベルでIAMロールを定義すると、グローバルな AWS のIAMロール設定が上書きされます。