Cách CLI hoạt động
Dùng văn bản dễ đọc trong terminal. Dùng--json trong script và agent lập
trình.
Cần đăng nhập tài khoản để đọc dữ liệu tài khoản. Trước khi bắt đầu đăng nhập,
chạy logbrew status --json. Một người phải tự hoàn tất bước cấp quyền trên
trình duyệt. Khóa gửi dữ liệu của dự án dùng để gửi telemetry. Khóa này không
thay thế được đăng nhập tài khoản.
Tạo dự án, tạo khóa, thay đổi trạng thái, mức ưu tiên và người phụ trách của vấn
đề, triển khai và cập nhật yêu cầu hỗ trợ đều thay đổi dữ liệu tài khoản. Trước khi chạy một lệnh như vậy, kiểm tra thao tác và
đối tượng đích đều đúng.
Chạy logbrew --help để xem mọi lệnh. Thêm --help vào một lệnh, như
logbrew read logs --help, để xem các flag của lệnh đó. Chạy
logbrew help json để xem quy tắc JSON.
Đọc báo cáo doctor của dự án
Dùng ID dự án lấy từlogbrew projects --json:
status, checks và next. Mỗi mục kiểm tra có check, status
và next. Các mục kiểm tra là api, auth, project, ingest_key,
setup, telemetry và logs.
Mã thoát 0 nghĩa là CLI đã ghi báo cáo. Mã này không có nghĩa là dự án đã sẵn
sàng. Đọc status của báo cáo và từng mục kiểm tra. Mục kiểm tra
not_checked là chưa đạt.
Khi đọc dự án thành công, mục kiểm tra
logs là visible, empty,
unavailable, error hoặc invalid_response. Mục kiểm tra này không thay đổi
status của báo cáo. Kết quả log trống không cho biết gì về các tín hiệu khác.
Lần đọc thất bại không phải là kết quả trống.
Dùng next làm hướng dẫn khôi phục. Giá trị này không cấp quyền thay đổi trạng
thái tài khoản hoặc dự án.
Ví dụ: thiếu quyền truy cập tài khoản
Khi không có thông tin xác thực tài khoản, lệnh không gửi yêu cầu API nào. Lệnh ghi báo cáo này ra standard output và thoát với mã0:
state, setup_status hoặc next_action.
Bộ lọc
--since nhận thời lượng như 24h hoặc 7d, hoặc dấu thời gian RFC 3339.
--until nhận dấu thời gian RFC 3339. Thời điểm này không thuộc khoảng thời gian
và phải muộn hơn --since. Lệnh đọc một vấn đề theo ID không nhận --until.
Mức độ nghiêm trọng của log là info, warning, error hoặc critical.
Trạng thái vấn đề là trạng thái trong quy trình xử lý vấn đề, không phải mức độ
nghiêm trọng. --status ignored là tên cũ của --status archived.
--status open nghĩa là unresolved, và --status closed nghĩa là
resolved. --assignee none chọn các vấn đề chưa có người phụ trách, còn
--assignee my_teams chọn các vấn đề của những nhóm bạn tham gia. Mọi giá trị
--assignee khác đều thất bại với invalid_assignee.
CLI cũng nhận các bí danh sau: --project-id, --env, --service-name,
--trace-id, --distinct-id, và --level cho --severity. Dùng các tên
trong bảng cho script mới.
Lệnh này đọc các lỗi trong 1 ngày:
-- trước văn bản:
Chọn một lần xảy ra của vấn đề
Một vấn đề gộp nhóm các lần xảy ra khớp nhau. Đọc vấn đề để biết trạng thái, số lần xảy ra, thời điểm lần đầu xuất hiện và lần cuối xuất hiện:explain issue hoặc investigate issue để lấy bằng chứng từ một lần xảy
ra. Nếu không có --occurrence, LogBrew chọn lần xảy ra được đề xuất. Lần này
không phải lúc nào cũng là sự kiện mới nhất. Để đọc sự kiện mới nhất:
--occurrence cũng nhận recommended, first hoặc ID lần xảy ra mà LogBrew
đã trả về. Các lệnh này từ chối bộ lọc dự án, bản phát hành, môi trường và thời
gian. Trước khi so sánh bằng chứng, đọc dấu thời gian của lần xảy ra đã chọn.
Xem Điều tra một vấn đề để biết các trường bằng
chứng.
Thay đổi trạng thái và mức ưu tiên của vấn đề
Dùng 1 ID vấn đề để thay đổi 1 vấn đề:archive đặt archived, resolve đặt resolved, và reopen đặt
unresolved. Mức ưu tiên là high, medium hoặc low. Mức ưu tiên do bạn
đặt sẽ giữ cố định. Nếu không đặt, mức ưu tiên theo mức độ nghiêm trọng của vấn
đề.
Để thay đổi nhiều hơn 1 vấn đề, thêm --project. Mọi vấn đề phải thuộc dự án
đó. Một lệnh thay đổi được tối đa 100 vấn đề:
updated, unchanged hoặc
not_found. Vấn đề unchanged đã có sẵn giá trị được yêu cầu. Bạn có thể chạy
lại cùng lệnh sau khi gặp lỗi mạng.
Các lệnh này không hỏi xác nhận. Kiểm tra ID vấn đề trước. Khi đọc và thay đổi
vấn đề, kết quả hiển thị archived thay vì ignored, cùng priority,
priority_source và assignee của từng vấn đề. Xem
phản hồi vấn đề.
Giao vấn đề
Một vấn đề có 0 hoặc 1 người phụ trách: một tài khoản hoặc một nhóm. Liệt kê các tài khoản và nhóm mà bạn có thể giao trong một dự án:me, hoặc cho một nhóm:
--project để thay đổi tối đa 100 vấn đề của dự án đó, giống như với
trạng thái và mức ưu tiên. Tài khoản phải có quyền đọc dự án, còn nhóm phải
thuộc tổ chức của dự án. Để tìm các vấn đề được giao cho bạn hoặc cho nhóm của
bạn:
team #<slug> nếu đó là
một nhóm. Nếu tài khoản không có tên, đầu ra hiển thị địa chỉ email, rồi đến ID
người dùng. Vấn đề chưa có người phụ trách hiển thị unassigned.
Chủ sở hữu, lịch sử và hộp thư đến
issues owners liệt kê các chủ sở hữu được đề xuất và bằng chứng mà lệnh đã
kiểm tra. issues ownership set gửi các tệp cục bộ, mỗi tệp tối đa 128 KiB. Gửi
tệp trống để xóa nội dung đã lưu của tệp đó. issues activity và inbox nhận
--limit từ 1 đến 200, cùng --cursor-time và --cursor-id lấy từ
next_cursor. Xem
Tìm chủ sở hữu của vấn đề.
Đặt quy tắc mức độ nghiêm trọng
info, warning, error, critical hoặc source.
source hiển thị lại mức độ nghiêm trọng đã ghi nhận. --ignore ẩn các log khớp
khỏi danh sách log mặc định. Khi không có --ignore, quy tắc vẫn hiển thị các
log đó.
Đọc trang tiếp theo
Log, vấn đề, hành động, chỉ số và trace hỗ trợ phân trang bằng cursor. Bản phát hành thì không. Dùng--pagination cursor cho trang đầu tiên:
logs và next_cursor. next_cursor khác null có time và id.
Gửi hai giá trị này bằng --cursor-time và --cursor-id:
next_cursor là null.
Dùng cursor, không dùng số dòng, để quyết định còn trang nữa hay không. Trang
cuối có thể trống:
issues, actions hoặc
metrics thay cho logs.
Theo dõi trực tiếp
logbrew watch --json truyền trực tiếp log, vấn đề và hành động. Thêm logs,
issues hoặc actions để chỉ truyền một loại. tail, follow và stream là
bí danh của watch. Watch không hỗ trợ trace hoặc span.
Watch cần --json. Nếu thiếu, lệnh ghi watch streams JSON for agents và thoát với mã 1.
Sự kiện vấn đề trong watch hiển thị vấn đề đã lưu trữ là ignored, không kèm
mức ưu tiên. Đọc vấn đề để lấy trạng thái và mức ưu tiên hiện tại.
Watch chỉ nhận --severity, như --severity error,critical.
logbrew watch actions không nhận --severity. CLI
áp dụng bộ lọc này sau khi nhận sự kiện. Bộ lọc không làm giảm lượng dữ liệu máy
chủ gửi. Watch không có bộ lọc dự án, bản phát hành, môi trường hoặc thời gian.
Để dùng các bộ lọc đó, dùng lệnh read. Sau khi mất kết nối tạm thời, CLI chờ
rồi kết nối lại.
Đọc kết quả và lỗi
Đặt--json trước hoặc sau lệnh. Đọc mã thoát trước khi dùng đầu ra. Không
phân tích cú pháp đầu ra dành cho người đọc. Đầu ra này có thể thay đổi giữa các
phiên bản.
Đầu ra thành công giữ nguyên cấu trúc phản hồi của API. Đầu ra có thể là mảng
hoặc đối tượng. Khi không dùng phân trang bằng cursor, lệnh đọc log trả về một
mảng. Mảng trống nghĩa là không có log nào khớp. Đây không phải là lỗi.
Lỗi được ghi ra standard error. Ngoại lệ là
debug-artifacts --json: lệnh này
ghi lỗi ra standard output. Lỗi JSON có ok, error, message và next.
Dùng error làm mã lỗi ổn định. Xem xét next trước khi chạy lệnh mà nó gợi ý.
Ví dụ, logbrew watch traces --json thoát với mã 2 và ghi:
logbrew read logs --limit 0 --json thoát với mã 2 và ghi:
