Apa yang Harus Dipantau

Edge for Private Cloud v. 4.17.01

Umumnya, dalam konfigurasi produksi, mekanisme pemantauan perlu Apigee Edge untuk deployment Private Cloud. Teknik pemantauan ini memperingatkan jaringan administrator (atau operator) yang mengalami kesalahan atau kegagalan. Setiap {i>error<i} yang dihasilkan dilaporkan sebagai sebuah di Apigee Edge. Untuk mengetahui informasi selengkapnya tentang pemberitahuan, lihat Praktik Terbaik Pemantauan.

Untuk memudahkan, komponen Apigee diklasifikasikan terutama menjadi dua kategori:

  • Layanan Server Java khusus Apigee – Ini mencakup Pengelolaan {i>Server<i}, Pemroses Pesan, {i> Qpid Server<i}, dan Server Postgres.
  • Layanan Pihak Ketiga – Layanan ini mencakup Router Nginx, Apache Cassandra, Apache ZooKeeper, OpenLDAP, database PostgreSQL, dan Qpid.

Dalam deployment Apigee Edge lokal, tabel berikut memberikan gambaran sekilas tentang parameter yang dapat Anda pantau:

Komponen

Pemeriksaan Sistem

Statistik Tingkat Proses

Pemeriksaan API-Level

Pemeriksaan Alur Pesan

Khusus Komponen

Layanan Java khusus Apigee

Server Pengelolaan

?

?

?

Message Processor

?

?

?

?

Server Qpid

?

?

?

Server Postgres

?

?

?

Layanan Pihak Ketiga

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

Database PostgreSQL

?

?

Qpid

?

?

Router Nginx

?

?

?

Secara umum, setelah Apigee Edge diinstal, Anda dapat melakukan pemantauan berikut guna melacak performa penginstalan Apigee Edge untuk Private Cloud.

Health check sistem

Sangat penting untuk mengukur parameter kesehatan sistem seperti pemanfaatan CPU, memori, dan dan konektivitas porta di tingkat yang lebih tinggi. Anda dapat memantau parameter berikut untuk mendapatkan dasar-dasar kesehatan sistem.

  • Pemanfaatan CPU – Menentukan statistik dasar (Pengguna/Sistem/IO Tunggu/Tidak Ada Aktivitas) tentang pemakaian CPU. Misalnya, total CPU yang digunakan oleh sistem.
  • Memori Bebas/Terpakai – Menentukan penggunaan memori sistem sebagai byte. Misalnya, memori fisik yang digunakan oleh sistem.
  • Penggunaan Ruang Disk – Menentukan informasi sistem file berdasarkan penggunaan {i>disk <i}saat ini. Misalnya, kapasitas {i>hard disk<i} yang digunakan oleh sistem.
  • Beban Rata-Rata – Menentukan jumlah proses yang menunggu akan dijalankan.
  • Statistik Jaringan – Paket jaringan dan/atau byte yang dikirimkan serta diterima, bersama dengan kesalahan transmisi tentang komponen tertentu.

Proses/Pemeriksaan aplikasi

Pada tingkat proses, Anda dapat melihat informasi penting tentang semua proses yang sedang berjalan. Misalnya, ini termasuk statistik penggunaan memori dan CPU yang suatu proses atau aplikasi digunakan. Untuk proses seperti qpidd, postgres minimalis, java dan sebagainya, Anda dapat memantau berikut ini:

  • Identifikasi proses: Mengidentifikasi proses Apigee tertentu. Misalnya, Anda dapat memantau keberadaan proses java server Apigee.
  • Statistik thread: Melihat pola threading dasar yang digunakan proses pengguna. Misalnya, Anda dapat memantau jumlah thread puncak, jumlah thread untuk semua proses.
  • Pemanfaatan memori: Melihat penggunaan memori untuk semua proses Apigee. Misalnya, Anda bisa memantau parameter seperti penggunaan memori heap, penggunaan oleh suatu proses.

Pemeriksaan level API

Di level API, Anda dapat memantau apakah server aktif dan berjalan untuk API yang sering digunakan yang di-proxy-kan oleh Apigee. Misalnya, Anda dapat melakukan pemeriksaan API di Server Pengelolaan, Router, dan Pemroses Pesan dengan memanggil perintah cURL berikut:

curl http://<host>:<port>/v1/servers/self/up

Dengan &lt;host&gt; adalah IP komponen Apigee Edge. <port> nomor tertentu untuk setiap komponen Edge. Contoh:

Server Pengelolaan: 8080

  • Router: 8081
  • Pemroses Pesan: 8082
  • dll.

Lihat bagian individual di bawah ini untuk informasi tentang cara menjalankan perintah ini untuk setiap bagian komponen

Panggilan ini akan menampilkan nilai "true" dan "false". Untuk hasil terbaik, Anda juga dapat melakukan panggilan API langsung di backend (yang berinteraksi dengan software Apigee) untuk menentukan apakah ada error dalam lingkungan software Apigee atau di backend.

Catatan: Untuk memantau proxy API, Anda juga dapat menggunakan API Health Apigee. API Health menjadikan panggilan terjadwal ke proxy API Anda serta memberi tahu Anda saat panggilan gagal beserta caranya. Ketika panggilan berhasil, API Health menampilkan waktu respons dan bahkan dapat memberi tahu Anda saat latensi respons tinggi. API Health dapat melakukan panggilan dari berbagai lokasi di seluruh dunia untuk membandingkan perilaku API antar region.

Pemeriksaan alur pesan

Anda dapat mengumpulkan data dari Router dan Pemroses Pesan tentang alur pesan pola/statistik. Hal ini memungkinkan Anda memantau hal berikut:

  • Jumlah klien aktif
  • Jumlah respons (10X, 20X, 30X, 40X, dan 50X)
  • Kegagalan koneksi

Hal ini membantu Anda menyediakan dasbor untuk alur pesan API.

Health check router dari Pemroses Pesan

Router menerapkan mekanisme health check untuk menentukan Pemroses Pesan mana berjalan seperti yang diharapkan. Jika Pemroses Pesan terdeteksi sebagai tidak aktif atau lambat, {i>Router<i} dapat secara otomatis mengambil {i> Message Processor<i} dari rotasi. Jika itu terjadi, {i>Router<i} akan menulis sebuah "Mark Down" pesan ke file log Router di /opt/apigee/var/log/edge-router/logs/system.log.

Anda dapat memantau file log Router untuk pesan ini. Misalnya, jika {i>Router<i} mengambil Pemroses Pesan tidak berputar, akan menulis pesan ke log dalam bentuk:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

dengan /&lt;MP_IP&gt;:&lt;PORT&gt; adalah alamat IP dan nomor porta Pemroses Pesan.

Jika nantinya Router melakukan health check dan menentukan bahwa Pemroses Pesan berfungsi dengan baik, {i>Router<i} secara otomatis mengembalikan Pemroses Pesan ke dalam rotasi. Tujuan {i>Router<i} juga menulis sebuah tanda "Mark Up" pesan ke log dalam formulir:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up