Sử dụng công cụ Theo dõi

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Công cụ Theo dõi là gì?

Trace là một công cụ giúp khắc phục sự cố và giám sát các proxy API chạy trên Apigee Edge. Dấu vết cho phép bạn thăm dò thông tin chi tiết về từng bước thông qua một quy trình proxy API.

Hãy xem video này để biết giới thiệu về công cụ Theo dõi.

Cách sử dụng Trace

Dấu vết rất dễ sử dụng. Bạn bắt đầu một phiên theo dõi, sau đó thực hiện lệnh gọi API đến nền tảng Edge và đọc kết quả.

  1. Truy cập trang proxy API theo mô tả dưới đây.

    Edge

    Cách truy cập vào trang proxy API bằng giao diện người dùng Edge:

    1. Đăng nhập vào apigee.com/edge.
    2. Chọn Phát triển > Proxy API trong thanh điều hướng bên trái.

    Phiên bản cũ (Đám mây riêng tư)

    Cách truy cập vào trang proxy API bằng giao diện người dùng Classic Edge:

    1. Đăng nhập vào http://ms-ip:9000, trong đó ms-ip là địa chỉ IP hoặc tên DNS của nút Máy chủ quản lý.
    2. Chọn API > API Proxies ở thanh điều hướng trên cùng.
  2. Chọn một proxy API từ trang Proxy API.
  3. Đảm bảo rằng API mà bạn muốn theo dõi đã được triển khai.
  4. Nhấp vào Trace (Dấu vết) để chuyển đến chế độ xem của công cụ Theo dõi.
  5. Sử dụng trình đơn thả xuống Deployment to Trace (Triển khai để theo dõi) để chọn môi trường triển khai và bản sửa đổi proxy mà bạn muốn theo dõi.
  6. Nhấp vào Start Trace Session (Bắt đầu phiên theo dõi). Khi phiên Theo dõi đang hoạt động, proxy API sẽ ghi lại thông tin chi tiết về từng bước trong quy trình xử lý. Khi phiên Theo dõi đang chạy, thông báo và dữ liệu theo bối cảnh sẽ được thu thập từ lưu lượng truy cập trực tiếp.

  7. Nếu không có lưu lượng truy cập trực tiếp nào truyền qua proxy, thì bạn chỉ cần gửi yêu cầu đến API. Bạn có thể sử dụng bất kỳ công cụ nào bạn muốn để gửi yêu cầu, chẳng hạn như curl, Postman hoặc bất kỳ công cụ quen thuộc nào. Hoặc bạn có thể gửi yêu cầu trực tiếp từ chính công cụ Theo dõi. Chỉ cần nhập URL rồi nhấp vào Gửi. Lưu ý: Bạn chỉ có thể gửi yêu cầu GET từ công cụ Theo dõi mà không thể gửi yêu cầu POST.

    Lưu ý: Một phiên Theo dõi có thể hỗ trợ 10 giao dịch yêu cầu/phản hồi cho mỗi trình xử lý thông báo thông qua proxy API đã chọn. Trong đám mây Edge, với 2 trình xử lý thông báo xử lý lưu lượng truy cập, hệ thống sẽ hỗ trợ 20 giao dịch yêu cầu/phản hồi. Phiên theo dõi sẽ tự động dừng sau 10 phút nếu bạn không dừng theo cách thủ công.
  8. Khi bạn đã thu thập đủ số lượng yêu cầu, hãy nhấp vào Stop Trace Session (Dừng phiên theo dõi).
  9. Danh sách các giao dịch yêu cầu/phản hồi đã ghi lại sẽ hiển thị ở trình đơn bên trái. Nhấp vào giao dịch bất kỳ để xem kết quả chi tiết.

Cách đọc dấu vết

