Menyiapkan laporan lalu lintas

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

Gunakan pemberitahuan traffic untuk mengaktifkan notifikasi saat traffic untuk lingkungan, proxy, atau region berubah sebesar persentase yang ditentukan selama rentang waktu tertentu.

Anda menetapkan rentang waktu ke:

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

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

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

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

Kemudian, tetapkan nilai minimum yang memicu pemberitahuan traffic sebagai peningkatan atau penurunan persentase traffic API selama jangka waktu yang ditentukan.

Sebelum menetapkan persentase tersebut, pastikan persentase tersebut selaras 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 tersebut bersifat normal dan seharusnya tidak memicu pemberitahuan. Namun, jika kemudian Anda mengonfigurasi pemberitahuan yang memicu peningkatan traffic per jam sebesar 50%, Anda akan mendapatkan pemberitahuan yang tidak perlu untuk traffic normal.

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

Menambahkan notifikasi dan notifikasi lalu lintas

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

    Tentukan untuk menaikkan peringatan saat traffic meningkat atau berkurang persentase tertentu jika dibandingkan dengan interval waktu sebelumnya.

    Tetapkan persentase peningkatan sebesar ke nilai yang lebih besar dari atau sama dengan 0%. Tetapkan persentase Penurunan sebesar 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 dan region API.

    Tetapkan dimensi tertentu ke:

    • Proxy - Tetapkan ke proxy tertentu atau ke Semua proxy. Proxy tidak mendukung nilai "Any". Sebagai gantinya, Anda dapat menambahkan pemberitahuan terpisah untuk setiap proxy yang diinginkan.
    • Region - Tetapkan ke wilayah tertentu atau ke Semua wilayah. Region tidak mendukung nilai "Any". Sebagai gantinya, Anda dapat menambahkan pemberitahuan terpisah untuk setiap wilayah yang Anda minati.
  5. Klik + Notifikasi untuk menambahkan notifikasi.
    Detail Notifikasi Deskripsi
    Channel 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. Guna menentukan beberapa tujuan untuk jenis saluran yang sama, tambahkan notifikasi lainnya.

  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 disarankan guna menyelesaikan notifikasi saat diaktifkan. Anda juga dapat menentukan link ke wiki internal atau halaman komunitas tempat Anda merujuk pada praktik terbaik. Informasi dalam kolom ini akan disertakan dalam notifikasi. Konten di kolom ini tidak boleh lebih dari 1500 karakter.
    Gas Frekuensi yang digunakan untuk mengirimkan notifikasi. Pilih nilai dari menu drop-down.
  8. Klik Simpan.

Melihat notifikasi di dasbor Peristiwa

Saat Edge 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 tetap maupun sertifikat.

Untuk melihat sebuah pemberitahuan:

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

  2. Filter dasbor Peristiwa menurut:

    • Environment
    • Region
    • Jangka waktu
  3. Pilih baris di dasbor Peristiwa untuk menampilkan Keystore yang berisi sertifikat yang akan habis masa berlakunya untuk menyelidiki pemberitahuan lebih lanjut. Dari halaman Keystore, Anda dapat mengupload sertifikat baru dan menghapus sertifikat yang akan habis masa berlakunya.

Menggunakan API pemberitahuan dengan laporan lalu lintas

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

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

Membuat atau memperbarui notifikasi lalu lintas

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

  • Tambahkan properti baru berikut untuk menetapkan bahwa notifikasi adalah notifikasi 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 menetapkan 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 ditetapkan ke increasedBy atau decreasedBy.
    • Properti threshold berisi nilai positif yang menentukan persentase peningkatan atau penurunan traffic, dengan nilai 1.0 sesuai dengan 100%. Untuk increasedBy, nilainya harus lebih besar atau sama dengan 0,0 (0%). Untuk decreasedBy, nilainya harus lebih besar 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 notifikasi lalu lintas.
Contoh berikut menunjukkan cara menyiapkan pemberitahuan yang dipicu saat traffic untuk organisasi dan lingkungan meningkat sebesar 50% selama jangka waktu 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, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Baca artikel Melihat peristiwa untuk informasi selengkapnya tentang cara menggunakan API ini.

Dapatkan notifikasi lalu lintas

Secara default, Get Alerts API menampilkan informasi tentang semua pemberitahuan yang ditentukan. API ini sekarang menggunakan parameter kueri sehingga Anda dapat memfilter hasil:

  • enabled - Jika true menentukan untuk hanya menampilkan pemberitahuan 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 disetel, yang berarti menampilkan semua subjenis pemberitahuan.

Misalnya, gunakan panggilan API berikut agar hanya menampilkan pemberitahuan untuk organisasi bernama myorg:

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

Panggilan berikut hanya menampilkan notifikasi lalu lintas, baik 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, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.