Menyiapkan laporan lalu lintas

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

Gunakan pemberitahuan traffic untuk memunculkan notifikasi saat traffic untuk lingkungan, proxy, atau wilayah berubah sebesar persentase tertentu selama rentang waktu.

Anda menetapkan rentang waktu ke:

  • 1 jam
  • 1 hari
  • 7 hari
  • 15 hari (khusus API)
  • 30 hari (khusus API)

Peringatan ini berfungsi dengan membandingkan traffic untuk rentang waktu saat ini dengan traffic untuk rentang waktu sebelumnya. Misalnya, Anda menentukan rentang waktu satu jam. Kemudian, pemberitahuan akan membandingkan traffic untuk satu jam terakhir dengan traffic untuk satu jam sebelumnya guna menghitung perubahan persentase traffic:

percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100

Nilai positif berarti traffic meningkat, dan nilai negatif berarti traffic menurun.

Kemudian, Anda menetapkan batas yang memicu pemberitahuan traffic sebagai persentase peningkatan atau penurunan traffic API untuk jangka waktu yang ditentukan.

Sebelum menetapkan persentase tersebut, pastikan persentase tersebut sesuai dengan pola traffic normal Anda. Misalnya, jika traffic API Anda biasanya berfluktuasi sepanjang hari dengan lonjakan traffic per jam hingga 100% pada waktu puncak tertentu, lonjakan ini normal dan tidak akan memicu pemberitahuan. Namun, jika Anda kemudian mengonfigurasi notifikasi agar dipicu untuk setiap peningkatan traffic per jam sebesar 50%, Anda akan mendapatkan notifikasi yang tidak perlu untuk traffic normal.

Untuk mengetahui informasi selengkapnya tentang pemberitahuan, lihat Menyiapkan pemberitahuan dan notifikasi.

Menambahkan notifikasi dan pemberitahuan lalu lintas

Untuk menambahkan notifikasi dan pemberitahuan lalu lintas:
  1. Klik Analyze > Alert Rules di Edge UI.
  2. Klik +Pemberitahuan.
  3. Masukkan informasi umum berikut tentang peringatan:
    Kolom Deskripsi
    Nama notifikasi Nama pemberitahuan. Gunakan nama yang mendeskripsikan pemicu dan yang akan bermakna bagi Anda. Nama tidak boleh melebihi 128 karakter.
    Deskripsi Deskripsi notifikasi.
    Jenis Notifikasi Pilih Total traffic. Lihat Tentang jenis pemberitahuan untuk mengetahui informasi selengkapnya.
    Lingkungan Pilih lingkungan dari menu drop-down.
    Status Aktifkan atau nonaktifkan notifikasi.
  4. Tentukan nilai minimum dan dimensi untuk kondisi yang akan memicu pemberitahuan.
    Kolom Kondisi Deskripsi
    Batas

    Tentukan untuk memunculkan pemberitahuan saat traffic meningkat sebesar atau menurun sebesar persentase tertentu jika dibandingkan dengan interval waktu sebelumnya.

    Tetapkan persentase kenaikan ke nilai yang lebih besar dari atau sama dengan 0%. Tetapkan persentase penurunan ke nilai yang lebih besar dari atau sama dengan 0%, dan kurang dari atau sama dengan 100%.

    Anda dapat memilih interval waktu:

    • 1 jam
    • 1 hari
    • 1 minggu
    Dimensi

    Klik +Tambahkan Dimensi dan tentukan detail dimensi yang hasilnya akan ditampilkan, termasuk proxy API dan wilayah.

    Tetapkan dimensi tertentu ke:

    • Proxy - Setel ke proxy tertentu atau ke Semua proxy. Proxy tidak mendukung nilai "Any". Sebagai gantinya, Anda dapat menambahkan pemberitahuan terpisah untuk setiap proxy yang Anda minati.
    • Region - Tetapkan ke region tertentu atau ke Semua region. Region tidak mendukung nilai "Any". Sebagai gantinya, Anda dapat menambahkan pemberitahuan terpisah untuk setiap wilayah yang Anda minati.
  5. Klik + Notifikasi untuk menambahkan notifikasi pemberitahuan.
    Detail Notifikasi Deskripsi
    Saluran Pilih saluran notifikasi yang ingin Anda gunakan dan tentukan tujuannya: Email, Slack, PagerDuty, atau Webhook.
    Destination Tentukan tujuan berdasarkan jenis saluran yang dipilih:
    • Email - Alamat email, seperti joe@company.com
    • Slack - URL channel Slack, seperti https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty - Kode PagerDuty, seperti abcd1234efgh56789
    • Webhook - URL Webhook, seperti https://apigee.com/test-webhook

      Catatan: Anda hanya dapat menentukan satu tujuan per notifikasi. Untuk menentukan beberapa tujuan untuk jenis saluran yang sama, tambahkan notifikasi tambahan.

  6. Untuk menambahkan notifikasi lainnya, ulangi langkah sebelumnya.
  7. Jika Anda menambahkan notifikasi, tetapkan kolom berikut:
    Kolom Deskripsi
    Playbook (Opsional) Kolom teks bentuk bebas untuk memberikan deskripsi singkat tentang tindakan yang direkomendasikan untuk menyelesaikan pemberitahuan saat pemberitahuan tersebut dipicu. Anda juga dapat menentukan link ke wiki internal atau halaman komunitas tempat Anda merujuk praktik terbaik. Informasi dalam kolom ini akan disertakan dalam notifikasi. Konten di kolom ini tidak boleh melebihi 1.500 karakter.
    Gas Frekuensi pengiriman notifikasi. Pilih nilai dari menu drop-down.
  8. Klik Simpan.

