为 Lambda 监控配置 AWS 代理
AWS 代理会跟踪 Lambda 函数的现有版本,并收集与之相关的运行时指标。
要配置 Instana AWS 代理,需要为 AWS Lambda 监控设置 AWS 代理 ,如果需要,还需要使用代理配置。
为 AWS Lambda 监控设置 AWS 代理
在为 AWS Lambda 监控设置 AWS 代理之前,请设置 AWS 帐户并选择部署 AWS Lambda 功能的区域。 更多信息,请参阅 AWS agent。
AWS Lambda 相关的几个功能都需要这些设置步骤,包括使用 entity.aws.lambda.version 操作符的动态焦点查询、无界分析标记(如 faas.functionversion )以及专门用于 AWS Lambda 功能和功能版本的仪表板。
要为 AWS Lambda 监控设置 AWS 代理,请将这些配置应用到 AWS 代理。
授予更多 IAM 权限
要收集 AWS Lambda 功能的指标和版本,必须向 AWS 代理授予以下 IAM 权限:
cloudwatch:GetMetricStatisticscloudwatch:GetMetricDatalambda:ListTagslambda:ListFunctionslambda:ListVersionsByFunctionlambda:GetFunctionConfigurationlambda:ListEventSourceMappings
有关向 AWS 代理授予 IAM 权限的详细信息,请参阅 AWS 代理安装文档。
监控 Lambda 版本
要启用监控 Lambda 版本,请向 AWS 代理授予 lambda:ListVersionsByFunction IAM 权限。 如果缺少所需的权限,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
更改投票率
每 5 分钟检索一次 Lambda 的指标。 您可以在 <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
过滤
您可以定义多个标签,这些标签之间用逗号隔开。 使用标签作为键值对,以 : 字符分隔。 为简化配置过程,您可以定义要从发现中包括或排除的标记。 在两个列表(include 和 exclude )中定义标记时, 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'
覆盖 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>'