监控 AWS AppSync

安装 Instana 代理后, AWS AppSync 传感器将自动部署并安装。 您可以在“ Instana ”用户界面中查看与 AWS AppSync 相关的指标。

注意: 有关其他受支持的 AWS 服务,请参阅 AWS 主题。

查看度量值

要查看度量,请完成以下步骤:

  1. 在 Instana 用户界面的侧边栏中,选择 “基础设施”
  2. 单击某个正在监控的 AWS AppSync 实例。

您可以查看一个包含所有已收集指标的 AWS AppSync 仪表盘。

配置数据

AWS AppSync 传感器收集以下 AppSync 数据:

  • ARN
  • 名称
  • 区域
  • API 标识
  • API 类型
  • 认证类型
  • 可视性
  • 数据源

度量

AWS AppSync 传感器收集以下指标:

名称 描述
4xx 错误 由于某个时间段内客户机配置不正确而导致请求无效的错误数。
5xx 错误 在某个时间段内运行 GraphQL 查询期间迂到的错误数。
错误总数 时间段内的错误总数 (4xx + 5xx)。
等待时间 从 AWS AppSync 接收到客户端请求到向客户端返回响应之间所花费的平均时间。
请求数 某个时间段内帐户中所有 API 处理的请求 (查询 + 突变) 总数 (按区域)。
使用的令牌数 在某个时间段内,分配给特定区域中处理的请求的令牌总数。
连接成功 某段时间内成功连接到 AWS AppSync 的 WebSocket 请求总数。
连接客户机错误 在指定时间段内,因客户端错误而被 AWS AppSync 拒绝的 WebSocket 连接数。
连接服务器错误 在一定时间内,处理连接时由 AWS AppSync 引发的错误数量。
预订成功 在一定时期内,通过 WebSocket 成功注册到 AWS AppSync 的订阅数量。
预订客户机错误 在某段时间内, AWS AppSync 因客户端错误而拒绝的订阅数量。
预订服务器错误 在特定时间段内处理订阅时,源自 AWS AppSync 的错误数量。
发布数据消息成功 在某个时间段内成功发布的预订事件消息数。
发布数据消息客户机错误 时间段内由于客户机端错误而未能发布的预订事件消息数。
发布数据消息服务器错误 在某个时间段内发布订阅事件消息时,源自 AWS AppSync 的错误数量。
发布数据消息大小 以字节为单位发布的预订事件消息的大小。
活动连接数 1分钟内客户端与 AWS AppSync 之间建立的 WebSocket 并发连接数。
活动预订 1 分钟内来自客户机的并发预订数。
连接持续时间 连接保持打开状态的平均时间量。

必需的许可权

AWS AppSync 传感器需要以下权限:

  • cloudwatch:GetMetricData
  • cloudwatch:GetMetricStatistics
  • appsync:ListGraphqlApis
  • appsync:GetGraphqlApi
  • appsync:ListDataSources

配置

AWS AppSync 的指标数据每 60 秒更新一次。 您可以在 <agent_install_dir>/etc/instana/configuration.yml 文件中更改此设置:

com.instana.plugin.aws.appsync:
  cloudwatch_period: 60

要禁用 AppSync 实例的监视,请使用以下配置:

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

启用代理配置

要使 AWS AppSync 传感器使用代理配置,请添加以下代理配置设置:

com.instana.plugin.aws.appsync:
  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 账户

要设置对同一区域中具有一个 AWS 代理程序的多个 AWS 帐户的监视,请参阅 监视多个 AWS 帐户 主题。

AWS -命名配置文件方法

若要覆盖用于监控 AWS AppSync 的配置文件,请使用以下配置:

com.instana.plugin.aws.appsync:
  profile_names:
    - 'profile2'
    - 'profile3'
注意: 若在服务级别定义配置文件,则会覆盖全局 AWS 配置文件中的设置。

AWS STS方法

若要覆盖用于监控 AppSync, 的 IAM 角色,请使用以下配置:

com.instana.plugin.aws.appsync:
  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 角色配置。

通过定义标签进行筛选

您可以定义多个标记,每个标记以逗号分隔。 必须将标记作为键/值对提供。 为了使配置更容易,您可以定义要包含在发现中或从发现中排除的标记。 如果在两个列表 (includeexclude) 中都定义了标记,那么 exclude 列表具有更高的优先级。 如果不需要过滤服务,那么不需要定义标记。 并非必须定义所有值才能启用过滤。

您可以使用 tagged-services-poll-rate 配置属性指定传感器轮询 AWS 标记的资源的频率。 缺省情况下,该值为 300 秒。

注:标记仅随 AWS 代理程序一起提供。

要定义传感器轮询标记资源的频率,请使用以下配置:

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

要将服务按标记包含到发现中,请使用以下配置:

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

要通过标记从发现中排除服务,请使用以下配置:

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