Build an enterprise observability solution for Amazon Quick Amazon Quick has released a new enterprise observability solution that consolidates user activity, satisfaction, and cost data from Amazon CloudWatch and AWS CloudTrail into a centralized data lake on Amazon S3. The solution enables administrators to query usage metrics through Amazon Athena, visualize them in Quick Sight dashboards, and interact with the data via a custom chat agent. This addresses the challenge of tracking adoption and governance across large-scale Amazon Quick deployments without relying on scattered, hard-to-analyze logs. Artificial Intelligence https://aws.amazon.com/blogs/machine-learning/ Build an enterprise observability solution for Amazon Quick When hundreds to thousands of users are onboarded to an enterprise AI platform, business leaders and platform owners need visibility into who is using the platform, whether users are satisfied with the answers they receive, and which capabilities are driving the most engagement. Without a centralized observability solution, this data is scattered across multiple AWS services and difficult to analyze at scale. Amazon Quick https://aws.amazon.com/quick/ is a generative AI-powered platform that brings together Spaces https://aws.amazon.com/quick/spaces/ , Chat agents https://aws.amazon.com/quick/chat-agents/ , Flows https://aws.amazon.com/quick/flows/ , Automate https://aws.amazon.com/quick/automate/ , Research https://aws.amazon.com/quick/research/ , and Amazon Quick Sight https://aws.amazon.com/quick/quicksight/ business intelligence capabilities in one place. As organizations scale their Amazon Quick deployments, they need a reliable way to track adoption, measure satisfaction, monitor costs, and audit governance from a single pane of glass. In this post, we show you how to deploy a solution that consolidates the Amazon Quick operational data from Amazon CloudWatch https://aws.amazon.com/cloudwatch/ vended logs https://docs.aws.amazon.com/quick/latest/userguide/monitoring-quicksuite-chat-feedback-cloudwatch.html and AWS CloudTrail https://aws.amazon.com/cloudtrail/ events https://docs.aws.amazon.com/quick/latest/userguide/incident-response-logging-and-monitoring-qs.html into a secured data lake in Amazon Simple Storage Service Amazon S3 https://aws.amazon.com/s3/ that can be queried using Amazon Athena https://aws.amazon.com/athena/ , a Quick Sight dashboard https://docs.aws.amazon.com/quick/latest/userguide/using-dashboards.html , and a Quick custom chat agent https://aws.amazon.com/quick/chat-agents/ . Solution overview Amazon Quick publishes usage and interaction data through the vended logs to deliver chat conversations, user feedback, agent/research hours usage, and index storage usage in Amazon Quick. Amazon Quick is integrated with AWS CloudTrail, which provides a record of actions taken by a user, a role, or an AWS service in Amazon Quick. Figure 1: Amazon Quick enterprise observability solution architecture The workflow consists of the following steps: - Business users interact with Amazon Quick. - Amazon Quick publishes the interaction logs to Amazon CloudWatch vended logs. You can protect these logs with data protection policies https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html to mask sensitive data, such as credentials private keys, AWS secret access keys , financial information, personally identifiable information, protected health information, and device identifiers. - CloudWatch subscription filters https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html forward the log events to Amazon Data Firehose https://aws.amazon.com/firehose/ delivery streams. The Firehose delivery streams transform the data using an AWS Lambda https://aws.amazon.com/lambda/ function and write it to a data lake in Amazon S3. - An Amazon EventBridge https://aws.amazon.com/eventbridge/ rule routes Amazon Quick API calls from AWS CloudTrail and sends them to a dedicated Firehose delivery stream. The Firehose delivery stream transforms the data using an AWS Lambda function and writes it to the data lake. AWS Glue Data Catalog https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html maintains data lake metadata for Amazon Athena external tables https://docs.aws.amazon.com/athena/latest/ug/creating-tables.html and analytical views https://docs.aws.amazon.com/athena/latest/ug/views.html .- Administrators can use Amazon Athena to query the data. AWS Lake Formation https://aws.amazon.com/lake-formation/ provides fine-grained data lake permissions at the table and column level. - Business leaders and stakeholders can see the data in a Quick Sight dashboard for interactive exploration of adoption, satisfaction, cost, and governance data. They can also use a Quick custom chat agent with natural language questions to receive instant visual answers. The solution encrypts the data at rest using a customer managed AWS Key Management System AWS KMS https://aws.amazon.com/kms/ key with automatic key rotation. The solution encrypts the Amazon CloudWatch Log Groups, Amazon Data Firehose delivery streams, AWS Lambda function environment variables, and Amazon S3 data lake. This provides a unified encryption strategy across the entire pipeline. Prerequisites To deploy this solution, you need: - An AWS account https://docs.aws.amazon.com/accounts/latest/reference/getting-started.html getting-started-step1 with Amazon Quick subscription https://docs.aws.amazon.com/quick/latest/userguide/signing-up.html - Python 3.9+ Node.js https://nodejs.org/en/download 20+ AWS Cloud Development Kit AWS CDK https://docs.aws.amazon.com/cdk/v2/guide/getting-started.html AWS Command Line Interface AWS CLI V2 https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html - An AWS CLI profile https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html with IAM permissions https://docs.aws.amazon.com/IAM/latest/UserGuide/access policies.html to deploy the solution, including creating AWS Identity and Access Management IAM roles, AWS KMS key, Amazon CloudWatch Log Groups, an Amazon S3 bucket, AWS Lambda functions, Amazon Data Firehose delivery streams, Amazon EventBridge rules, and AWS CloudFormation https://aws.amazon.com/cloudformation/ stacks. If you choose AWS Lake Formation for data catalog access control, the deploying identity must be a Lake Formation administrator. Deploy the solution The deployment is organized into steps, each building on the previous one. You can stop after any step and have a working solution at that level. Settings like the AWS CLI profile, resource prefix, database name, and workgroup name are saved locally after each step, so subsequent steps auto-populate them. Clone the repository Clone the GitHub repository https://github.com/aws-samples/sample-quick-observability-platform and navigate to the project directory: Set up vended logs Deploy the Amazon CloudWatch Logs infrastructure: The script auto-detects your Quick subscription region, creates the AWS KMS key, and configures vended logs delivery for chat, feedback, agent hours, and index usage data. The deployment prompts for CloudWatch log groups to create /aws/vendedlogs/quick/chat, /aws/vendedlogs/quick/feedback, /aws/vendedlogs/quick/agent-hours, /aws/vendedlogs/quick/index-usage . It also prompts for a prefix quickobserve for other AWS resources to be created. Chat message content user message and system text message might contain sensitive or regulated data from connected enterprise sources such as databases, Amazon S3 buckets, or third-party integrations. Before enabling message content logging, review your organization’s data privacy, compliance, and data retention policies. The chat message content is omitted by default so that no user conversation data reaches CloudWatch Logs. The deployment prompts you if you want to log the chat message content. Verify the CloudWatch vended log groups in the AWS console: Deploy data pipeline Use the following command to deploy the pipeline: This deploys Amazon S3 data lake, Amazon CloudWatch Logs subscription filters, Amazon Data Firehose delivery streams, AWS Lambda functions and an Amazon EventBridge rule. You can see the logs data in Amazon S3 data lake quickobserve-pipeline-datalake-