Построение корпоративного решения для наблюдаемости Amazon Quick с Amazon CloudWatch, AWS CloudTrail и Quick Sight — ИИ для бизнеса

Построение корпоративного решения для наблюдаемости Amazon Quick с Amazon CloudWatch, AWS CloudTrail и Quick Sight

Прослушать статью

Когда в корпоративную платформу ИИ подключаются сотни и тысячи пользователей, руководителям бизнеса и владельцам платформы нужна прозрачность: кто пользуется платформой, насколько пользователи довольны ответами и какие возможности дают наибольшую вовлеченность. Без централизованного решения для наблюдаемости эти данные оказываются разрозненными между несколькими сервисами AWS и их сложно анализировать в масштабе.

Amazon Quick — это платформа на базе генеративного ИИ, которая объединяет Spaces, Chat agents, Flows, Automate, Research и возможности бизнес-аналитики Amazon Quick Sight в одном месте. По мере масштабирования развертываний Amazon Quick организациям нужен надежный способ отслеживать внедрение, измерять удовлетворенность, контролировать затраты и аудировать соблюдение правил из единого окна.

В этом материале показано, как развернуть решение, которое объединяет операционные данные Amazon Quick из Amazon CloudWatch vended logs и AWS CloudTrail events в защищенное хранилище данных в Amazon Simple Storage Service (Amazon S3), которое затем можно запрашивать через Amazon Athena, дашборд Quick Sight и пользовательского чат-агента Quick.

Обзор решения

Amazon Quick публикует данные об использовании и взаимодействиях через vended logs, чтобы предоставлять сведения о чат-диалогах, отзывах пользователей, использовании часов agent/research и использовании хранилища индексов в Amazon Quick. Amazon Quick интегрирован с AWS CloudTrail, который фиксирует действия пользователя, роли или сервиса AWS в Amazon Quick.

Рисунок 1. Архитектура корпоративного решения для наблюдаемости Amazon Quick

Рабочий процесс состоит из следующих шагов:

  1. Бизнес-пользователи взаимодействуют с Amazon Quick.
  2. Amazon Quick публикует журналы взаимодействий в Amazon CloudWatch vended logs. Эти журналы можно защитить с помощью data protection policies, чтобы маскировать чувствительные данные, такие как учетные данные (закрытые ключи, AWS secret access keys), финансовую информацию, персональные данные, защищенную медицинскую информацию и идентификаторы устройств.
  3. Subscription filters CloudWatch пересылают события журналов в delivery streams Amazon Data Firehose. Эти delivery streams преобразуют данные с помощью функции AWS Lambda и записывают их в хранилище данных в Amazon S3.
  4. Правило Amazon EventBridge направляет вызовы API Amazon Quick из AWS CloudTrail и отправляет их в выделенный delivery stream Firehose. Этот delivery stream преобразует данные с помощью функции AWS Lambda и записывает их в хранилище данных.
  5. AWS Glue Data Catalog хранит метаданные хранилища данных для внешних таблиц и аналитических представлений Amazon Athena.
  6. Администраторы могут использовать Amazon Athena для запросов к данным. AWS Lake Formation предоставляет детализированные права доступа к хранилищу данных на уровне таблиц и столбцов.
  7. Руководители бизнеса и заинтересованные стороны могут просматривать данные в дашборде Quick Sight для интерактивного анализа данных о внедрении, удовлетворенности, затратах и управлении. Они также могут использовать пользовательского чат-агента Quick с вопросами на естественном языке, чтобы получать мгновенные визуальные ответы.

Решение шифрует данные при хранении с помощью управляемого клиентом ключа AWS Key Management System (AWS KMS) с автоматической ротацией ключей. Решение шифрует группы журналов Amazon CloudWatch, delivery streams Amazon Data Firehose, переменные окружения функций AWS Lambda и хранилище данных Amazon S3. Это обеспечивает единый подход к шифрованию по всему конвейеру.

Требования

Для развертывания этого решения вам потребуется:

Развертывание решения

Развертывание организовано по шагам, и каждый следующий шаг опирается на предыдущий. После любого шага можно остановиться и получить рабочее решение на этом уровне. Такие параметры, как профиль AWS CLI, префикс ресурсов, имя базы данных и имя workgroup, сохраняются локально после каждого шага, поэтому последующие шаги подставляют их автоматически.

Клонирование репозитория

Склонируйте репозиторий GitHub и перейдите в каталог проекта:

git clone https://github.com/aws-samples/sample-quick-observability-platform

cd sample-quick-observability-platform

Настройка vended logs

Разверните инфраструктуру Amazon CloudWatch Logs:

python3 deploy.py --logs

Скрипт автоматически определяет регион вашей подписки Quick, создает ключ AWS KMS и настраивает доставку vended logs для данных о чатах, отзывах, часах agent и использовании индекса.

При развертывании будет предложено создать группы журналов CloudWatch (/aws/vendedlogs/quick/chat, /aws/vendedlogs/quick/feedback, /aws/vendedlogs/quick/agent-hours, /aws/vendedlogs/quick/index-usage). Также будет предложено указать префикс quickobserve для остальных ресурсов AWS, которые нужно создать.

Содержимое сообщений чата (user_message и system_text_message) может включать чувствительные или регулируемые данные из подключенных корпоративных источников, таких как базы данных, корзины Amazon S3 или сторонние интеграции. Перед включением логирования содержимого сообщений проверьте политику вашей организации в части конфиденциальности данных, соответствия требованиям и сроков хранения. По умолчанию содержимое чата не включается, чтобы никакие данные пользовательских разговоров не попадали в CloudWatch Logs. При развертывании вам будет предложено, хотите ли вы логировать содержимое сообщений чата.

