Melihat data metrik menggunakan API

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Gunakan API yang dijelaskan di bawah untuk mendapatkan metrik API Monitoring. Metrik adalah nilai data yang diagregasi oleh API Monitoring dari data mentah yang terdapat dalam log API Monitoring.

Bagian berikut menjelaskan cara mengelola metrik menggunakan API.

Lihat Metrics API untuk mengetahui informasi selengkapnya tentang Metrics API.

Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Metrics API

URL dasar yang Anda gunakan untuk membuat permintaan GET ke Metrics API adalah:

https://apimonitoring.enterprise.apigee.com/metrics/resource

Dengan resource sesuai dengan metrik tertentu. Tabel berikut mencantumkan resource metrik:

Resource Deskripsi
/traffic Mendapatkan metrik traffic. Tentukan filter seperti nama proxy, interval, jangka waktu, target, kode status, dan banyak lagi.
/latency Mendapatkan metrik latensi untuk permintaan

ke Edge dan ke target backend. Tentukan filter seperti nama proxy, interval, target, kode status, dan banyak lagi.

/targets Mendapatkan semua domain target untuk organisasi dan lingkungan tertentu.
/alerthistory Dapatkan metrik histori pemberitahuan untuk organisasi dan periode waktu tertentu.
/alertinstance/instanceid Dapatkan metrik histori pemberitahuan untuk ID instance pemberitahuan tertentu.
/alertsummary Mendapatkan jumlah total peringatan untuk organisasi dan jangka waktu.
/faultcodenames Mendapatkan semua nama faultcode.
/faultcodes Dapatkan kode kesalahan.
/faultcodecategories Dapatkan kategori kode kesalahan.
/faultcodesubcategories Dapatkan subkategori kode kesalahan.
/faultcodedetails Mendapatkan semua kode kesalahan dengan detail.

Mendapatkan informasi kesalahan

Semua resource /fault* menampilkan metadata tentang kemungkinan kesalahan di Edge. Misalnya, untuk melihat daftar semua kemungkinan kategori kesalahan:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0.

Responsnya akan muncul sebagai:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

Kemudian, Anda dapat menentukan daftar kode kesalahan untuk kategori API Protocol:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Untuk opsi tambahan, lihat Metrics API.

Merekam metrik untuk traffic dan latensi

Metrics API memiliki filter yang dapat Anda terapkan ke API untuk menentukan rentang waktu kustom, proxy, wilayah, lingkungan, dan filter lainnya ke metrik yang dihitung. Misalnya, untuk melihat metrik transaksi per detik (tps) setiap 10 menit selama satu jam sebelumnya untuk semua lingkungan:

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" 

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0.

Panggilan ini menampilkan hasil dalam bentuk:

{
  "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],
              
            ]
          },
       
       }
    }]
}

Perhatikan bagaimana properti columns menentukan format values. Properti values berisi tps yang dihitung setiap 10 menit, untuk interval 10 menit sebelumnya.

Parameter kueri interval menentukan frekuensi metrik disimpan ke hasil dan jendela pengambilan sampel untuk nilai dalam hasil. Dalam contoh di atas, metrik dihitung selama 10 menit sebelumnya, dan ditulis ke hasil setiap 10 menit.

Gunakan parameter kueri from dan to untuk menentukan rentang waktu berformat ISO. Durasi maksimum yang ditentukan oleh from dan to adalah 24 jam.

Format tanggal dapat berupa:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

Contoh:

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"

Atau gunakan parameter kueri from dan to untuk menentukan rentang waktu relatif, misalnya untuk satu jam terakhir:

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"

Opsi lainnya adalah menggunakan parameter kueri proxy untuk menampilkan transaksi per detik (tps) untuk satu 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"

Untuk metrik latensi, tentukan banyak kriteria yang sama seperti untuk metrik traffic. Namun, untuk resource /latency:

  • Anda harus menentukan parameter kueri percentile sebagai 50, 90, 95, atau 99. Misalnya, jika Anda menentukan 90, API akan menampilkan nilai latensi respons total dalam persentil ke-90.
  • windowsize ditetapkan pada satu menit.

Misalnya, untuk melihat metrik total latensi pada persentil ke-90 untuk periode 1 menit:

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"

Untuk opsi tambahan, lihat Metrics API.

Merekam metrik untuk pemberitahuan

Metrics API menampilkan metrik untuk semua pemberitahuan, untuk pemberitahuan tertentu, atau ringkasan pemberitahuan. Misalnya, untuk mendapatkan histori pemberitahuan organisasi selama satu jam terakhir:

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"

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0.

Panggilan API ini menampilkan respons dalam bentuk:

[
  {
"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"
 },
 
]

Kemudian, Anda dapat menggunakan id dalam array yang ditampilkan untuk mendapatkan informasi tentang pemberitahuan tertentu:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Untuk opsi tambahan, lihat Metrics API.