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

Hướng Dẫn Quan Sát Với New Relic Cho Strands Agents

Đăng vào 1 tuần trước

• 3 phút đọc

Giới thiệu

Chào mừng đến với bài viết của chúng tôi! Hôm nay, chúng ta sẽ khám phá cách sử dụng New Relic và OpenTelemetry (OTEL) để theo dõi và giám sát Strands Agents. Bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan về cách thức hoạt động của hệ thống, cùng với các mã nguồn mẫu và hướng dẫn thực tế để bạn dễ dàng áp dụng.

Nội dung bài viết

  • Giới thiệu về New Relic và OTEL
  • Hướng dẫn cài đặt và cấu hình
  • Ví dụ mã nguồn thực tế
  • Thực hành tốt nhất và mẹo hiệu suất
  • Câu hỏi thường gặp

New Relic và OpenTelemetry

New Relic là một công cụ mạnh mẽ giúp bạn theo dõi hiệu suất ứng dụng, trong khi OpenTelemetry cung cấp một framework cho việc thu thập dữ liệu giám sát. Khi kết hợp cả hai, bạn có thể dễ dàng theo dõi và phân tích hiệu suất của Strands Agents.

Trước khi bắt đầu

Để hiểu rõ hơn về ứng dụng PoC mà chúng ta sẽ sử dụng, bạn có thể tham khảo video giải thích tại đây. Chúng ta sẽ sử dụng Kubernetes MCP để tương tác với một k3s cluster và kích hoạt OpenTelemetry để tạo ra dữ liệu quan sát. Phần quan sát cho Strands đã được thảo luận trong bài viết và video này.

Cài đặt môi trường

Trước tiên, bạn cần cài đặt các công cụ cần thiết:

  • Kubernetes: Hệ thống quản lý container
  • OpenTelemetry: Framework thu thập dữ liệu

Clone mã nguồn

Sau khi chuẩn bị xong môi trường, bạn có thể clone mã nguồn như sau:

Copy
git clone https://github.com/networkandcode/networkandcode.github.io/tree/1014fbcffeda3b61d331421d2cc67d11ca98c597

cd networkandcode.github.io/strands-examples/strands-newrelic-demo/

git switch 1014fbc --detach

$ ls -a
.   .env.example     README.md         k8s_mcp_app.py  pyproject.toml    strands-agent-dashboard.json
..  .python-version  k8s_mcp_agent.py  main.py         set_telemetry.py  uv.lock

Cấu hình New Relic

Trước khi tiếp tục, bạn cần lấy API key từ New Relic. Đây là một bước quan trọng để đảm bảo rằng dữ liệu telemetry được gửi đúng cách.

Thiết lập API key

Bạn cần thiết lập biến môi trường sau trong file .env:

Copy
$ cat .env
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-west-2

OTEL_EXPORTER_OTLP_ENDPOINT="https://otlp.nr-data.net"
OTEL_EXPORTER_OTLP_HEADERS=api-key=<your-api-key>
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

Mã nguồn thiết lập telemetry

Bạn cần chỉnh sửa file set_telemetry.py để cấu hình telemetry:

python Copy
from dotenv import load_dotenv
from strands.telemetry import StrandsTelemetry

def set_telemetry():
    load_dotenv()
    strands_telemetry = StrandsTelemetry()
    strands_telemetry.setup_otlp_exporter()

Chạy ứng dụng

Giờ đây, bạn có thể chạy ứng dụng và gửi một số yêu cầu:

Copy
$ uv run streamlit run k8s_mcp_app.py

Quan sát dữ liệu trong New Relic

Sau khi chạy ứng dụng, dữ liệu telemetry sẽ bắt đầu được gửi đến New Relic. Bạn có thể trực quan hóa dữ liệu qua dashboard. Đây là một dashboard đơn với 3 trang để hiển thị dữ liệu cấp độ ứng dụng, cấp độ yêu cầu và cấp độ hoạt động.

Cấu trúc Dashboard

Dashboard có thể được xuất dưới dạng JSON:

Copy
$ ls strands-agent-dashboard.json 
strands-agent-dashboard.json

Bạn có thể nhập dashboard này vào New Relic. Nếu có bất kỳ lỗi nào trong dashboard, hãy cho chúng tôi biết.

Thực hành tốt nhất

  • Kiểm tra cấu hình: Đảm bảo rằng tất cả các biến môi trường được thiết lập chính xác.
  • Giám sát hiệu suất: Theo dõi hiệu suất ứng dụng và điều chỉnh nếu cần thiết.
  • Bảo trì định kỳ: Đảm bảo rằng bạn thường xuyên cập nhật và kiểm tra các phần mềm liên quan.

Câu hỏi thường gặp (FAQ)

1. Tôi cần gì để bắt đầu?
Bạn cần có tài khoản New Relic và cài đặt OpenTelemetry.

2. Có cách nào khác để theo dõi ứng dụng không?
Có, bạn có thể sử dụng các công cụ khác như Prometheus hoặc Grafana.

Kết luận

Bài viết này đã hướng dẫn bạn cách thiết lập và sử dụng New Relic với Strands Agents. Hy vọng rằng bạn đã tìm thấy thông tin hữu ích và có thể áp dụng vào dự án của mình. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại ý kiến trong phần bình luận dưới đây!

Hãy bắt đầu theo dõi hiệu suất ứng dụng của bạn ngay hôm nay với New Relic và OpenTelemetry!

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