API và tích hợp
Theo dõi một giao dịch nghiệp vụ qua các hệ thống kết nối
Một giao dịch có thể đi qua nhiều dịch vụ trong khi từng bảng theo dõi đều báo thành công cục bộ. Kết nối dấu vết kỹ thuật với mã nghiệp vụ bền vững để tìm độ trễ mà không nhầm yêu cầu với kết quả.
Khách hàng hỏi yêu cầu trả hàng dừng ở đâu. Cổng đã nhận, dịch vụ kho đã đưa vào hàng đợi, còn hệ thống khác chưa có cập nhật dễ thấy. Mỗi nhóm tìm được nhật ký riêng nhưng không ai giải thích toàn giao dịch. Hãy thiết kế đường điều tra cùng với đường tích hợp.
Phân biệt trace với bản ghi nghiệp vụ
OpenTelemetry giải thích rằng truyền ngữ cảnh giúp liên hệ tín hiệu giữa các dịch vụ và giúp trace ghi quan hệ nhân quả qua ranh giới tiến trình và mạng.[8] Trace nối các bước thực thi liên quan. Nó không phải sổ nghiệp vụ bền vững hay bằng chứng mọi thao tác dự kiến đều hoàn tất.
Nên có mã nghiệp vụ ổn định cho giao dịch, tách khỏi mã trace. Một lượt trả hàng có thể gồm nhiều yêu cầu, lần thử của tiến trình nền và thao tác thủ công sau đó. Các hoạt động ấy có thể tạo trace khác nhau. Mã nghiệp vụ cần nối chúng qua bản ghi được kiểm soát mà không phụ thuộc thời hạn lưu dữ liệu quan sát hoặc việc trace có được lấy mẫu để lưu hay không.
Truyền ngữ cảnh qua đường đi thực tế
Gắn đo lường cho yêu cầu vào, lệnh gọi ra và thực thi nền ở nơi công cụ hỗ trợ. Truyền ngữ cảnh bằng cơ chế được hỗ trợ thay vì chèn trường nội bộ tùy ý vào nội dung công khai. Với công việc qua hàng đợi, lưu mã nghiệp vụ và dùng cơ chế ngữ cảnh hoặc liên kết mà thư viện tracing hỗ trợ.
Định nghĩa bước hữu ích quanh ranh giới nghiệp vụ: đã nhận, đã xếp hàng, đã gửi, đã xác nhận và đã đối soát. Đo thời gian chờ tách khỏi thực thi khi có thể. Một span xử lý nhanh có thể che thời gian chờ dài nếu chỉ quan sát lúc xử lý tích cực. Xác minh truyền ngữ cảnh bằng kiểm thử xuyên dịch vụ thật, thay vì giả định cài một agent là tự nối mọi ranh giới.
Giữ ngữ cảnh chẩn đoán an toàn
OpenTelemetry cảnh báo không đưa thông tin xác thực, khóa API hoặc dữ liệu cá nhân vào baggage vì chúng có thể đi qua ranh giới dịch vụ.[8] Baggage là ngữ cảnh khóa và giá trị được truyền tiếp. Chủ động giới hạn trường của nó. Mã liên hệ chẩn đoán cũng không phải quyền xem giao dịch mà nó nhận diện.
- Phân biệt mã nghiệp vụ, mã trace và danh tính dùng khi thử lại.
- Kiểm tra ngữ cảnh qua HTTP, hàng đợi, tác vụ định kỳ và tiến trình khôi phục.
- Quy định thời gian lưu, giới hạn lấy mẫu, quyền truy cập và che trường nhạy cảm.
- Cảnh báo theo tiến độ bị thiếu và tuổi hàng đợi, không chỉ theo span lỗi.
Ví dụ giả định: trả sản phẩm
Ví dụ giả định: nhà bán lẻ cấp một mã trả hàng khi người dùng gửi. Bộ phận hỗ trợ dùng mã đó để thấy kho đã nhận, tác vụ hoàn tiền bị chậm và các trace kỹ thuật liên quan. Phản hồi nhà cung cấp hoàn tiền chưa rõ, nên bản ghi thể hiện chờ đối soát thay vì hoàn tất.
Màn hình này cần ý nghĩa trạng thái được thống nhất và bảo trì đo lường. Một phần nội bộ nhà cung cấp vẫn không nhìn thấy, nên nhóm ghi ranh giới xác nhận cuối thay vì dựng trace đầy đủ không có thật. Hãy bắt đầu từ một câu hỏi hỗ trợ thường gặp và kiểm tra người có quyền có trả lời được bằng bằng chứng sẵn có mà không đọc nội dung riêng tư hay không.