Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Sử dụng các API được mô tả bên dưới để nhận chỉ số Giám sát API. Chỉ số là các giá trị dữ liệu được API Monitoring tổng hợp từ dữ liệu thô có trong nhật ký API Monitoring.
Các phần sau đây mô tả cách quản lý chỉ số bằng API.
- API Chỉ số
- Nhận thông tin về lỗi
- Ghi lại các chỉ số về lưu lượng truy cập và độ trễ
- Ghi lại các chỉ số cho cảnh báo
Hãy xem Metrics API để biết thêm thông tin về Metrics API.
Để biết thông tin về các lựa chọn cURL được dùng trong những ví dụ này, hãy xem phần Sử dụng cURL.
API chỉ số
URL cơ sở mà bạn dùng để gửi yêu cầu GET đến API chỉ số là:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Trong đó resource tương ứng với một chỉ số cụ thể. Bảng sau đây liệt kê các tài nguyên chỉ số:
| Tài nguyên | Nội dung mô tả |
/traffic
|
Nhận chỉ số về lưu lượng truy cập. Chỉ định các bộ lọc như tên proxy, khoảng thời gian, khung thời gian, mục tiêu, mã trạng thái và nhiều bộ lọc khác. |
/latency
|
Nhận chỉ số về độ trễ cho các yêu cầu
đến Edge và đến các mục tiêu phụ trợ. Chỉ định các bộ lọc như tên proxy, khoảng thời gian, mục tiêu, mã trạng thái và nhiều bộ lọc khác. |
/targets
|
Lấy tất cả các miền mục tiêu cho một tổ chức và môi trường cụ thể. |
/alerthistory
|
Nhận các chỉ số về nhật ký cảnh báo cho một tổ chức và khoảng thời gian cụ thể. |
/alertinstance/instanceid
|
Nhận các chỉ số nhật ký cảnh báo cho mã nhận dạng phiên bản cảnh báo cụ thể. |
/alertsummary
|
Nhận tổng số cảnh báo cho một tổ chức và khoảng thời gian. |
/faultcodenames
|
Lấy tất cả tên faultcode. |
/faultcodes
|
Nhận mã lỗi. |
/faultcodecategories
|
Lấy các danh mục mã lỗi. |
/faultcodesubcategories
|
Nhận danh mục phụ của mã lỗi. |
/faultcodedetails
|
Nhận tất cả mã lỗi kèm theo thông tin chi tiết. |
Xem thông tin về lỗi
Tất cả tài nguyên /fault* đều trả về siêu dữ liệu về các lỗi có thể xảy ra trên Edge.
Ví dụ: để xem danh sách tất cả các danh mục lỗi có thể có:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Đặt $ACCESS_TOKEN thành mã truy cập OAuth 2.0, như mô tả trong phần Lấy mã truy cập OAuth 2.0.
Phản hồi sẽ có dạng như sau:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Sau đó, bạn có thể xác định danh sách mã lỗi cho danh mục API Protocol:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Để biết thêm các lựa chọn, hãy xem Metrics API.
Ghi lại các chỉ số về lưu lượng truy cập và độ trễ
Metrics API có các bộ lọc mà bạn có thể áp dụng cho API để chỉ định các phạm vi thời gian, proxy, khu vực, môi trường tuỳ chỉnh và các bộ lọc khác cho chỉ số được tính toán. Ví dụ: để xem chỉ số giao dịch mỗi giây (tps) cứ 10 phút một lần trong giờ trước đó cho tất cả các môi trường:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Đặt $ACCESS_TOKEN thành mã truy cập OAuth 2.0, như mô tả trong phần Lấy mã truy cập OAuth 2.0.
Lệnh gọi này trả về kết quả ở dạng:
{
"results":[
{
"series":[
{
"name":"proxy",
"tags":
{
"env":"prod",
"intervalSeconds":"60",
"org":"myorg",
"region":"myregion"
},
"columns":["time","tps"],
"values":[
["2018-08-15T13:10:00Z",5.03],
["2018-08-15T13:20:00Z",5.01],
["2018-08-15T13:30:00Z",5.81],
["2018-08-15T13:40:00Z",5.95],
…
]
},
…
}
}]
}
Lưu ý cách thuộc tính columns chỉ định định dạng của values. Thuộc tính values chứa tps được tính toán sau mỗi 10 phút, cho khoảng thời gian 10 phút trước đó.
Tham số truy vấn interval xác định tần suất lưu chỉ số vào kết quả và cửa sổ lấy mẫu cho giá trị trong kết quả. Trong ví dụ trên, chỉ số được tính trong 10 phút trước đó và được ghi vào kết quả sau mỗi 10 phút.
Sử dụng các tham số truy vấn from và to để chỉ định một phạm vi thời gian theo định dạng ISO.
Thời lượng tối đa do from và to chỉ định là 24 giờ.
Định dạng ngày có thể là:
yyyy-mm-ddThh:mm:ssZyyyy-mm-ddThh:mm:ss+00:00
Ví dụ:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Hoặc sử dụng các tham số truy vấn from và to để chỉ định một phạm vi thời gian tương đối, ví dụ: cho một giờ qua:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Một lựa chọn khác là sử dụng tham số truy vấn proxy để hiển thị số giao dịch mỗi giây (tps) cho một proxy duy nhất:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Đối với các chỉ số về độ trễ, hãy chỉ định nhiều tiêu chí giống như đối với các chỉ số về lưu lượng truy cập. Tuy nhiên, đối với tài nguyên /latency:
- Bạn phải chỉ định tham số truy vấn
percentilelà50,90,95hoặc99. Ví dụ: nếu bạn chỉ định90, API sẽ trả về tổng giá trị độ trễ phản hồi ở phân vị thứ 90. windowsizeđược cố định ở mức 1 phút.
Ví dụ: để xem các chỉ số về tổng độ trễ ở phân vị thứ 90 trong khoảng thời gian 1 phút:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Để biết thêm các lựa chọn, hãy xem Metrics API.
Ghi lại các chỉ số cho cảnh báo
Metrics API trả về các chỉ số cho tất cả cảnh báo, cho một cảnh báo cụ thể hoặc một bản tóm tắt cảnh báo. Ví dụ: để xem nhật ký cảnh báo của một tổ chức trong giờ qua:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Đặt $ACCESS_TOKEN thành mã truy cập OAuth 2.0, như mô tả trong phần Lấy mã truy cập OAuth 2.0.
Lệnh gọi API này trả về một phản hồi dưới dạng:
[
{
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
\"reportUUID\":\"\",
\"reportEnabled\":false,
\"organization\":\"myorg\",
\"name\":\"Public Api 5xx error rate\",
\"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"description\":\"\",
\"conditions\":[
{
\"comparator\":\"\u003e\",
\"metric\":\"rate\",
\"durationSeconds\":3600,
\"name\":\"\",
\"description\":\"\",
\"threshold\":0.01,
\"dimensions\":
{
\"proxy\":\"myAPI\",
\"org\":\"myorg\",
\"env\":\"prod\",
\"region\":\"myRegion\",
\"statusCode\":\"5xx\"
}
}],
\"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"playbook\":\"This is a test alert.\"
}",
"time":"2018-08-14T12:45:28Z"
},
…
]
Sau đó, bạn có thể sử dụng id trong mảng được trả về để lấy thông tin về một cảnh báo cụ thể:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Để biết thêm các lựa chọn, hãy xem Metrics API.