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 Monitoring API. Metrik adalah nilai data yang digabungkan oleh API Monitoring dari data mentah yang terdapat dalam log Monitoring API.

Bagian berikut menjelaskan cara mengelola metrik menggunakan API.

Lihat Metrics API untuk mengetahui informasi selengkapnya tentang Metrics API.

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

API Metrik

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 lainnya.
/latency Mendapatkan metrik latensi untuk permintaan

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

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

Mendapatkan informasi kesalahan

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

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, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0.

Tanggapan akan muncul sebagai:

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

Anda kemudian 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 diterapkan 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 untuk 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, 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 cara 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 periode pengambilan sampel untuk nilai dalam hasil. Pada contoh di atas, metrik dihitung selama 10 menit sebelumnya, dan ditulis ke hasilnya 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 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 total nilai latensi respons dalam persentil ke-90.
  • windowsize ditetapkan pada satu menit.

Misalnya, untuk melihat metrik latensi total dalam persentil ke-90 selama jangka waktu 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.

Menangkap metrik untuk pemberitahuan

Metrics API menampilkan metrik untuk semua notifikasi, notifikasi tertentu, atau ringkasan notifikasi. Misalnya, untuk mendapatkan histori pemberitahuan untuk 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, 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"
 },
 …
]

Anda kemudian dapat menggunakan id di 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.