Amazon Q 商业版 - 监控



监控 Amazon Q 开发者和 AWS 解决方案对于它们的可靠性、可用性和性能至关重要。您必须确定特定用户的 Amazon Q 订阅成本和成本管理,这就是需要监控的地方。

AWS 监控工具

AWS 提供以下监控工具

  • AWS CloudTrail:捕获由您的 AWS 账户或代表您的 AWS 账户进行的 API 调用和相关事件,并将日志文件交付到指定的 Amazon S3 存储桶。
  • Amazon CloudWatch:实时监控您的 AWS 资源和应用程序,允许您收集和跟踪指标、创建自定义仪表板以及设置警报,以便在指定指标达到阈值时通知您或采取措施。
  • Amazon CloudWatch Logs:监控、存储和访问来自各种来源(例如 Amazon EC2 实例和 CloudTrail)的日志文件。它还会在基于日志文件信息满足某些阈值时通知您。

CloudTrail 日志

Amazon Q 开发者与 AWS CloudTrail 集成,后者记录在 Amazon Q 中执行的所有操作。CloudTrail 捕获所有 Amazon Q API 调用,包括来自控制台和对 API 操作的代码调用的调用。您可以启用将这些事件持续交付到 Amazon S3 存储桶,或在 CloudTrail 控制台中查看最近的事件。

解释 Q 开发者日志文件

跟踪是将事件作为日志文件交付到指定 Amazon S3 存储桶的配置。每个日志文件包含一个或多个日志条目,这些条目代表具有请求的操作、日期、时间和参数等详细信息的单个请求。请注意,日志文件并非按 API 调用顺序排序。

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

{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAXD12ABCDEF3G4HI5J:aws-user",
        "arn": "arn:aws:sts::123456789012:assumed-role/PowerUser/aws-user",
        "accountId": "123456789012",
        "accessKeyId": "ASIAAB12CDEFG34HIJK",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAXD12ABCDEF3G4HI5J",
                "arn": "arn:aws:iam::123456789012:role/PowerUser",
                "accountId": "123456789012",
                "userName": "PowerUser"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-11-28T10:00:00Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2023-11-28T10:00:00Z",
    "eventSource": "q.amazonaws.com",
    "eventName": "SendMessage",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "123.456.789.012",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
    "requestParameters": {
        "Origin": "https://conversational-experience-worker.widget.console.aws.amazon.com",
        "conversationId": "a298ec0d-0a49-4d2e-92bd-7d6e629b4619",
        "source": "CONSOLE",
        "conversationToken": "***",
        "utterance": "***"
    },
    "responseElements": {
        "result": {
            "content": {
                "text": {
                    "body": "***",
                    "references": []
                }
            },
            "format": "PLAINTEXT",
            "intents": {},
            "type": "TEXT"
        },
        "Access-Control-Expose-Headers": "x-amzn-RequestId,x-amzn-ErrorType,x-amzn-ErrorMessage,Date",
        "metadata": {
            "conversationExpirationTime": "2024-02-25T19:31:38Z",
            "conversationId": "a298ec0d-0a49-4d2e-92bd-7d6e629b4619",
            "conversationToken": "***",
            "utteranceId": "3b87b46f-04a9-41ef-b8fe-8abf52d2c053"
        },
        "resultCode": "LLM"
    },
    "requestID": "19b3c30e-906e-4b7f-b5c3-509f67248655",
    "eventID": "a552c487-7d97-403a-8ec4-d49539c7a03d",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}

以下示例显示了一个 CloudTrail 日志条目,该条目演示了 Amazon Q 代表您调用 s3:ListBuckets 操作。

{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AIDA6ON6E4XEGIEXAMPLE",
        "arn": "arn:aws:iam::555555555555:user/Paulo",
        "accountId": "555555555555",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDA6ON6E4XEGIEXAMPLE",
                "arn": "arn:aws:iam::555555555555:user/Paulo",
                "accountId": "555555555555",
                "userName": "Paulo"
            },
            "attributes": {
                "creationDate": "2024-04-10T14:06:08Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "q.amazonaws.com"
    },
    "eventTime": "2024-04-10T14:07:55Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "ListBuckets",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "q.amazonaws.com",
    "userAgent": "q.amazonaws.com",
    "requestParameters": {
        "Host": "s3.amazonaws.com"
    },
    "responseElements": null,
    "additionalEventData": {
        "SignatureVersion": "SigV4",
        "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
        "bytesTransferredIn": 0,
        "AuthenticationMethod": "AuthHeader",
        "x-amz-id-2": "ExampleRequestId123456789",
        "bytesTransferredOut": 4054
    },
    "requestID": "ecd94349-b36f-44bf-b6f5-EXAMPLE9c463",
    "eventID": "2939ba50-1d26-4a5a-83bd-EXAMPLE85850",
    "readOnly": true,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "555555555555",
    "vpcEndpointId": "vpce-EXAMPLE1234",
    "eventCategory": "Management"
}

使用 CloudWatch 进行监控

Amazon Q 开发者可以使用 CloudWatch 进行监控,CloudWatch 收集原始数据并将其处理成近乎实时的指标。这些指标会存储 15 个月,以便您访问历史数据并跟踪性能。您还可以设置警报,以便在满足某些阈值时通知您或采取措施。

Amazon Q 开发者服务在 AWS/CodeWhisperer 命名空间中报告以下指标。

维度 指标 用例或说明
计数 调用次数 您想确定一段时间内已计算的调用次数。
用户计数 每日活跃用户趋势 您想确定每天活跃用户的数量。
订阅用户计数 订阅计数 您想确定拥有付费订阅的用户数量。
唯一用户计数 每月活跃唯一用户 您想确定在特定月份活跃的用户数量。
编程语言、建议状态、完成类型 生成的代码行数 您想确定 CodeWhisperer 生成的代码行数。
编程语言、建议状态、完成类型 建议引用计数 您想确定已发生的带有引用的推荐触发器的数量。
编程语言 代码扫描计数 您想确定已发生的代码扫描次数。
编程语言 总字符数 文件中的字符数,包括来自 CodeWhisperer 的所有建议。
编程语言 CodeWhisperer 字符数 CodeWhisperer 生成的字符数。

跟踪 Q 开发者使用情况

您可以通过 AWS 账单和成本管理使用资源 ID 识别特定用户的 Amazon Q 订阅成本。为此,请在控制台中创建一个数据导出,并选择“包含资源 ID”选项。

广告