Công cụ theo dõi có hai phần chính là bản đồ giao dịch và thông tin chi tiết về giai đoạn:

  • Sơ đồ giao dịch sử dụng các biểu tượng để đánh dấu từng bước đáng chú ý xảy ra trong một giao dịch proxy API, bao gồm cả quá trình thực thi chính sách, các bước có điều kiện và quá trình chuyển đổi. Hãy di chuột qua một biểu tượng bất kỳ để xem thông tin tóm tắt. Các bước luồng yêu cầu xuất hiện dọc theo đầu bản đồ giao dịch và các bước luồng phản hồi ở dưới cùng.
  • Phần Thông tin chi tiết về giai đoạn của công cụ này liệt kê thông tin về quá trình xử lý nội bộ của proxy, bao gồm các biến đã được thiết lập hoặc đọc, tiêu đề của yêu cầu và phản hồi, v.v. Hãy nhấp vào một biểu tượng bất kỳ để xem thông tin chi tiết về giai đoạn cho bước đó.

Dưới đây là bản đồ công cụ theo dõi mẫu với các phân đoạn xử lý proxy chính được gắn nhãn:

Bản đồ giao dịch của công cụ theo dõi

Chú giải bản đồ giao dịch

Bảng sau đây mô tả ý định của các biểu tượng mà bạn sẽ thấy trong bản đồ giao dịch. Các biểu tượng này đánh dấu từng bước xử lý đáng chú ý trong suốt luồng proxy.

Biểu tượng bản đồ giao dịch

Ứng dụng khách gửi yêu cầu đến ProxyEndpoint của proxy API.
Các vòng tròn đánh dấu các điểm cuối chuyển tiếp trong luồng proxy. Chúng ở đó khi một yêu cầu đến từ ứng dụng, khi yêu cầu được chuyển đến mục tiêu, khi phản hồi trả về từ mục tiêu và khi phản hồi quay lại ứng dụng.

Các thanh cao cho biết điểm bắt đầu của phân đoạn luồng trong luồng proxy API. Các phân đoạn flow là: yêu cầu ProxyEndpoint, TargetEndpoint, TargetEndpoint và ProxyEndpoint phản hồi. Một phân đoạn bao gồm PreFlow, Luồng có điều kiện và PostFlow.

Hãy xem phần Định cấu hình quy trình để biết thêm thông tin.

Cho biết rằng các hành động Analytics đã diễn ra ở chế độ nền.

Một luồng có điều kiện đánh giá là true (đúng). Để biết giới thiệu về luồng có điều kiện, hãy xem phần Định cấu hình luồng.

Xin lưu ý rằng một số điều kiện là do Edge được tạo. Ví dụ: sau đây là biểu thức mà Edge sử dụng để kiểm tra xem có lỗi xảy ra trong ProxyEndpoint hay không:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Một luồng có điều kiện có đánh giá là false. Để biết giới thiệu về luồng có điều kiện, hãy xem phần Định cấu hình luồng.

Xin lưu ý rằng một số điều kiện là do Edge được tạo. Ví dụ: sau đây là biểu thức mà Edge sử dụng để kiểm tra xem có lỗi xảy ra trong TargetEndpoint hay không:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Chính sách. Mỗi loại chính sách có một biểu tượng riêng. Nội dung này dành cho chính sáchassignMessage. Các biểu tượng này cho bạn biết vị trí các chính sách được thực thi theo đúng thứ tự và liệu các chính sách đó có thành công hay không. Bạn có thể nhấp vào một biểu tượng chính sách để xem kết quả thực thi chính sách và liệu kết quả có như dự kiến hay không. Ví dụ: bạn có thể xem liệu thông báo có được chuyển đổi đúng cách hay không hoặc có đang được lưu vào bộ nhớ đệm hay không.

Các chính sách thực thi đúng cách được biểu thị rõ ràng bằng dấu kiểm. Trong trường hợp xảy ra lỗi, biểu tượng dấu chấm than màu đỏ sẽ xuất hiện trên biểu tượng này.

Mẹo: Hãy chú ý đến phần chú thích hoặc dòng thời gian để xem có chính sách nào mất nhiều thời gian hơn dự kiến hay không.

Xuất hiện khi mục tiêu phụ trợ là một ứng dụng Node.js. Xem bài viết Tổng quan về Node.js trên Apigee Edge.
Mục tiêu phụ trợ do proxy API gọi.
Dòng thời gian cho biết khoảng thời gian (tính bằng mili giây) mà thời gian xử lý cần để hoàn tất. Bằng cách so sánh các phân đoạn thời gian đã trôi qua, bạn có thể tách biệt các chính sách đang làm chậm lệnh gọi API.
Epsilon cho biết khoảng thời gian nhỏ hơn mili giây.

