0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Khám Phá Quan Sát Gateway AgentCore Amazon Bedrock

Đăng vào 5 ngày trước

• 7 phút đọc

Giới Thiệu

Trong các phần trước của chuỗi bài viết này, chúng ta đã khám phá cách mà Amazon Bedrock cung cấp các chỉ số CloudWatch cho Gateway AgentCore. Ở phần này, chúng ta sẽ đi sâu vào việc quan sát và theo dõi Gateway này, cùng với các thông tin quan trọng mà nó cung cấp để giúp các nhà phát triển có thể tối ưu hóa việc sử dụng.

Chỉ Số CloudWatch Của Gateway AgentCore

Các chỉ số sau đây rất quan trọng để theo dõi hiệu suất và tình trạng hoạt động của Gateway AgentCore:

  • Invocations: Tổng số yêu cầu được gửi đến mỗi API của Data Plane. Mỗi cuộc gọi API đều được tính là một lần gọi, bất kể trạng thái phản hồi.
  • Throttles [429]: Số lượng yêu cầu bị giới hạn (trạng thái 429) bởi dịch vụ.
  • SystemErrors [5xx]: Số lượng yêu cầu thất bại với mã trạng thái 5xx.
  • UserErrors [4xx]: Số lượng yêu cầu thất bại với mã trạng thái 4xx khác ngoài 429.
  • Latency: Thời gian từ khi dịch vụ nhận yêu cầu đến khi bắt đầu gửi token phản hồi đầu tiên.
  • Duration: Tổng thời gian từ khi nhận yêu cầu đến khi gửi token phản hồi cuối cùng. Đại diện cho thời gian xử lý toàn bộ yêu cầu.
  • TargetExecutionTime: Thời gian tổng cộng để thực thi mục tiêu qua Lambda, OpenAPI, v.v. Chỉ số này giúp bạn xác định đóng góp của mục tiêu vào tổng độ trễ.
  • TargetType: Số lượng yêu cầu được phục vụ bởi mỗi loại mục tiêu (MCP, Lambda, OpenAPI).

Theo Dõi Gateway AgentCore

Bài viết trước đã giới thiệu về khả năng quan sát của AgentCore cho các tác nhân được lưu trữ trên AgentCore Runtime. Việc kích hoạt khả năng quan sát này giúp chúng ta theo dõi các phiên làm việc và đặc biệt là các trace, mà trong đó có các spans, timeline và trajectory views. Cụ thể, yêu cầu gửi đến AgentCore được hiển thị dưới dạng yêu cầu HTTP POST như sau:

http Copy
POST /mcp

Trong dữ liệu span, thông tin mà chúng ta có được là thuộc tính http.url, cho biết rằng đây là URL chính xác của Gateway AgentCore. Điều này cho phép chúng ta biết rằng phía sau URL này là mục tiêu Open API (trong trường hợp của chúng ta là Amazon API Gateway Order API) được triển khai như một bộ công cụ tương thích với MCP. Tuy nhiên, chúng ta không biết được các yêu cầu mà chúng ta gửi đến mục tiêu Gateway này cũng như các công cụ mà chúng ta đang sử dụng. Đây là lúc mà nhật ký CloudWatch của Gateway AgentCore có thể hỗ trợ chúng ta.

Nhật Ký Gateway AgentCore

AgentCore cung cấp các nhật ký giúp chúng ta theo dõi và khắc phục sự cố cho các quy trình chính của tài nguyên Gateway. Để kích hoạt dữ liệu nhật ký này, chúng ta cần tạo một đích nhật ký.

AgentCore có thể xuất nhật ký đến CloudWatch Logs, Amazon S3 hoặc Firehose stream. Nếu chúng ta sử dụng đích nhật ký CloudWatch Logs, các nhật ký này sẽ được lưu trữ dưới nhóm nhật ký mặc định /aws/vendedlogs/bedrock-agentcore/gateway/APPLICATION_LOGS/{gateway_id} hoặc dưới một nhóm nhật ký tùy chỉnh bắt đầu bằng /aws/vendedlogs/. Bạn có thể tham khảo thêm thông tin trong bài viết "Kích hoạt khả năng quan sát cho bộ nhớ AgentCore, Gateway và các tài nguyên công cụ tích hợp".

AgentCore ghi lại các thông tin sau cho các tài nguyên Gateway:

  • Bắt đầu và hoàn tất quá trình xử lý yêu cầu của Gateway
  • Thông báo lỗi cho các cấu hình mục tiêu
  • Yêu cầu MCP thiếu hoặc sai tiêu đề xác thực
  • Yêu cầu MCP với tham số yêu cầu không chính xác (công cụ, phương thức)

Chúng ta có thể thêm chức năng giao hàng nhật ký cho mỗi Gateway AgentCore đã tạo bằng cách chọn nó và cuộn xuống phần "Giao hàng Nhật ký":

Trong trường hợp của chúng ta, chúng ta chọn "Amazon CloudWatch Logs" làm đích và để thông tin "Loại nhật ký" và "Nhóm nhật ký đích" như đã đề xuất:

Sau khi nhấn nút "Thêm", chức năng giao hàng nhật ký sẽ được tạo:

