Edge untuk Private Cloud v4.19.01
Dokumen ini menjelaskan teknik pemantauan komponen yang didukung oleh deployment Apigee Edge lokal.
Ringkasan
Edge mendukung beberapa cara untuk mendapatkan detail tentang layanan serta memeriksa statusnya. Tabel berikut mencantumkan jenis pemeriksaan yang dapat Anda lakukan pada setiap layanan yang memenuhi syarat:
API Mgmt | |||||||
Layanan | Penggunaan Memori [JMX*] | Pemeriksaan Layanan | Status Deployment/Pengguna/ Organisasi | status ax | Pemeriksaan database | Status apigee-service |
apigee-monit ** |
Server Pengelolaan | |||||||
Message Processor | |||||||
Postgres | |||||||
Qpid | |||||||
Router | |||||||
Info Lebih Lanjut | Info Lebih Lanjut | Info Lebih Lanjut | Info Lebih Lanjut | Info Lebih Lanjut | Info Lebih Lanjut | Info Lebih Lanjut | |
* Sebelum dapat menggunakan JMX, Anda harus mengaktifkannya, seperti dijelaskan dalam Mengaktifkan JMX. ** Layanan |
Port pemantauan JMX dan Management API
Setiap komponen mendukung panggilan pemantauan JMX dan Management API di port yang berbeda. Tabel berikut mencantumkan port JMX dan Management API untuk setiap jenis server:
Komponen | Port JMX | Port Management API |
---|---|---|
Server Pengelolaan | 1099 | 8080 |
Router | 1100 | 8081 |
Message Processor | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
Menggunakan JMX untuk memantau
Proses pemantauan untuk Server Pengelolaan, Message Processor, Qpid, dan Postgres semuanya menggunakan JMX. Namun, JMX diaktifkan secara default hanya untuk Cassandra, dan dinonaktifkan secara default untuk semua komponen Edge lainnya. Oleh karena itu, Anda harus mengaktifkan JMX satu per satu untuk setiap komponen sebelum dapat memantaunya.
Autentikasi JMX tidak diaktifkan secara default. Anda dapat mengaktifkan autentikasi JMX untuk semua komponen. Untuk Cassandra, gunakan petunjuk di Mengaktifkan autentikasi JMX untuk Cassandra.
Aktifkan JMX
JMX diaktifkan secara default hanya untuk Cassandra, dan dinonaktifkan secara default untuk semua komponen Edge lainnya. Bagian ini menjelaskan cara mengaktifkan JMX untuk komponen Edge lainnya.
Untuk mengaktifkan JMX:
- Mengedit file konfigurasi komponen. File ini ada di
opt/apigee/edge-component_name/bin/start
. Dalam lingkungan produksi, file konfigurasi ini akan berada di mesin yang berbeda.Pilih dari lokasi file berikut pada setiap server:
- Server Pengelolaan:
/opt/apigee/edge-management-server/bin/start
- Pemroses Pesan:
/opt/apigee/edge-message-processor/bin/start
- Postgre:
/opt/apigee/edge-postgres-server/bin/start
- Qpid:
/opt/apigee/edge-qpid-server/bin/start
- Router:
/opt/apigee/edge-router/bin/start
Misalnya, file konfigurasi Server Pengelolaan di servernya berada di
/opt/apigee/edge-management-server/bin/start
. - Server Pengelolaan:
- Tambahkan opsi
com.sun.management.jmxremote
berikut ke barisexec
yang memulai komponen:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
Dengan port_number adalah port JMX untuk layanan. Untuk mendapatkan nomor port JMX layanan Anda, lihat Port pemantauan JMX dan Management API.
Misalnya, untuk mengaktifkan JMX pada Server Pengelolaan, tambahkan kode berikut ke file konfigurasi Server Pengelolaan:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
Contoh ini menentukan port 1099 untuk Server Pengelolaan. Seperti yang disebutkan sebelumnya, setiap layanan memiliki nomor port sendiri.
Baris yang diedit dalam file konfigurasi akan terlihat seperti berikut:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- Simpan file konfigurasi.
- Mulai ulang komponen dengan perintah
restart
.Misalnya, untuk memulai ulang Server Pengelolaan, jalankan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Autentikasi untuk JMX tidak diaktifkan secara default. Anda dapat mengaktifkan autentikasi JMX untuk semua komponen, seperti yang dijelaskan dalam Mengaktifkan autentikasi JMX. Guna mengaktifkan autentikasi JMX untuk Cassandra, lihat Mengaktifkan autentikasi JMX untuk Cassandra.
Aktifkan autentikasi JMX
Autentikasi JMX tidak diaktifkan secara default. Anda dapat mengaktifkan autentikasi JMX untuk semua komponen. Untuk Cassandra, gunakan petunjuk di Mengaktifkan autentikasi JMX untuk Cassandra
Untuk mengaktifkan autentikasi JMX, jalankan tindakan change_jmx_auth
berikut pada semua node:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
Dengan keterangan:
- component adalah salah satu dari yang berikut:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options menentukan hal berikut:
-u username
-p password
-e [y|n]
(aktifkan atau nonaktifkan)
- config_file menentukan lokasi file konfigurasi tempat Anda menentukan
hal berikut:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(jika tidak ditetapkan atau tidak diteruskan dengan-p
, Anda akan diminta)
Anda dapat menggunakan opsi command line atau file konfigurasi untuk menentukan nama pengguna, sandi, dan mengaktifkan/menonaktifkan status. Anda tidak perlu menetapkan kumpulan opsi dan file konfigurasi sekaligus.
Contoh berikut mengaktifkan autentikasi JMX untuk Server Pengelolaan menggunakan opsi command line:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
Contoh berikut menggunakan file konfigurasi, bukan opsi command line:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
Jika Anda menjalankan Edge di beberapa node, jalankan perintah pada semua node, dengan menentukan nama pengguna dan sandi yang sama.
Untuk menonaktifkan autentikasi JMX pada command line, gunakan opsi "-e n", seperti yang ditampilkan pada contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
Pantau dengan JConsole
Gunakan JConsole (alat yang sesuai dengan JMX) untuk mengelola dan memantau health check dan memproses statistik. Dengan JConsole, Anda dapat menggunakan statistik JMX yang diekspos oleh server dan menampilkannya dalam antarmuka grafis. Untuk mengetahui informasi selengkapnya, lihat Menggunakan JConsole.
JConsole menggunakan URL layanan berikut untuk memantau atribut JMX (MBean) yang ditawarkan melalui JMX:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
Dengan keterangan:
- IP_address adalah alamat IP server yang ingin Anda pantau.
- port_number adalah nomor port JMX server yang ingin Anda pantau.
Misalnya, untuk memantau Server Pengelolaan, berikan perintah seperti berikut (dengan asumsi alamat IP server adalah 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
Perhatikan bahwa contoh ini menentukan port 1099, yang merupakan port Management Server JMX. Untuk port lainnya, lihat Port pemantauan JMX dan Management API.
Tabel berikut menampilkan statistik JMX generik:
JMX MBean | Atribut JMX |
---|---|
Memori |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Penggunaan |
|
Memantau dengan Management API
Edge menyertakan beberapa API yang dapat digunakan untuk menjalankan pemeriksaan layanan pada server Anda, serta memeriksa pengguna, organisasi, dan deployment Anda. Bagian ini menjelaskan API tersebut.
Melakukan pemeriksaan layanan
Management API menyediakan beberapa endpoint untuk memantau dan mendiagnosis masalah pada layanan Anda. Endpoint ini mencakup:
Endpoint | Deskripsi |
---|---|
/servers/self/up |
Memeriksa apakah layanan sedang berjalan. Panggilan API ini tidak mengharuskan Anda untuk melakukan autentikasi. Jika layanan berjalan, endpoint ini akan menampilkan respons berikut: <ServerField> <Up>true</Up> </ServerField> Jika layanan tidak berjalan, Anda akan mendapatkan respons yang mirip dengan berikut ini (bergantung pada layanan yang digunakan dan cara Anda memeriksanya): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
Menampilkan informasi tentang layanan, termasuk:
Panggilan API ini mengharuskan Anda melakukan autentikasi dengan kredensial admin Apigee. |
Untuk menggunakan endpoint ini, panggil utilitas seperti curl
dengan perintah yang menggunakan sintaksis berikut:
curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"
Dengan keterangan:
- host adalah alamat IP server yang ingin Anda periksa. Jika sudah login ke server, Anda dapat menggunakan "localhost"; jika tidak, tentukan alamat IP server serta nama pengguna dan sandi.
- port_number adalah port Management API untuk server yang ingin Anda periksa. Ini adalah port yang berbeda untuk setiap jenis komponen. Misalnya, port Management API Server Pengelolaan adalah 8080. Untuk mengetahui daftar nomor port Management API yang akan digunakan, lihat Port pemantauan JMX dan Management API
Untuk mengubah format respons, Anda dapat menentukan header Accept
sebagai "application/json" atau "application/xml".
Contoh berikut mendapatkan status Router di localhost (port 8081):
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
Contoh berikut mendapatkan informasi tentang Prosesor Pesan di 216.3.128.12 (port 8082):
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
Memantau status pengguna, organisasi, dan deployment
Anda dapat menggunakan Management API untuk memantau status pengguna, organisasi, dan deployment proxy Anda di Server Pengelolaan dan Pemroses Pesan dengan memberikan perintah berikut:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
Dengan port_number adalah 8080 untuk Server Pengelolaan atau 8082 untuk Pemroses Pesan.
Panggilan ini mengharuskan Anda untuk melakukan autentikasi dengan nama pengguna dan sandi administrasi sistem.
Server akan menampilkan status "di-deploy" untuk semua panggilan. Jika gagal, lakukan hal berikut:
- Periksa log server untuk menemukan error. Log berada di:
- Server Pengelolaan:
opt/apigee/var/log/edge-management-server
- Pemroses Pesan:
opt/apigee/var/log/edge-message-processor
- Server Pengelolaan:
- Lakukan panggilan terhadap server untuk memeriksa apakah server berfungsi dengan benar.
- Hapus server dari ELB, lalu mulai ulang:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
Dengan service_name:
edge-management-server
edge-message-processor
Periksa status dengan perintah apigee-service
Anda dapat memecahkan masalah layanan Edge dengan menggunakan perintah apigee-service
saat login ke server yang menjalankan layanan.
Untuk memeriksa status layanan dengan apigee-service
:
- Login ke server dan jalankan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service service_name status
Dengan service_name adalah salah satu dari yang berikut:
- Server Pengelolaan:
edge-management-server
- Pemroses Pesan:
edge-message-processor
- Postgre:
edge-postgres-server
- Qpid:
edge-qpid-server
- Router:
edge-router
Contoh:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- Server Pengelolaan:
- Jika layanan tidak berjalan, mulai layanan:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- Setelah memulai ulang layanan, periksa apakah layanan berfungsi dengan menggunakan
perintah
apigee-service status
yang Anda gunakan sebelumnya atau dengan menggunakan Management API yang dijelaskan dalam Memantau dengan Management API.Contoh:
curl -v http://localhost:port_number/v1/servers/self/up
Dengan port_number adalah port Management API untuk layanan.
Contoh ini mengasumsikan bahwa Anda login ke server dan dapat menggunakan "localhost" sebagai nama host. Untuk memeriksa status dari jarak jauh dengan Management API, Anda harus menentukan alamat IP server dan menyertakan nama pengguna serta sandi administrator sistem dalam panggilan API Anda.
Pemantauan Postgres
Postgres mendukung beberapa utilitas yang dapat Anda gunakan untuk memeriksa statusnya. Utilitas ini dijelaskan di bagian berikut.
Memeriksa organisasi dan lingkungan di Postgres
Anda dapat memeriksa nama organisasi dan lingkungan yang diaktivasi di Server Postgres dengan menjalankan perintah curl
berikut:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Sistem harus menampilkan nama organisasi dan lingkungan.
Memverifikasi status analisis
Anda dapat memverifikasi status server analisis Postgres dan Qpid dengan mengeluarkan perintah
curl
berikut:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
Sistem akan menampilkan status berhasil untuk semua server analisis, seperti yang ditunjukkan pada contoh berikut:
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
Database PostgreSQL
Bagian ini menjelaskan teknik yang dapat Anda gunakan secara khusus untuk memantau database Postgres.
Menggunakan skrip check_postgres.pl
Untuk memantau database PostgreSQL, Anda dapat menggunakan skrip pemantauan standar, check_postgres.pl
. Untuk informasi selengkapnya, lihat
http://bucardo.org/wiki/Check_postgres.
Sebelum Anda menjalankan skrip:
- Anda harus menginstal skrip check_postgres.pl di setiap node Postgres.
- Pastikan Anda telah menginstal
perl-Time-HiRes.x86_64
, modul Perl yang mengimplementasikan alarm resolusi tinggi, Sleep, gettimeofday, dan timer interval. Misalnya, Anda dapat menginstalnya menggunakan perintah berikut:
yum install perl-Time-HiRes.x86_64
- CentOS 7: Sebelum menggunakan check_postgres.pl di CentOS v7, instal RPM
perl-Data-Dumper.x86_64
.
Output check_postgres.pl
Output default panggilan API yang menggunakan check_postgres.pl
kompatibel dengan
Nagios. Setelah Anda menginstal skrip, lakukan pemeriksaan berikut:
- Periksa ukuran database:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
- Periksa jumlah koneksi masuk ke database dan bandingkan dengan koneksi maksimum yang diizinkan:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- Periksa apakah database berjalan dan tersedia:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- Periksa kapasitas disk:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Periksa jumlah organisasi dan lingkungan yang diaktivasi di node Postgres:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
Menjalankan pemeriksaan database
Anda dapat memverifikasi bahwa tabel yang tepat telah dibuat di database PostgreSQL. Login ke database PostgreSQL menggunakan perintah berikut:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
Kemudian, jalankan:
\d analytics."org.env.fact"
Memeriksa status respons proses postgres
Anda dapat menjalankan pemeriksaan API pada mesin Postgres dengan memanggil perintah curl
berikut:
curl -v http://postgres_IP:8084/v1/servers/self/health
Perintah ini akan menampilkan status ACTIVE
saat proses postgres aktif. Jika
proses Postgres tidak aktif dan berjalan, proses ini akan menampilkan status INACTIVE
.
Resource Postgres
Untuk informasi tambahan tentang pemantauan layanan Postgres, lihat informasi berikut:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Apache Cassandra
JMX diaktifkan secara default untuk Cassandra dan akses JMX jarak jauh ke Cassandra tidak memerlukan sandi.
Aktifkan autentikasi JMX untuk Cassandra
Anda dapat mengaktifkan autentikasi JMX untuk Cassandra. Setelah melakukannya, Anda akan diminta untuk
meneruskan nama pengguna dan sandi ke semua panggilan ke utilitas nodetool
.
Guna mengaktifkan autentikasi JMX untuk Cassandra:
- Buat dan edit file
cassandra.properties
:- Edit file
/opt/apigee/customer/application/cassandra.properties
. Jika file tidak ada, buat file tersebut. - Tambahkan kode berikut ke file:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true conf_cassandra-env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/data/apigee-cassandra/jmxremote.password conf_cassandra-env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/data/apigee-cassandra/jmxremote.access
- Simpan file
cassandra.properties
. - Ubah pemilik file menjadi "apigee:apigee", seperti yang ditunjukkan pada contoh berikut:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
Untuk mengetahui informasi selengkapnya tentang penggunaan file properti untuk menyetel token, lihat Cara mengonfigurasi Edge.
- Edit file
- Membuat dan mengedit
jmx_auth.sh
:- Buat file di lokasi berikut, jika belum ada:
/opt/apigee/customer/application/jmx_auth.sh
- Tambahkan properti berikut ke file:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- Simpan file
jmx_auth.sh
. - Sumber file:
source /opt/apigee/customer/application/jmx_auth.sh
- Buat file di lokasi berikut, jika belum ada:
- Salin dan edit file
jmxremote.password
:- Salin file berikut dari direktori
$JAVA_HOME
Anda ke/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
- Edit file
jmxremote.password
dan tambahkan nama pengguna dan sandi JMX Anda menggunakan sintaksis berikut:JMX_USERNAME JMX_PASSWORD
Dengan JMX_USERNAME dan JMX_PASSWORD adalah nama pengguna dan sandi JMX yang Anda setel sebelumnya.
- Pastikan file tersebut adalah milik "apigee" dan mode filenya adalah 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.password
- Salin file berikut dari direktori
- Salin dan edit file
jmxremote.access
:- Salin file berikut dari direktori
$JAVA_HOME
Anda ke/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
- Edit file jmxremote.access dan tambahkan peran berikut:
JMX_USERNAME readwrite
- Pastikan file tersebut adalah milik "apigee" dan mode filenya adalah 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.access
- Salin file berikut dari direktori
- Jalankan
configure
di Cassandra:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Mulai ulang Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Ulangi proses ini pada semua node Cassandra lainnya.
Aktifkan enkripsi sandi JMX
Untuk mengaktifkan enkripsi sandi JMX, lakukan langkah-langkah berikut:
- Buka file
source/conf/casssandra-env.sh
. - Hapus tanda komentar pada baris berikut dalam file:
-
JVM_OPTS="$JVM_OPTS -Djava.security.auth.login.config={T}conf_cassandra-env_java.security.auth.login.config{/T}"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.login.config=ApigeeSecureFileLoginModule"
-
- Pada command line, buat hash SHA1 sandi yang diinginkan dengan memasukkan
echo -n 'Secret' | openssl dgst -sha1
- Setel sandi terhadap nama pengguna di
jmxremote.password
. - Ubah kembali file
cassandra-env.sh
agar hanya dapat dibaca setelah update.
Nonaktifkan autentikasi JMX untuk Cassandra
Untuk menonaktifkan autentikasi JMX untuk Cassandra:
- Edit
/opt/apigee/customer/application/cassandra.properties
. - Hapus baris berikut dalam file:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Menjalankan konfigurasi di Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Mulai ulang Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Ulangi proses ini pada semua node Cassandra lainnya.
Menggunakan JConsole: Memantau statistik tugas
Gunakan JConsole dan URL layanan berikut untuk memantau atribut JMX (MBean) yang ditawarkan melalui JMX:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
Dengan IP_address adalah IP server Cassandra.
Statistik Cassandra JMX
JMX MBean | Atribut JMX |
---|---|
Columnfamilies/aplikasi/lingkungan ColumnFamily/apprepo/organisasi Columnfamilies/apprepo/apiproxy_revisions Columnfamilies/apprepo/apiproxies ColumnFamily/audit/audit ColumnFamily/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
Menggunakan nodetool untuk mengelola node cluster
Utilitas nodetool
adalah antarmuka command line untuk Cassandra yang mengelola
node cluster. Alat ini dapat ditemukan di /opt/apigee/apigee-cassandra/bin
.
Panggilan berikut dapat dilakukan di semua node cluster Cassandra:
- Info dering umum (juga memungkinkan untuk node Cassandra tunggal): Cari
"Up" dan "Normal" untuk semua node.
nodetool [-u username -pw password] -h localhost ring
Anda hanya perlu meneruskan nama pengguna dan sandi jika mengaktifkan autentikasi JMX untuk Cassandra.
Output perintah di atas terlihat seperti di bawah ini:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- Info umum tentang node (panggilan per node)
nodetool [-u username -pw password] -h localhost info
Output perintah di atas terlihat seperti berikut:
ID : e2e42793-4242-4e82-bcf0-oicu812 Gossip active : true Thrift active : true Native Transport active: true Load : 273.71 KB Generation No : 1234567890 Uptime (seconds) : 687194 Heap Memory (MB) : 314.62 / 3680.00 Off Heap Memory (MB) : 0.14 Data Center : dc-1 Rack : ra-1 Exceptions : 0 Key Cache : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds Counter Cache : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds Token : 0
- Status server barang bekas (menayangkan API klien)
nodetool [-u username -pw password] -h localhost statusthrift
Output perintah di atas terlihat seperti berikut:
running
- Status operasi streaming data: Mengamati traffic untuk node cassandra:
nodetool [-u username -pw password] -h localhost netstats
Output perintah di atas terlihat seperti berikut:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
Untuk mengetahui info selengkapnya tentang nodetool
, lihat
Tentang utilitas nodetool.
Referensi Cassandra
Lihat URL berikut: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache Zookeeper
Memeriksa status ZooKeeper
- Pastikan proses ZooKeeper berjalan. ZooKeeper menulis file PID ke
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Uji port ZooKeeper untuk memastikan Anda dapat membuat koneksi TCP ke port 2181 dan 3888 di setiap server ZooKeeper.
- Pastikan Anda dapat membaca nilai dari database ZooKeeper. Hubungkan menggunakan library klien ZooKeeper (atau
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
), lalu baca nilai dari database. - Periksa status:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
Gunakan kata empat huruf ZooKeeper
ZooKeeper dapat dipantau melalui serangkaian perintah kecil (empat huruf) yang dikirim ke port 2181 menggunakan netcat (nc) atau telnet.
Untuk info selengkapnya tentang perintah ZooKeeper, baca: Referensi perintah Apache ZooKeeper.
Contoh:
srvr
: Mencantumkan detail lengkap untuk server.stat
: Mencantumkan detail singkat untuk server dan klien yang terhubung.
Perintah berikut dapat dikeluarkan ke port ZooKeeper:
- Jalankan ruok perintah empat huruf untuk menguji apakah server berjalan dalam status non-error. Respons yang berhasil akan menampilkan "imok".
echo ruok | nc host 2181
Retur:
imok
- Jalankan perintah empat huruf,
stat
, untuk mencantumkan performa server dan statistik klien yang terhubung:echo stat | nc host 2181
Retur:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- Jika netcat (nc) tidak tersedia, Anda dapat menggunakan python sebagai alternatif. Buat file
bernama
zookeeper.py
yang berisi hal berikut:import time, socket, sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) c.connect((sys.argv[1], 2181)) c.send(sys.argv[2]) time.sleep(0.1) print c.recv(512)
Sekarang jalankan baris python berikut:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
Tes level LDAP
Anda dapat memantau OpenLDAP untuk melihat apakah permintaan tertentu ditayangkan dengan benar. Dengan kata lain, periksa penelusuran tertentu yang menampilkan hasil yang benar.
- Gunakan
ldapsearch
(yum install openldap-clients
) untuk mengkueri entri admin sistem. Entri ini digunakan untuk mengautentikasi semua panggilan API.ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
Kemudian, Anda diminta untuk memasukkan sandi admin LDAP:
Enter LDAP Password:
Setelah memasukkan sandi, Anda akan melihat respons dalam formulir:
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top uid: admin cn: admin sn: admin userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ= = mail: opdk@google.com
- Periksa apakah Server Pengelolaan masih terhubung ke LDAP dengan perintah berikut:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Retur:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Anda juga dapat memantau cache OpenLDAP, yang membantu mengurangi jumlah akses disk dan meningkatkan performa sistem. Memantau dan kemudian menyesuaikan ukuran cache di server OpenLDAP dapat sangat memengaruhi performa server direktori. Anda dapat melihat file
log (opt/apigee/var/log
) untuk mendapatkan informasi tentang cache.