Đang tắt. Xuất hiện trên biểu tượng chính sách khi một chính sách bị tắt. Bạn có thể tắt một chính sách bằng API công khai. Xem Tài liệu tham khảo về cấu hình proxy API.

Đã có lỗi. Xuất hiện trên biểu tượng chính sách khi điều kiện của Bước chính sách được đánh giá là false (xem Các biến và điều kiện luồng) hoặc trên biểu tượng chính sách RaiseFault bất cứ khi nào chính sách RaiseFault thực thi.
Đã bỏ qua. Xuất hiện trên biểu tượng chính sách khi chính sách không được thực thi vì điều kiện của bước được đánh giá là false. Hãy xem bài viết Các biến và điều kiện của flow để biết thêm thông tin.

Tìm hiểu thông tin chi tiết về giai đoạn

Phần Chi tiết giai đoạn của công cụ này cho bạn biết nhiều thông tin về trạng thái của proxy ở mỗi bước xử lý. Dưới đây là một số thông tin chi tiết trong phần Thông tin chi tiết về giai đoạn. Nhấp vào biểu tượng bất kỳ trong công cụ theo dõi để xem thông tin chi tiết về bước đã chọn hoặc sử dụng nút Tiếp theo/Quay lại để chuyển từ bước này sang bước khác.

Chi tiết giai đoạn Mô tả
Thiết bị đầu cuối proxy Cho biết luồng ProxyEndpoint nào đã được chọn để thực thi. Một proxy API có thể có nhiều điểm cuối proxy được đặt tên.
Biến

Liệt kê các biến luồng mà chính sách đã đọc và gán một giá trị. Hãy xem thêm bài viết Quản lý trạng thái proxy bằng các biến luồng.

Lưu ý:

  • Dấu bằng (=) cho biết giá trị được gán cho biến.
  • Dấu bằng bị gạch ngang (≠) cho biết rằng biến không thể được chỉ định một giá trị vì đó là giá trị chỉ có thể đọc hoặc đã xảy ra lỗi khi thực thi chính sách.
  • Trường trống cho biết giá trị biến đã được đọc.
Tiêu đề của yêu cầu Liệt kê tiêu đề của yêu cầu HTTP.
Nội dung yêu cầu Hiển thị nội dung yêu cầu HTTP.
Thuộc tính Các thuộc tính thể hiện trạng thái nội bộ của proxy API. Các thông báo này không xuất hiện theo mặc định.
Thiết bị đầu cuối mục tiêu Cho biết TargetEndpoint đã được chọn để thực thi.
Tiêu đề phản hồi Liệt kê các tiêu đề phản hồi HTTP.
Nội dung phản hồi Hiển thị nội dung phản hồi HTTP.
PostClientFlow Hiển thị thông tin về PostClientFlow. Quá trình này thực thi sau khi yêu cầu được trả về ứng dụng khách gửi yêu cầu. Bạn chỉ có thể đính kèm các chính sách MessageLogging vào PostClientFlow. PostClientFlow hiện được dùng chủ yếu để đo khoảng thời gian giữa dấu thời gian bắt đầu và kết thúc của thông báo phản hồi.

Tinh chỉnh nội dung ghi tin nhắn bằng bộ lọc

Bạn có thể lọc yêu cầu nào xuất hiện trong công cụ Theo dõi bằng cách chỉ định các giá trị tiêu đề và/hoặc tham số truy vấn. Bộ lọc cho phép bạn nhắm mục tiêu những cuộc gọi cụ thể có thể đang gây ra sự cố. Ví dụ: bạn có thể cần tập trung vào các yêu cầu có nội dung cụ thể hoặc các yêu cầu đến từ các đối tác hoặc ứng dụng cụ thể. Bạn có thể lọc theo:

  • Tiêu đề HTTP – Giới hạn dấu vết ở chỉ những lệnh gọi có chứa một tiêu đề cụ thể. Đây là một cách hay để giúp bạn khắc phục vấn đề. Bạn có thể gửi tiêu đề cho nhà phát triển ứng dụng và yêu cầu họ đưa tiêu đề đó vào lệnh gọi gây ra vấn đề. Sau đó, Apigee Edge sẽ chỉ ghi lại các cuộc gọi có tiêu đề cụ thể đó để bạn có thể kiểm tra kết quả.
  • Tham số truy vấn – Chỉ những lệnh gọi có giá trị cụ thể của một tham số mới được ghi lại.

