Amazon Q Business - 监控

监控对于确保 Amazon Q Business 和其他 AWS 解决方案的可靠性、可用性和性能至关重要。AWS 提供以下监控工具来跟踪 Amazon Q Business、检测问题并在需要时触发自动操作。

  • AWS CloudTrail 跟踪并记录您的 AWS 账户内进行的所有 API 调用和相关事件,并将日志存储在指定的 Amazon S3 存储桶中。这允许您识别进行调用的用户和账户、他们的源 IP 地址以及调用的时间戳。
  • Amazon CloudWatch 实时监控您的 AWS 资源和应用程序。它可以帮助您收集和跟踪指标、创建自定义仪表板并设置警报,当指标达到设定的阈值时向您发出警报或采取行动。例如,它可以跟踪您的 Amazon EC2 实例的 CPU 使用率,并在需要时自动启动新实例。
  • Amazon CloudWatch Logs 可帮助您监控、存储和访问来自各种来源(如 Amazon EC2 实例和 CloudTrail)的日志文件。它可以跟踪这些日志中的信息,并在达到某些阈值时提醒您,还允许您将日志数据存档在安全且持久的存储中。

使用 AWS CloudTrail 记录 API 调用

Amazon Q Business 使用 AWS CloudTrail 记录 Amazon Q Business API 调用会将所有 Amazon Q Business API 调用捕获为事件。捕获的调用包括来自 Amazon Q 控制台的调用和对 Amazon Q API 的代码调用。这允许您跟踪由您的 AWS 账户或代表您的 AWS 账户进行的 API 调用。

跟踪是一种配置,允许将事件作为日志文件传送到您指定的 Amazon S3 存储桶。CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求,包括有关请求的操作、操作的日期和时间、请求参数等的信息。

以下是演示 CreateApplication 操作的 CloudTrail 日志条目示例:

{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "principal ID",
        "arn": "ARN",
        "accountId": "account ID",
        "accessKeyId": "access key ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "principal ID",
                "arn": "ARN",
                "accountId": "account ID",
                "userName": "user name"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "yyyy-mm-ddThh:mm:ssZ",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "yyyy-mm-ddThh:mm:ssZ",
    "eventSource": "qbusiness.amazonaws.com",
    "eventName": "CreateApplication",
    "awsRegion": "region",
    "sourceIPAddress": "region",
    "userAgent": "user agent",
    "requestParameters": {
        "name": "name",
        "roleArn": "description",
        "clientToken": "client token"
    },
    "responseElements": {
        "applicationId": "application ID"
    },
    "requestID": "request ID",
    "eventID": "event ID",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "account ID",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLS version",
        "cipherSuite":  "cipher suite",
        "clientProvidedHostHeader": "qbusiness.us-west-2.api.aws"
    }
}

使用 AWS CloudTrail 记录应用程序 API 调用

Amazon Q Apps 与 AWS CloudTrail 集成,后者是一项记录用户、角色或 AWS 服务所采取的操作的服务。CloudTrail 将所有对 Amazon Q Apps 的 API 调用捕获为事件,包括来自 Web 体验、控制台的调用以及对 API 操作的代码调用。

了解 Amazon Q Apps 日志文件条目

跟踪是一种将事件日志发送到您选择的 Amazon S3 存储桶的设置。这些日志文件包含一个或多个日志条目,每个条目代表一个请求,其中包含操作、日期、时间和请求参数等详细信息。请注意,这些日志文件不会按特定顺序显示 API 调用,而是显示为单个事件。

以下示例显示了一个 CloudTrail 日志条目,该条目演示了 GetLibraryItem 操作。

{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "principal ID",
        "arn": "ARN",
        "accountId": "account ID",
        "accessKeyId": "access key ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "principal ID",
                "arn": "ARN",
                "accountId": "account ID",
                "userName": "user name"
            },
            "attributes": {
                "creationDate": "yyyy-mm-ddThh:mm:ssZ",
                "mfaAuthenticated": "false"
            }
        },
        "onBehalfOf": {
            "userId": "user ID",
            "identityStoreArn": "ARN"
        }
    },
    "eventTime": "yyyy-mm-ddThh:mm:ssZ",
    "eventSource": "qapps.amazonaws.com",
    "eventName": "GetLibraryItem",
    "awsRegion": "region",
    "sourceIPAddress": "source IP address",
    "userAgent": "user agent",
    "requestParameters": {
        "input": "query input",
        "idc-application-arn": "ARN",
        "application-id": "Q application ID"
    },
    "requestID": "request ID",
    "eventID": "event ID",
    "readOnly": true,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "account ID",
    "eventCategory": "Management"
}

使用 Amazon CloudWatch 进行监控

您可以使用 Amazon CloudWatch 监控 Amazon Q Business,它可以近乎实时地收集数据并将其转换为易于阅读的指标。这些指标将存储 15 个月,让您可以访问历史数据并了解您的 Web 应用程序或服务随时间推移的运行情况。您还可以设置警报以监视特定阈值并在达到阈值时接收通知或采取行动。

使用 CloudWatch 指标

要使用指标,您必须指定以下信息:

  • 命名空间是 CloudWatch 中的容器,Amazon Q 在其中发布其指标。要使用 CloudWatch ListMetrics API 或 list-metrics 命令查看 Amazon Q Business 指标,请使用命名空间"AWS/QBusiness"。
  • 指标维度是帮助识别指标的名称-值对。例如,"ApplicationId"可以是维度名称。您不必指定指标维度,它是可选的。
  • 指标名称。例如,DocumentsIndexed。

下表显示了指标的一些常见用途。这些是入门建议,并非完整列表。

如何操作? 相关指标
如何跟踪成功索引的文档数量? 使用 DocumentsIndexed 指标。
如何监控最终用户体验? 使用 ThumbsUpCount 和 ThumbsDownCount 指标。

查看 Amazon Q Business 指标

以下步骤介绍如何使用 CloudWatch 控制台访问 Amazon Q Business 指标。

  • 打开 CloudWatch控制台
  • 选择"指标",选择"所有指标"选项卡,然后选择"AWS/QBusiness"。
  • 选择指标维度。
  • 从列表中选择所需的指标,然后选择图表的时间段。

Amazon Q Business 聊天指标

下表显示 Amazon Q Business 实时发送到 CloudWatch 的聊天和对话管理指标。

指标名称 单位 描述
ActionErrorCount 计数 由于操作而导致的错误数。
有效维度:ApplicationId, PluginId
ActionInvocationCount Count 调用的操作数。
有效维度:ApplicationId、PluginId
ChatMessages Count 聊天消息数 每次处理聊天消息时都会发出此指标。
有效维度:ApplicationId
ChatMessagesWithAttachment Count 包含文件上传的聊天消息数。
有效维度:ApplicationId
DailyActiveUsers Count 前一天的活跃用户数。
有效维度:ApplicationId

Amazon Q Business 索引指标

下表显示 Amazon Q Business 实时发送到 CloudWatch 的索引指标。

指标名称 单位 描述
文档数 计数 文档数量。此指标每 15 分钟发布一次。
有效维度:ApplicationId、IndexId
DocumentsIndexed Count 已编入索引的文档数。
有效维度:ApplicationId、IndexId、DataSourceId
DocumentsFailedToIndex Count 无法编入索引的文档数。
有效维度:ApplicationId、IndexId、DataSourceId
DocumentsFailedToIndexDueToCDE Count 由于自定义文档丰富而无法编入索引的文档数。
有效维度:ApplicationId、 IndexId、DataSourceId
ExtractedTextSize MB 提取的文本的大小
有效尺寸:ApplicationId、IndexId