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

Hãy 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 dịch vụ Giám sát API tổng hợp 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ý các 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 những 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 để gửi yêu cầu GET cho 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 cho chỉ số:

Tài nguyên Mô tả
/traffic Nhận chỉ số lưu lượng truy cập. Chỉ định các bộ lọc, chẳng hạn 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ố 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, chẳng hạn 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 Nhận 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ố 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ý thông báo cho mã phiên bản thông 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 Nhận danh mục mã lỗi.
/faultcodesubcategories Nhận danh mục 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 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 loại lỗi có thể xảy ra, hãy làm như sau:

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 bài viết Lấy mã truy cập OAuth 2.0.

Nội dung phản hồi 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 các lựa chọn khác, hãy xem bài viết API Chỉ số.

Thu thập 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 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 các chỉ số được tính. Ví dụ: để xem chỉ số giao dịch trên giây (tps) 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 bài viết Lấy mã truy cập OAuth 2.0.

Lệnh gọi này trả về kết quả có 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 10 phút một lần 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ả sau mỗi 10 phút.

Sử dụng các tham số truy vấn fromto để chỉ định phạm vi thời gian theo định dạng 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 tham số truy vấn fromto để chỉ định phạm vi thời gian tương đối, ví dụ: giờ vừa 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 trên 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 chỉ số độ trễ, hãy chỉ định nhiều tiêu chí giống như tiêu chí của 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 percentile dưới dạng 50, 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 sửa lú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 các lựa chọn khác, hãy xem bài viết API Chỉ số.

Thu thập chỉ số về cảnh báo

Metrics API trả về các chỉ số cho tất cả cảnh báo, đối với một cảnh báo cụ thể hoặc một bản tóm tắt cảnh báo. Ví dụ: để lấy nhật ký thông báo của một tổ chức trong 1 giờ qua, hãy làm như sau:

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 bài viết Lấy mã truy cập OAuth 2.0.

Lệnh gọi API này trả về phản hồi có 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 thông 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 các lựa chọn khác, hãy xem bài viết API Chỉ số.