Dùng
--json cho quy trình của agent. Giữ thông tin xác thực trong cấu hình
cục bộ được bảo vệ. Giữa người, công cụ và agent, chỉ truyền tên biến.Trước khi bắt đầu
Chuẩn bị:- Node.js 18 trở lên.
- LogBrew CLI v0.1.30 trở lên.
jq.- Bash hoặc Zsh.
- Một thư mục package cho ứng dụng Node.js phía máy chủ.
quickstart-node, môi trường development và bản phát hành
quickstart@1. Tách lần thử này khỏi production. Với runtime khác, dùng hướng dẫn
Tích hợp SDK.
Gửi và đọc log đầu tiên
1
Đọc trạng thái tài khoản
Cài đặt CLI bằng lệnh trong trang Dùng CLI. Sau đó đọc
trạng thái tài khoản của CLI.Điểm kiểm tra: trạng thái cho thấy quyền truy cập tài khoản đã được
xác thực. Nếu không, một người tự chạy
logbrew login một lần. Sau đó chạy
lại logbrew status --json. Agent không được bắt đầu đăng nhập mới khi
phiên xác thực hiện tại vẫn hoạt động.2
Tạo một dự án từ CLI
Chọn một tệp mới trong thư mục chỉ chủ sở hữu truy cập được. CLI ghi khóa
gửi dữ liệu của dự án vào tệp đó trước khi báo thành công. CLI không bao
giờ in khóa hay đường dẫn tệp.Việc tạo dự án làm thay đổi trạng thái tài khoản. Tệp đích phải chưa tồn
tại. Nếu kết quả không rõ ràng, chạy lại đúng lệnh đó. CLI dùng lại định
danh của yêu cầu đang chờ. Chỉ dùng
--abandon-retry để bắt đầu một lần
thử khác.Điểm kiểm tra: đầu ra báo status: "created", trạng thái thiết lập
created và một loại khóa gửi dữ liệu. Dự án đã tồn tại và khóa đã được
lưu. Điều này chưa cho thấy telemetry đã được gửi. Xem
Dự án và thiết lập.3
Cài đặt SDK Node.js
4
Gửi một log SDK an toàn
Gửi điểm đánh dấu bản phát hành và môi trường cùng một log Không đưa thông tin xác thực, header, nội dung yêu cầu, dữ liệu khách hàng
hay đường dẫn cục bộ vào sự kiện.Điểm kiểm tra: script in
info chỉ chứa
dữ liệu giữ chỗ. Khóa chỉ được đặt cho tiến trình Node.js này. Định danh
ứng dụng nằm trong context.Mỗi lần chạy tạo ID sự kiện mới. Nếu SDK thử gửi lại trong cùng lần chạy,
SDK gửi cùng nội dung với cùng ID. LogBrew không lưu lại sự kiện đã được
chấp nhận khi một lần thử lại gửi sự kiện đó thêm lần nữa."ok":true với status_code dạng 2xx.
attempts lớn hơn 1 sau một lần thử lại. Gửi thành công chưa phải bước
kiểm tra cuối cùng.Nếu gửi thất bại, script thoát với mã 1 và in một lỗi JSON ngắn, chẳng
hạn {"ok":false,"error":"unauthenticated"}. Script không in nội dung yêu
cầu hay khóa. Nếu khóa dự án bị từ chối, script báo
unauthenticated. Đăng nhập lại CLI không khắc phục được lỗi này.5
Đọc báo cáo doctor của dự án
CLI dùng quyền truy cập tài khoản đã lưu cho thao tác đọc này. Không dùng
khóa gửi dữ liệu của dự án.Điểm kiểm tra: báo cáo có
status: "ready". Đọc thêm từng mục trong
checks. Mã thoát 0 không cho thấy mọi mục kiểm tra đều đạt. Với trạng
thái khác, làm theo next và
Đọc báo cáo doctor của dự án.
Dự án ở trạng thái ready không cho thấy log thử này đã đến.6
Đọc log thử
Dùng dự án, bản phát hành và môi trường từ batch của SDK.Điểm kiểm tra:
LogBrew quickstart check xuất hiện cho dự án, bản
phát hành và môi trường đó. Điều này chỉ cho thấy log thử đã đến nơi.Đọc kết quả thử
Mẫu gửi ba sự kiện. Chỉ một sự kiện là log. Điểm đánh dấu bản phát hành và môi trường cung cấp ngữ cảnh cho log.
Giữ lần thử ở mức
info. Không đổi sang error để dễ tìm hơn. Thay vào đó,
dùng bộ lọc dự án và thời gian. Xem
Giá trị mức độ nghiêm trọng.
Dòng console.log in kết quả gửi ra terminal. Lệnh gọi client.log gửi log
đến LogBrew. Lần gửi đầu tiên thành công sẽ in:
--project của CLI không di
chuyển sự kiện.
Log này không có ngữ cảnh trace vì mẫu không tạo span yêu cầu. Điều đó không
cho thấy log bị lỗi. Kết quả đọc của CLI là một snapshot (dữ liệu tại thời điểm
đọc). Chạy lại lệnh để đọc các sự kiện đến sau, hoặc dùng
logbrew watch logs --json để xem luồng trực tiếp.
Cách xử lý các tình huống thường gặp
Nếu telemetry vẫn bị thiếu, xem
Khôi phục telemetry đầu tiên bị thiếu.
Nếu các bước đó không giúp được, báo cáo sự cố.
Không đính kèm thông tin xác thực, telemetry thô, dữ liệu khách hàng, đường dẫn
cục bộ hay mã nguồn.
Chuyển sang ứng dụng của bạn
- Tạo client một lần trong mã thiết lập của ứng dụng.
- Ghim phiên bản SDK trong các tệp package. Thử nâng cấp bên ngoài production.
- Nạp khóa gửi dữ liệu từ cấu hình bí mật sẵn có. Xoay vòng khóa khi khóa có thể đã bị lộ. Xem Xoay vòng khóa gửi dữ liệu.
- Dùng tên dịch vụ, môi trường và bản phát hành ổn định từ cấu hình triển khai. Xem Bản phát hành.
- Viết thông điệp log nêu tên thao tác và kết quả của nó, chẳng hạn
Report generation completed. Không đưa giá trị riêng tư vào thông điệp. Không sao chép toàn bộ yêu cầu hay bản ghi người dùng vào log. - Mỗi log của ứng dụng chỉ dùng một nơi gửi để tránh bản ghi trùng. Tìm tích hợp đang gửi từng bản ghi trước khi thêm LogBrew.
- Trước khi triển khai lên production, gửi một sự kiện an toàn qua luồng mã thật và đọc lại. Kiểm tra thông điệp, dịch vụ, bản phát hành và môi trường. Một mẫu chạy độc lập không kiểm tra được luồng mã của ứng dụng.
Dự án và thiết lập
Đọc trạng thái thiết lập và quản lý khóa gửi dữ liệu của dự án.
Tích hợp SDK
Chọn gói SDK cho runtime của bạn.
Điều tra một vấn đề
Lần theo bằng chứng từ trace và log liên quan của một vấn đề.
Báo cáo sự cố
Gửi báo cáo hỗ trợ an toàn và riêng tư.
