Xem dữ liệu chỉ số bằng API

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

Sử dụng các API được mô tả bên dưới để nhận các chỉ số Giám sát API. Chỉ số là các giá trị dữ liệu được tổng hợp bằng tính năng Giám sát API từ dữ liệu thô có trong nhật ký Giám sát API.

Các phần sau đây mô tả cách quản lý chỉ số bằng API.

Hãy xem API chỉ số để biết thêm thông tin về API chỉ số.

Để biết thông tin về các tuỳ chọn cURL được sử dụng trong các ví dụ này, hãy xem phần Sử dụng cURL.

API chỉ số

URL cơ sở mà bạn sử dụng để tạo 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, khoảng 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ố độ 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ả 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ý thông báo cho một tổ chức và khoảng thời gian cụ thể.
/alertinstance/instanceid Nhận chỉ số nhật ký cảnh báo cho mã phiên bản cảnh báo cụ thể.
/alertsummary Nhận tổng số thông báo cho một tổ chức và khoảng thời gian.
/faultcodenames Lấy tất cả tên mã lỗi.
/faultcodes Nhận mã lỗi.
/faultcodecategories Lấy danh mục mã lỗi.
/faultcodesubcategories Nhận các 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.

Nhận thông tin 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ẽ xuất hiện dưới dạng:

{
  "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 tuỳ chọn, hãy xem API chỉ số.

Ghi lại chỉ số về lưu lượng truy cập và độ trễ

API chỉ số có các bộ lọc mà bạn có thể áp dụng cho API để chỉ định các khoảng thời gian tuỳ chỉnh, proxy, khu vực, môi trường và các bộ lọc khác cho các chỉ số được tính toán. Ví dụ: để xem chỉ số giao dịch mỗi giây (tps) mỗi 10 phút trong giờ trước cho tất 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],
              
            ]
          },
       
       }
    }]
}

Hãy 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 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à khoảng thời gian 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ả 10 phút một lần.

Sử dụng các tham số truy vấn fromto để chỉ định một phạm vi thời gian được định dạng theo ISO. Thời lượng tối đa do fromto chỉ định là 24 giờ.

Định dạng ngày có thể là:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-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 fromto để chỉ định một phạm vi thời gian tương đối, ví dụ: trong 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 cách 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:

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ố độ trễ, hãy chỉ định nhiều tiêu chí giống như đối với các chỉ số 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 percentile50, 90, 95 hoặc 99. Ví dụ: nếu bạn chỉ định 90, API sẽ trả về tổng giá trị độ trễ phản hồi ở phân vị thứ 90.
  • windowsize được cố định ở mức một 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 lựa chọn, hãy xem API chỉ số.

Ghi lại 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 cho 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 1 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ạ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ề để nhận 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 tuỳ chọn, hãy xem API chỉ số.