Edge for Private Cloud v. 4.16.09
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 Tingkat API |
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.
Pemeriksaan kesehatan sistem
Sangat penting untuk mengukur parameter kesehatan sistem seperti penggunaan CPU, penggunaan memori, dan konektivitas port 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 disk saat ini. Misalnya, ruang hard disk 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.
Pemeriksaan Proses/Aplikasi
Di tingkat proses, Anda dapat melihat informasi penting tentang semua proses yang berjalan. Misalnya, ini termasuk statistik penggunaan memori dan CPU yang suatu proses atau aplikasi digunakan. Untuk proses seperti {i>qpidd, postgres Pem milik 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 dapat memantau parameter seperti penggunaan memori heap, penggunaan memori non-heap yang digunakan oleh proses.
Pemeriksaan tingkat API
Di tingkat API, Anda dapat memantau apakah server aktif dan berjalan untuk panggilan API yang sering digunakan yang di-proxy 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 <host> adalah alamat IP komponen Apigee Edge. Nomor <port> bersifat khusus untuk setiap komponen Edge. Contoh:
Server Pengelolaan: 8080
- Router: 8081
- Message Processor: 8082
- dll.
Lihat setiap bagian di bawah untuk mengetahui informasi tentang cara menjalankan perintah ini untuk setiap 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 melakukan panggilan terjadwal ke proxy API Anda dan memberi tahu Anda saat proxy gagal dan penyebabnya. Saat panggilan berhasil, API Health akan 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 untuk Pesan Pemroses
Router menerapkan mekanisme health check untuk menentukan Pemroses Pesan mana yang berfungsi seperti yang diharapkan. Jika Pemroses Pesan terdeteksi tidak aktif atau lambat, Router dapat otomatis mengeluarkan Pemroses Pesan dari rotasi. Jika itu terjadi, {i>Router<i} akan menulis sebuah "Mark Down" pesan ke file log Router di /<inst root>/apigee4/var/log/apigee/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 /<MP_IP>:<PORT> adalah alamat IP dan nomor port dari 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. Router juga menulis pesan "Mark Up" ke log dalam bentuk:
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
Untuk mengonfigurasi Router agar melakukan pemeriksaan kesehatan, tetapkan properti berikut ke true di /<inst root>/apigee4/conf/apigee/router/router.properties:
Client.pool.heartBeat.use.http=true
Kemudian, mulai ulang Router:
> /<inst-root>/apigee4/bin/apigee-service router restart