Melihat notifikasi di dasbor Peristiwa

Saat mendeteksi kondisi pemberitahuan, Edge akan otomatis mencatat kondisi tersebut ke dasbor Events di UI Edge. Daftar peristiwa yang ditampilkan di dasbor Peristiwa mencakup semua pemberitahuan, baik yang sudah diperbaiki maupun yang belum.

Untuk melihat notifikasi:

  1. Klik Analyze > Events di Edge UI. Dasbor Peristiwa baru akan muncul:

  2. Memfilter dasbor Peristiwa menurut:

    • Lingkungan
    • Wilayah
    • Jangka waktu
  3. Pilih baris di dasbor Peristiwa untuk menampilkan Keystore yang berisi sertifikat yang akan berakhir untuk menyelidiki lebih lanjut pemberitahuan. Dari halaman Keystore, Anda dapat mengupload sertifikat baru dan menghapus sertifikat yang akan berakhir.

Menggunakan API pemberitahuan dengan laporan lalu lintas

Sebagian besar API yang Anda gunakan untuk membuat dan mengelola pemberitahuan traffic sama dengan API yang Anda gunakan dengan jenis pemberitahuan lainnya:

Namun, beberapa API memiliki properti tambahan yang digunakan untuk mendukung pemberitahuan anomali, termasuk:

Membuat atau memperbarui info lalu lintas

Gunakan API yang sama untuk membuat atau memperbarui pemberitahuan lalu lintas seperti yang saat ini Anda lakukan untuk jenis pemberitahuan lainnya. Isi panggilan API untuk membuat atau memperbarui pemberitahuan lalu lintas sama dengan yang digunakan untuk pemberitahuan lainnya, dengan perubahan berikut:

  • Tambahkan properti baru berikut untuk menentukan bahwa pemberitahuan adalah pemberitahuan lalu lintas:

    "alertType": "runtime"
    "alertSubType": "trafficfixed"

    Nilai default properti ini adalah:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Dalam elemen dimensions array conditions:
    • Anda harus menetapkan nilai properti org, env, proxy, dan region. Hanya properti tersebut yang didukung. Anda dapat menyetel proxy dan region ke ALL.
    • Anda harus menetapkan nilai properti traffic ke total.
  • Dalam array conditions:

    • Properti metrics harus memiliki nilai trafficChange.
    • Properti comparator harus disetel ke increasedBy atau decreasedBy.
    • Properti threshold berisi nilai positif yang menentukan peningkatan atau penurunan traffic dalam persentase dengan nilai 1.0 yang sesuai dengan 100%. Untuk increasedBy, nilai harus lebih besar dari atau sama dengan 0,0 (0%). Untuk decreasedBy, nilai harus lebih besar dari atau sama dengan 0,0 (0%) dan kurang dari atau sama dengan 1,0 (100%).
    • Properti durationSeconds harus ditetapkan ke salah satu nilai berikut: 3600 (1 jam), 86400 (1 hari), 604800 (7 hari), 1296000 (15 hari), 2592000 (30 hari) .
  • Properti reportEnabled tidak didukung untuk pemberitahuan lalu lintas.
Contoh berikut menunjukkan cara menyiapkan pemberitahuan yang dipicu saat traffic untuk organisasi dan lingkungan meningkat sebesar 50% selama periode satu jam. Notifikasi dikirim ke kode PagerDuty yang ditentukan saat pemberitahuan dipicu.
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Traffic Alert",
     "description":"My traffic alert",
     "environment":"prod",
     "enabled":true,
     "alertType":"runtime",
     "alertSubType":"trafficfixed",
     "conditions":[
     {
        "description":"",
        "dimensions": {
            "org":"nyorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ALL",
            "traffic":"total"
        },
        "metric": "trafficChange",
        "threshold": 0.5,
        "durationSeconds": 3600,
        "comparator": "increasedBy"
     }
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Lihat Melihat peristiwa untuk mengetahui informasi selengkapnya tentang penggunaan API ini.

Mendapatkan laporan lalu lintas

Secara default, API Get Alerts menampilkan informasi tentang semua pemberitahuan yang ditentukan. API ini kini menggunakan parameter kueri untuk memungkinkan Anda memfilter hasil:

  • enabled - Jika true menentukan untuk hanya menampilkan notifikasi yang diaktifkan. Nilai defaultnya adalah false.
  • alertType - Menentukan jenis pemberitahuan yang akan ditampilkan. Nilai yang diizinkan adalah runtime, default, dan cert.
  • alertSubType - Menentukan subjenis pemberitahuan yang akan ditampilkan. Nilai defaultnya tidak ditetapkan, yang berarti menampilkan semua subjenis pemberitahuan.

Misalnya, gunakan panggilan API berikut untuk menampilkan hanya notifikasi yang diaktifkan untuk organisasi bernama myorg:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

Panggilan berikut hanya menampilkan pemberitahuan lalu lintas, baik yang diaktifkan maupun dinonaktifkan:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=trafficfixed'

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.