配置 AWS 代理程式以進行 Lambda 監視

AWS 代理程式會追蹤 Lambda 函數的現有版本,並收集其相關聯的執行時期度量。

若要配置 Instana AWS 代理程式,您需要 設定 AWS 代理程式以進行 AWS Lambda 監視 ,必要的話, 使用 Proxy 配置

設定 AWS 代理程式以進行 AWS Lambda 監視

在設定用於 AWS Lambda 監視的 AWS 代理程式之前,請先設定 AWS 帳戶,並選取在其中部署 AWS Lambda 函數的區域。 如需相關資訊,請參閱 AWS 代理程式

數個 AWS Lambda 相關函數需要設定步驟,包括使用 entity.aws.lambda.version 運算子的「動態焦點查詢」、 faas.functionversion之類的「無界限分析」標籤,以及 AWS Lambda 函數及函數版本專用的儀表板。

若要設定用於 AWS Lambda 監視的 AWS 代理程式,請將這些配置套用至 AWS 代理程式

授與額外 IAM 許可權

若要收集 AWS Lambda 函數的度量值和版本,必須將下列額外 IAM 許可權授與 AWS 代理程式:

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

如需將 IAM 許可權授與 AWS 代理程式的相關資訊,請參閱 AWS 代理程式安裝 說明文件。

監視 Lambda 版本

若要啟用監視 Lambda 版本,請將 lambda:ListVersionsByFunction IAM 許可權授與 AWS 代理程式。 如果遺漏必要的許可權, Instana 會聚集所有 版本的度量值。

依預設, Instana 會個別監視每一個 Lambda 函數的五個最新版本。 您可以使用下列配置來設定 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

使用 Proxy 配置

若要將 AWS 代理程式配置為使用 Proxy 配置,請新增下列代理程式配置設定:

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 帳戶

若要設定監視相同區域中具有一個 AWS 代理程式的多個 AWS 帳戶,請參閱 監視多個 AWS 帳戶 文件。

置換設定檔: 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 角色配置。