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 Pemantauan API. Metrik adalah nilai data yang digabungkan oleh Monitoring API 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.

Metrics API

URL dasar yang Anda gunakan untuk membuat permintaan GET ke API metrik 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, periode 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 Mendapatkan metrik histori pemberitahuan untuk organisasi dan periode waktu tertentu.
/alertinstance/instanceid Dapatkan metrik histori pemberitahuan untuk ID instance pemberitahuan tertentu.
/alertsummary Mendapatkan jumlah total pemberitahuan untuk organisasi dan periode waktu.
/faultcodenames Mendapatkan semua nama faultcode.
/faultcodes Mendapatkan kode error.
/faultcodecategories Mendapatkan kategori kode error.
/faultcodesubcategories Mendapatkan subkategori kode kerusakan.
/faultcodedetails Mendapatkan semua kode error dengan detail.

Mendapatkan informasi kesalahan

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

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 error 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 penyimpanan metrik ke hasil dan periode sampling untuk nilai dalam hasil. Pada 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 total nilai latensi respons dalam persentil ke-90.
  • windowsize ditetapkan ke 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.

Mengambil metrik untuk pemberitahuan

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

Selanjutnya, 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.