Sau khi hỏi tác nhân một số câu hỏi (ví dụ: hãy cung cấp thông tin về đơn hàng với số 12345), chúng ta có thể xem nội dung của nhật ký CloudWatch cho Gateway AgentCore.

Ví dụ, một mục nhật ký như sau:

Copy
INFO: Received request for tools/call method

Cung cấp cho chúng ta thông tin về việc giao tiếp với Gateway AgentCore cụ thể (xem ARN đã ghi lại) về việc nhận danh sách đầy đủ các công cụ tương thích với MCP, được chỉ định bởi thông tin "Received request for tools/call method".

Hãy xem một mục nhật ký khác:

Copy
INFO: Executing tool DemoOpenAPITargetS3OrderAPI___getOrderById from target 7HIDDVWIFP

Cung cấp thông tin rằng chúng ta đã yêu cầu cùng một Gateway AgentCore (xem ARN đã ghi lại) sử dụng công cụ MCP với tên DemoOpenAPITargetS3OrderAPI___getOrderById từ mục tiêu Gateway với ID 7HIDDVWIFP (mà trong trường hợp của chúng ta là mục tiêu Open API với Amazon API Gateway Order API phía sau), được chỉ định bởi thông tin "Executing tool DemoOpenAPITargetS3OrderAPI___getOrderById from target 7HIDDVWIFP".

Điều này cung cấp thông tin bổ sung hữu ích về yêu cầu, nhưng tôi cũng mong muốn có thêm 2 điều:

  1. Ghi lại tham số đầu vào khi các công cụ tương thích với MCP được gọi. Trong trường hợp của chúng ta, chúng ta truyền ID đơn hàng vào việc gọi công cụ DemoOpenAPITargetS3OrderAPI___getOrderById.
  2. Tùy chọn, ghi lại phản hồi như là kết quả của việc gọi công cụ để tôi có một nơi để kiểm tra toàn bộ yêu cầu và phản hồi của Gateway AgentCore.

Tất nhiên, tôi có thể lấy cả hai thông tin này từ nhật ký của tác nhân bằng cách chủ động ghi lại giao tiếp với Gateway AgentCore hoặc bằng cách ghi lại trong mục tiêu Gateway. Ví dụ, điều này có thể là:

  • Trong hàm Lambda
  • Trong Open API đã được triển khai nếu chúng ta có quyền truy cập như trong trường hợp của chúng ta. Đây là Amazon API Gateway Order API của chúng ta với hàm Lambda phía sau, nơi chúng ta có thể ghi lại thông tin.

Thực Hành Tốt Nhất

  • Kích hoạt nhật ký cho tất cả các Gateway: Đảm bảo rằng tất cả các Gateway đều có chức năng ghi nhật ký được kích hoạt để theo dõi và phân tích dễ dàng.
  • Theo dõi các chỉ số quan trọng: Thường xuyên kiểm tra các chỉ số CloudWatch để phát hiện sớm các vấn đề.
  • Sử dụng các công cụ giám sát bổ sung: Cân nhắc sử dụng các công cụ giám sát bổ sung như AWS X-Ray để có cái nhìn sâu sắc hơn về hiệu suất.

Các Cạm Bẫy Thường Gặp

  • Bỏ qua việc ghi nhật ký: Không ghi nhật ký có thể dẫn đến việc khó khăn trong việc khắc phục sự cố.
  • Không theo dõi các chỉ số: Bỏ qua việc theo dõi các chỉ số CloudWatch có thể dẫn đến việc không phát hiện được các vấn đề tiềm ẩn.

Mẹo Tối Ưu Hiệu Suất

  • Tối ưu hóa độ trễ: Kiểm tra và tối ưu hóa thời gian gọi API để giảm thiểu độ trễ.
  • Giảm thiểu số lượng yêu cầu: Cố gắng giảm số lượng yêu cầu không cần thiết đến Gateway để cải thiện hiệu suất tổng thể.

Kết Luận

Trong bài viết này, chúng ta đã khám phá khả năng quan sát của Gateway AgentCore trong Amazon Bedrock và cách kết hợp thông tin có sẵn trong CloudWatch GenAI Observability (bao gồm agent, phiên và trace views) để có thêm cái nhìn rõ ràng về giao tiếp với Gateway AgentCore. Hãy theo dõi chuỗi bài viết của tôi về Amazon Bedrock AgentCore Runtime để tìm hiểu thêm về các khía cạnh khác của công nghệ này.

Câu Hỏi Thường Gặp

  1. Làm thế nào để kích hoạt ghi nhật ký cho Gateway AgentCore?
    Bạn có thể kích hoạt ghi nhật ký bằng cách chọn Gateway và chọn tùy chọn giao hàng nhật ký trong cài đặt.

  2. Có những chỉ số nào cần theo dõi cho Gateway AgentCore?
    Bạn nên theo dõi các chỉ số như Invocations, Throttles, và Latency để đảm bảo rằng Gateway đang hoạt động hiệu quả.

  3. Có cách nào để tối ưu hóa hiệu suất của Gateway không?
    Có, bạn có thể tối ưu hóa độ trễ và giảm số lượng yêu cầu không cần thiết để cải thiện hiệu suất tổng thể.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào