Đọc lần xảy ra được đề xuất
Cài đặt LogBrew CLI và chạylogbrew login. Sao chép UUID
của vấn đề từ một danh sách vấn đề. CLI kiểm tra phản hồi trước khi in ra.
--json cho agent và script. logbrew explain issue "<issue_id>" là
cùng một thao tác đọc. Khi đọc trực tiếp qua API, yêu cầu
phiên bản phản hồi 13. CLI cũng yêu cầu phiên bản này:
response_version từ 1 đến 13. Việc chọn lần xảy ra cần phiên
bản 2 trở lên. Hướng dẫn này mô tả phiên bản 13.
Lần xảy ra được đề xuất là một lần xảy ra gần đây, được giữ lại và có ngữ cảnh
hữu ích. Lần này có thể cũ hơn lần xảy ra mới nhất. LogBrew so sánh các lần
xảy ra mới nhất được giữ lại, tối đa
occurrence_selection.recommendation.candidate_limit lần. LogBrew chọn lần có
nhiều ngữ cảnh điều tra nhất. Nếu hai lần xảy ra có ngữ cảnh ngang nhau, lần
mới hơn được chọn. Nếu
occurrence_selection.recommendation.candidate_window_truncated là true,
vấn đề còn những lần xảy ra cũ hơn mà phần đề xuất chưa xét đến.
Xác nhận phạm vi điều tra
Bộ lọc của danh sách vấn đề không áp dụng cho điều tra. ID vấn đề chọn nhóm, và phản hồi có thể chứa lịch sử được giữ lại của nhóm. ID chính xác của một lần xảy ra không loại bỏ lịch sử đó. Nếu nhiệm vụ của bạn không cho phép đọc lịch sử đó, không gửi yêu cầu điều tra. Trước khi diễn giải lỗi, kiểm tra rằng:subject.project_idlà dự án bạn muốn.event.idlà lần xảy ra đã chọn.event.occurred_atnằm trong khoảng thời gian của sự cố.- Dịch vụ, môi trường và bản phát hành khớp với lần triển khai đang được xem xét.
schema_versionlà13.
Chọn một lần xảy ra khác
Gửi một tham số chọn:
Không gửi
selection và occurrence_id cùng lúc. Trong subject,
first_seen_at và last_seen_at mô tả nhóm. Bằng chứng chi tiết thuộc về
event đã chọn.
occurrence_selection cũng trả về bản tóm tắt của các lần xảy ra first,
latest, recommended và selected. occurrence_selection.reason cho biết
lý do LogBrew chọn lần xảy ra đó:
Đọc phản hồi theo thứ tự
- Đọc
subjectđể biết về nhóm, sau đó đọceventđể biết về lần xảy ra đã chọn. - Đọc
grouping,lifecyclevàoccurrence_analysisđể biết lịch sử của nhóm. - Đọc
fixđể biết vị trí mã. Giữprovenancecủa nó cùng với tệp, hàm, dòng và cột. Một khung ngăn xếp (stack frame) quan sát được chỉ cho thấy chỗ mã cần xem, không phải nguyên nhân đã được chứng minh. - Đọc
cause.statusvà bằng chứng của nó. Không giá trị nào của cause chứng minh được nguyên nhân gốc. - Đọc
impact.user_impacttách biệt vớiimpact.occurrence_count. Giữcount_method,coveragevàlimitationsđi kèm số đếm. Một người dùng có thể gây ra nhiều lần xảy ra. - Đọc
reproduction.status, sau đó đọccorrelations.
Vị trí mã và nguyên nhân
fix.status cho biết vị trí mã đến từ đâu:
cause.status là reported_hypothesis, evidence_only hoặc unknown.
reported_hypothesis đến từ ứng dụng và chưa được xác minh.
cause.signals liệt kê các tín hiệu quan sát được, chẳng hạn
unhandled_exception hoặc error_trace_span. provenance là
backend_observed hoặc application_reported. Giữ hai loại này tách biệt.
Tìm tệp mã nguồn
source_locator liên kết vị trí mã với một repository khi phần thiết lập dự án
có repository cho dịch vụ đó. Dùng repository_full_name, revision và
repository_relative_file để mở tệp. revision_source là
deployment_commit hoặc setup_snapshot.
Nếu source_locator.status là not_found, dịch vụ không có thành phần
repository được liên kết. Điều đó không có nghĩa là tệp bị thiếu. Không đoán
thành phần từ tên tệp.
Người dùng bị ảnh hưởng
known_affected_users là số ước tính, kể cả khi trạng thái là complete. Số
này không đếm người dùng ẩn danh hay các lần xảy ra không có ngữ cảnh người
dùng. Số đếm null không phải là 0. impact.reported chứa các giá trị do ứng
dụng báo cáo. Không cộng chúng vào các số đếm đo được.
Trạng thái tái hiện
Yếu tố kích hoạt đến từ
event.request hoặc impact.reported.failed_action.
Lỗi dự kiến đến từ event.exception hoặc
event.request.response_status_code. Vị trí mã là fix.location.
reproduction.baseline_occurrence_id là lần xảy ra đã chọn. Biên nhận
reproduction.evidence ghi lại từng đầu vào dưới dạng
reproduction.trigger, reproduction.expected_failure và
reproduction.code_location. Trạng thái ready không chứng minh việc chạy lại
đã thành công. Không bao giờ tự bịa nội dung yêu cầu, giá trị đã che hay các
bước.
Vòng đời và tái phát
lifecycle.persisted_status là trạng thái đã lưu. lifecycle.effective_status
là regressed khi có một lần xảy ra đến sau khi vấn đề đã được giải quyết.
Trạng thái đã lưu vẫn là resolved cho đến khi có người mở lại vấn đề.
lifecycle.regression.first_reappeared_occurrence xác định lần xảy ra mới đầu
tiên.
Phản hồi điều tra hiển thị vấn đề đã lưu trữ là ignored trong
subject.status và lifecycle. Xem Giá trị trạng thái.
Xử lý bằng chứng bị thiếu hoặc có giới hạn
correlations.trace.status có các giá trị sau:
Với
not_linked, tiếp tục với ngoại lệ, các khung, breadcrumb và bằng chứng
khác được trả về. Với not_found, giữ nguyên trace ID chính xác. Với
unavailable, thử lại sau. Không trạng thái nào có nghĩa là ứng dụng không có
trace. Một trace available có thể chỉ chứa span ghi nhận của vấn đề. Xem
Span ghi nhận.
correlations.logs chứa các log gần thời điểm xảy ra, từ cùng bản phát hành và
môi trường. Khi lần xảy ra có trace ID, các log đến từ trace đó. Khi không có
trace ID, các log đến từ cùng dịch vụ. actions, metrics và
related_issues cần trace ID. Mỗi tập hợp có status, items và
truncated.
Giữ captured_fields, missing_fields, redacted_fields và
truncated_fields tách biệt. Dữ liệu đã che không phải dữ liệu bị thiếu. Dữ
liệu bị cắt bớt không đầy đủ. evidence.status là partial khi một trường bắt
buộc bị thiếu, đã che, bị cắt bớt hoặc không khả dụng. Cập nhật SDK không bổ
sung bằng chứng cho các sự kiện trước đó.
Dùng đúng ID để tìm log, vấn đề và bản phát hành liên quan. Dấu thời gian gần
nhau không phải là liên kết.
Làm theo các bước tiếp theo
Xử lýnext_actions theo thứ tự priority khi client của bạn hỗ trợ đúng cặp
code và target. Mỗi bước cũng có một reason.
Xác minh lần triển khai ứng viên
Dùng ID của lần xảy ra lỗi làm mốc. Lấy ID lần triển khai ứng viên từ bằng chứng triển khai hoặc từ quy trình phát hành của bạn.logbrew deploy ghi lại
một lần triển khai.
422.
Phản hồi đếm các lần xảy ra của cùng vấn đề mà LogBrew nhận được từ khi lần
triển khai kết thúc đến thời điểm gửi yêu cầu (observed_after và
observed_until). Phản hồi cũng đếm các trace từ bản phát hành ứng viên.
absence_is_proof luôn là false. Vấn đề không xảy ra lại trong khoảng thời
gian này không chứng minh lỗi đã được sửa vĩnh viễn. Chỉ thay đổi trạng thái
theo hướng dẫn Quản lý vấn đề sau khi
nhóm của bạn chấp nhận bằng chứng.
Khôi phục an toàn
Phản hồi lỗi chứa
error, code, next và next_action. Dùng code và
next_action để điều khiển chương trình. Hiển thị next như một hướng dẫn.
Không chạy nó như một lệnh. Khi thao tác đọc thất bại, không thay lần xảy ra đã
yêu cầu bằng một lần khác. Xem Lỗi API và
tài liệu tham khảo Telemetry API.