Những điều bạn cần biết về tính năng Bộ lọc

  • Bạn phải khởi động lại phiên Theo dõi sau khi chỉ định các tham số bộ lọc trong các trường bộ lọc.
  • Các thông số bộ lọc được kết hợp với nhau. Tất cả cặp tên/giá trị tiêu đề và/hoặc truy vấn được chỉ định phải có trong yêu cầu để so khớp thành công.
  • Tính năng khớp mẫu không được hỗ trợ trong công cụ Bộ lọc.
  • Các thông số và giá trị bộ lọc có phân biệt chữ hoa chữ thường.

Cách tạo bộ lọc dấu vết

  1. Nếu một phiên theo dõi đang chạy, hãy dừng phiên đó bằng cách nhấp vào Stop Trace Session (Dừng phiên theo dõi).
  2. Nhấp vào Bộ lọc ở góc trên bên trái của công cụ Theo dõi để mở rộng trường Bộ lọc.

    Trong Công cụ theo dõi, nhãn thanh bên Bộ lọc sẽ được khoanh tròn.
  3. Trong trường Bộ lọc, hãy chỉ định tham số truy vấn và/hoặc giá trị tiêu đề mà bạn muốn lọc. Trong ví dụ này, chúng ta chỉ định hai tham số truy vấn để lọc. Cả hai thông số này phải xuất hiện trong yêu cầu để so khớp thành công.

    Trong Công cụ theo dõi, ở phần Bộ lọc, ở mục Tham số truy vấn, bạn sẽ đặt 2 tên và giá trị mẫu.
  4. Bắt đầu phiên theo dõi.
  5. Gọi các API của bạn. Chỉ những yêu cầu bao gồm tất cả (các) tiêu đề và/hoặc tham số truy vấn được chỉ định mới tạo ra kết quả so khớp thành công.

Trong phần Giao dịch, 4 kết quả sẽ xuất hiện khớp với 2 tham số truy vấn đặt trước.

Trong ví dụ trên, lệnh gọi API này sẽ xuất hiện trong Trace:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

Nhưng điều này sẽ không:

http://docs-test.apigee.net/cats?name=Penny

Gỡ lỗi bằng công cụ Theo dõi

Dấu vết cho phép bạn xem nhiều thông tin nội bộ về một proxy API. Ví dụ:

  • Bạn có thể xem nhanh chính sách nào đang thực thi đúng hay không.
  • Giả sử bạn nhận thấy một trong các trang tổng quan của Analytics rằng một trong các API của bạn đang bị giảm hiệu suất bất thường. Giờ đây, bạn có thể sử dụng Trace để giúp xác định nơi xảy ra nút thắt cổ chai. Dấu vết cho biết thời gian (tính bằng mili giây) cần để hoàn tất mỗi bước xử lý. Nếu nhận thấy một bước mất quá nhiều thời gian, bạn có thể khắc phục.
  • Bằng cách xem thông tin chi tiết về giai đoạn, bạn có thể kiểm tra tiêu đề đang được gửi đến phần phụ trợ, xem các biến do chính sách thiết lập, v.v.
  • Bằng việc xác minh đường dẫn cơ sở, bạn có thể đảm bảo rằng một chính sách đang định tuyến thông báo đến đúng máy chủ.

Chọn các tuỳ chọn chế độ xem

Chọn các chế độ xem cho phiên theo dõi.