Проверьте группы журналов CloudWatch vended logs в консоли AWS:

Развертывание конвейера данных

Используйте следующую команду для развертывания конвейера:

python3 deploy.py --pipeline

Это развертывает хранилище данных Amazon S3, subscription filters Amazon CloudWatch Logs, delivery streams Amazon Data Firehose, функции AWS Lambda и правило Amazon EventBridge.

Вы можете увидеть данные журналов в хранилище данных Amazon S3 (quickobserve-pipeline-datalake-<account-id>).

Настройка каталога данных

Используйте следующую команду для запуска настройки каталога данных:

python3 deploy.py --datacatalog

Скрипт запрашивает имя базы данных (quickobserve_db) и проверяет, что она еще не существует в AWS Glue Data Catalog, чтобы избежать случайного изменения таблиц, принадлежащих другим рабочим нагрузкам. Затем он предлагает выбрать способ управления доступом к хранилищу данных:

  • Lake Formation (по умолчанию) — регистрирует расположение хранилища данных и выдает детализированные разрешения на роль сервиса Amazon Quick на уровне таблиц и столбцов. Когда включено логирование содержимого сообщений, исключение на уровне столбца не дает содержимому сообщений попадать в дашборд и topic Quick Sight.
  • IAM policies — пропускает настройку AWS Lake Formation и полагается на политики IAM для контроля доступа. Используйте этот вариант, если в вашей учетной записи не используется Lake Formation.

Скрипт создает базу AWS Glue Data Catalog, таблицы и представления Athena для vended logs CloudWatch и событий CloudTrail. Вы можете увидеть каталог данных в AWS Glue:

Проверьте, что данные поступают, выполнив следующие запросы в редакторе запросов Amazon Athena:

SELECT * FROM "quickobserve_db"."agent_hours_logs" ;

SELECT * FROM "quickobserve_db"."chat_logs" ;

SELECT * FROM "quickobserve_db"."cloudtrail_events" ;

SELECT * FROM "quickobserve_db"."feedback_logs" ;

SELECT * FROM "quickobserve_db"."index_usage_logs" ;

SELECT * FROM "quickobserve_db"."cloudtrail_events" ;

Развертывание дашборда Quick Sight

Разверните дашборд Quick Sight:

python3 deploy.py --dashboard

Это развертывает ресурсы Quick Sight: пользовательскую тему, источник данных, наборы данных с ежедневным расписанием обновления, анализ и дашборд для просмотра метрик наблюдаемости Amazon Quick.

Вы можете просмотреть метрики наблюдаемости в дашборде Quick Sight:

  1. Войдите в консоль Amazon Quick.
  2. В левом меню выберите Dashboards, а затем Quick Observability Dashboard.

Каждый лист в дашборде включает элементы управления параметром диапазона дат и детальную таблицу внизу. Выбор любого графика, сектора круговой диаграммы или KPI фильтрует детальную таблицу, показывая соответствующие записи.

Создание topic Quick Sight

Используйте следующую команду для создания topic Quick Sight:

python3 scripts/create_topic.py

Скрипт проверяет, что каждый набор данных содержит данные из успешной загрузки, а затем создает topic Quick Sight с пользовательскими инструкциями, которые направляют вопросы к нужному набору данных. Вы можете увидеть topic Quick Sight в консоли Amazon Quick.

  1. Войдите в консоль Amazon Quick.

Создание пользовательского чат-агента Quick

Этот шаг выполняется через консоль Amazon Quick.

  1. В левом меню выберите Spaces, а затем Create space.
  2. На открывшейся странице создания пространства введите name и description для вашего пространства.
  3. Выберите Add knowledge, чтобы начать добавление контента в пространство.
  4. В разделе Add topic выберите Quick Observability Topic.

Создайте пользовательского чат-агента Quick:

  1. В левом меню выберите Chat agents, а затем Create chat agent.
  2. На открывшейся странице создания агента введите name и description для вашего агента.
  3. В разделе Instructions вставьте prompt из репозитория GitHub.
  4. В разделе Knowledge sources выберите Link Spaces и укажите Quick Observability Space.
  5. Выберите Launch chat agent, чтобы опубликовать агента в библиотеке чат-агентов и использовать его в чате.

Руководители бизнеса могут задавать вопросы вроде: «Какие возможности Amazon Quick использовались чаще всего за последние 30 дней?»

Они будут получать мгновенные визуальные ответы с метриками, графиками и практическими рекомендациями.

Очистка

Чтобы удалить развернутые ресурсы, запустите скрипт очистки:

python3 cleanup.py

Заключение

В этом материале показано, как развернуть решение для наблюдаемости, которое объединяет операционные данные Amazon Quick в защищенном хранилище данных. Решение делает доступными через Amazon Athena, дашборд Amazon Quick Sight и пользовательского чат-агента Amazon Quick метрики взаимодействий в чате, отзывы пользователей, использование часов agent, использование хранилища индексов и события управления. Вы можете расширить решение несколькими способами: добавить собственные представления Athena для метрик вашей организации, создать дополнительные листы в дашборде, построить новые чат-агенты для разных команд или интегрировать хранилище данных с другими инструментами аналитики.

Чтобы начать, можно клонировать репозиторий GitHub и развернуть решение.


Материал — перевод статьи с английского.

Оригинал: Build an enterprise observability solution for Amazon Quick