Trình bổ trợ Google Cloud sẽ xuất dữ liệu đo từ xa và nhật ký của Firebase Genkit sang bộ công cụ hoạt động của Google Cloud. Bộ công cụ này hỗ trợ trang tổng quan về tính năng Giám sát AI của Firebase (bản xem trước riêng tư).
Lắp đặt
npm i --save @genkit-ai/google-cloud
Nếu muốn chạy các luồng sử dụng trình bổ trợ này trên máy, bạn cũng cần cài đặt công cụ Google Cloud CLI.
Thiết lập tài khoản Google Cloud
Trình bổ trợ này yêu cầu một tài khoản Google Cloud (đăng ký nếu bạn chưa có) và một dự án Google Cloud.
Trước khi thêm trình bổ trợ, hãy đảm bảo rằng bạn đã bật các API sau cho dự án:
Các API này sẽ được liệt kê trong trang tổng quan API cho dự án của bạn.
Nhấp vào đây để tìm hiểu thêm về cách bật và tắt API.
Cấu hình Genkit
Để bật tính năng xuất sang Google Cloud Tracing, Logging và Monitoring, bạn chỉ cần gọi enableGoogleCloudTelemetry()
:
import { enableGoogleCloudTelemetry } from '@genkit-ai/google-cloud';
enableGoogleCloudTelemetry();
Khi chạy trong môi trường thực tế, dữ liệu đo từ xa sẽ tự động được xuất.
Xác thực
Trình bổ trợ này yêu cầu mã dự án Google Cloud và thông tin xác thực dự án Google Cloud của bạn. Nếu bạn đang chạy flow từ môi trường Google Cloud (Cloud Functions, Cloud Run, v.v.), thì mã dự án và thông tin xác thực sẽ được đặt tự động.
Thông tin xác thực mặc định của ứng dụng
Để chạy trong các môi trường khác, bạn cần đặt biến môi trường GCLOUD_PROJECT
thành dự án Google Cloud và xác thực bằng công cụ gcloud
:
gcloud auth application-default login
Để biết thêm thông tin, hãy xem tài liệu về Thông tin xác thực mặc định của ứng dụng.
Thông tin đăng nhập của tài khoản dịch vụ
Nếu đang sử dụng tài khoản dịch vụ và chạy bên ngoài môi trường Google Cloud, bạn có thể đặt thông tin xác thực làm biến môi trường. Làm theo hướng dẫn tại đây để thiết lập Khoá tài khoản dịch vụ Google Cloud.
Sau khi tải tệp khoá xuống, bạn có thể chỉ định thông tin xác thực theo hai cách: vị trí tệp bằng cách sử dụng biến môi trường GOOGLE_APPLICATION_CREDENTIALS
hoặc sao chép trực tiếp nội dung của tệp json vào biến môi trường GCLOUD_SERVICE_ACCOUNT_CREDS
.
Đường dẫn tệp:
GOOGLE_APPLICATION_CREDENTIALS = "path/to/your/key/file"
Sao chép trực tiếp:
GCLOUD_SERVICE_ACCOUNT_CREDS='{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "your-private-key-id",
"private_key": "your-private-key",
"client_email": "your-client-email",
"client_id": "your-client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "your-cert-url"
}'
Cấu hình trình bổ trợ
Hàm enableGoogleCloudTelemetry()
nhận một đối tượng cấu hình không bắt buộc để định cấu hình thực thể OpenTelemetry NodeSDK.
import { AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';
enableGoogleCloudTelemetry({
forceDevExport: false, // Set this to true to export telemetry for local runs
sampler: new AlwaysOnSampler(),
autoInstrumentation: true,
autoInstrumentationConfig: {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-net': { enabled: false },
},
metricExportIntervalMillis: 5_000,
});
Các đối tượng cấu hình cho phép kiểm soát chi tiết nhiều khía cạnh của quá trình xuất dữ liệu đo từ xa được nêu dưới đây.
thông tin xác thực
Cho phép chỉ định thông tin xác thực trực tiếp bằng cách sử dụng JWTInput từ thư viện google-auth.
bộ lấy mẫu
Đối với những trường hợp không thể xuất tất cả dấu vết, OpenTelemetry cho phép lấy mẫu dấu vết.
Có 4 bộ lấy mẫu được định cấu hình trước:
- AlwaysOnSampler – lấy mẫu tất cả dấu vết
- AlwaysOffSampler – không lấy mẫu dấu vết
- ParentBased – lấy mẫu dựa trên span mẹ
- TraceIdRatioBased – lấy mẫu một tỷ lệ phần trăm có thể định cấu hình của các dấu vết
autoInstrumentation và autoInstrumentationConfig
Việc bật tính năng thiết bị đo lường tự động cho phép OpenTelemetry thu thập dữ liệu đo từ xa từ thư viện bên thứ ba mà không cần sửa đổi mã.
metricExportIntervalMillis
Trường này chỉ định khoảng thời gian xuất chỉ số tính bằng mili giây.
metricExportTimeoutMillis
Trường này chỉ định thời gian chờ để xuất chỉ số tính bằng mili giây.
disableMetrics
Cung cấp một cơ chế ghi đè để tắt tính năng xuất chỉ số trong khi vẫn xuất dấu vết và nhật ký.
disableTraces
Cung cấp một cơ chế ghi đè để tắt tính năng xuất dấu vết trong khi vẫn xuất các chỉ số và nhật ký.
disableLoggingIO
Cung cấp một cơ chế ghi đè để tắt tính năng thu thập nhật ký đầu vào và đầu ra.
forceDevExport
Tuỳ chọn này sẽ buộc Genkit xuất dữ liệu đo từ xa và nhật ký khi chạy trong môi trường dev
(ví dụ: cục bộ).
Kiểm thử quá trình tích hợp
Khi định cấu hình trình bổ trợ, hãy sử dụng forceDevExport: true
để bật tính năng xuất dữ liệu đo từ xa cho các lần chạy cục bộ. Chuyển đến Nhật ký Google Cloud, Chỉ số hoặc Trình khám phá dấu vết để xem dữ liệu đo từ xa. Ngoài ra, hãy chuyển đến Bảng điều khiển giám sát AI của Firebase (bản xem trước riêng tư) để xem thông tin đo từ xa theo ngôn ngữ AI.