Lựa chọn Mô tả
Hiển thị các chính sách bị tắt Hiển thị mọi chính sách bị tắt. Bạn có thể tắt một chính sách bằng API công khai. Xem Tài liệu tham khảo về cấu hình proxy API.
Hiện các giai đoạn đã bỏ qua Hiện mọi giai đoạn bị bỏ qua. Giai đoạn bị bỏ qua xảy ra khi chính sách không được thực thi vì điều kiện bước được đánh giá là false. Hãy xem bài viết Các biến và điều kiện của flow để biết thêm thông tin.
Hiển thị tất cả FlowInfos Biểu diễn các chuyển đổi trong một phân đoạn luồng.
Tự động so sánh giai đoạn đã chọn So sánh giai đoạn đã chọn với giai đoạn trước đó. Tắt chế độ này để chỉ xem giai đoạn đã chọn.
Hiển thị các biến Hiện hoặc ẩn các biến đã được đọc và/hoặc được chỉ định một giá trị.
Hiện thuộc tính Các thuộc tính thể hiện trạng thái nội bộ của proxy API. (Ẩn theo mặc định.)

Đang tải kết quả theo dõi xuống

Bạn có thể tải tệp XML chứa kết quả theo dõi thô xuống để xem và tìm kiếm khi không có mạng bằng một trình chỉnh sửa văn bản. Tệp này hiển thị toàn bộ thông tin chi tiết về phiên nghe, bao gồm cả nội dung của tất cả tiêu đề, biến và chính sách.

Để tải xuống, hãy nhấp vào Download Trace Session (Tải phiên theo dõi xuống).

Đang hiển thị yêu cầu dưới dạng curl

Sau khi theo dõi một lệnh gọi API được thực hiện đến máy chủ mục tiêu, bạn có thể xem yêu cầu đó dưới dạng một lệnh curl. Điều này đặc biệt hữu ích khi gỡ lỗi vì một số lý do:

  • Proxy API có thể sửa đổi yêu cầu, vì vậy, sẽ rất hữu ích nếu bạn muốn biết yêu cầu từ proxy đến máy chủ đích khác với yêu cầu ban đầu như thế nào. Lệnh curl biểu thị cho yêu cầu đã được sửa đổi.
  • Đối với các gói dữ liệu thông báo lớn hơn, lệnh curl cho phép bạn xem các tiêu đề HTTP và nội dung thông báo ở cùng một nơi. (Hiện tại,giới hạn là khoảng 1.000 ký tự. Để biết mẹo giúp vượt qua giới hạn này, hãy xem bài đăng này trên thẻ Cộng đồng.)

Vì lý do bảo mật, tính năng curl sẽ che tiêu đề HTTP ngăn cách (Uỷ quyền HTTP).

Để xem các yêu cầu dưới dạng curl sau khi lệnh gọi API xuất hiện trong Trace, hãy chọn giai đoạn "Request sent to target server server" (Yêu cầu được gửi đến máy chủ mục tiêu) trong sơ đồ Bản đồ giao dịch, sau đó nhấp vào nút Show curl (Hiện yêu cầu đã gửi đến máy chủ mục tiêu) trên cột "Request sent to target server" (Yêu cầu gửi đến máy chủ mục tiêu) trong ngăn Thông tin chi tiết về giai đoạn.

Các chú thích hình ảnh chỉ ra nút Hiển thị Curl và một trong các vòng tròn trong sơ đồ Bản đồ giao dịch.

Việc sử dụng tính năng Theo dõi của nhóm hỗ trợ Apigee

Theo mặc định, Apigee Edge cho phép bộ phận hỗ trợ Apigee sử dụng công cụ Theo dõi trên các API API để hỗ trợ. Bạn có thể tắt tùy chọn này bất cứ lúc nào. Tuy nhiên, việc tắt tuỳ chọn này có thể hạn chế khả năng của Apigee Support để hỗ trợ bạn.

Để vô hiệu hóa Hỗ trợ Apigee sử dụng công cụ Theo dõi:

  1. Đăng nhập vào https://apigee.com/edge.
  2. Chọn Quản trị > Bảo mật và quyền riêng tư trong thanh điều hướng bên trái.
  3. Nhấp vào nút bật/tắt Enable Apigee Support to Trace (Bật tính năng hỗ trợ Apigee) để tắt tính năng sử dụng công cụ Theo dõi của Apigee.