Private Cloud için Edge v4.18.05
Bu belgede, Apigee Edge'in şirket içi dağıtımı tarafından desteklenen bileşenlerin izleme teknikleri açıklanmaktadır.
Genel Bakış
Edge, hizmetler hakkında ayrıntılı bilgi almak ve durumlarını kontrol etmek için çeşitli yöntemler kullanır. Aşağıdaki tabloda, uygun her hizmette yapabileceğiniz kontrol türleri listelenmiştir:
Hizmet | JMX:* Bellek Kullanımı |
Mgmt API: Hizmet Kontrolü |
Mgmt API: Kullanıcı/Kuruluş/ Dağıtım Durumu |
Yönetim API'si: axstatus |
Veritabanı kontrolü | apigee-service Durum |
---|---|---|---|---|---|---|
Yönetim sunucusu | ||||||
Mesaj İşleyici | ||||||
Postgres | ||||||
Qpid | ||||||
Yönlendirici | ||||||
Daha fazla bilgi | Daha fazla bilgi | Daha fazla bilgi | Daha fazla bilgi | Daha fazla bilgi | Daha fazla bilgi | |
* JMX'i kullanabilmek için öncelikle JMX'i etkinleştirme bölümünde açıklandığı şekilde JMX'i etkinleştirmeniz gerekir. |
JMX ve Management API izleme bağlantı noktaları
Her bileşen, farklı bağlantı noktalarında JMX ve Management API izleme çağrılarını destekler. Aşağıdaki tabloda her sunucu türünün JMX ve Yönetim API bağlantı noktaları listelenmektedir:
Bileşen | JMX Bağlantı Noktası | Management API Bağlantı Noktası |
---|---|---|
Yönetim Sunucusu | 1099 | 8080 |
Yönlendirici | 1100 | 8081 |
Mesaj İşleyici | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
JMX kullan
Yönetim sunucusu, ileti işleyici, Qpid ve Postgres'in izleme süreçleri JMX'yi kullanır. Ancak JMX yalnızca Cassandra için varsayılan olarak etkindir ve diğer tüm Edge bileşenleri için varsayılan olarak devre dışıdır. Bu nedenle, izleyebilmeniz için her bir bileşen için JMX'yi ayrı ayrı etkinleştirmeniz gerekir.
JMX kimlik doğrulaması varsayılan olarak etkin değildir. Cassandra dışındaki tüm bileşenler için JMX kimlik doğrulamasını etkinleştirebilirsiniz.
JMX'yi etkinleştirme
JMX yalnızca Cassandra için varsayılan olarak etkindir ve diğer tüm Edge bileşenleri için varsayılan olarak devre dışıdır. Bu bölümde, diğer Edge bileşenleri için JMX'in nasıl etkinleştirileceği açıklanmaktadır.
JMX'yi etkinleştirmek için:
- Bileşenin yapılandırma dosyasını düzenleyin. Bu dosya şu konumdadır:
opt/apigee/edge-component_name/bin/start
. Üretim ortamlarında bu yapılandırma dosyaları farklı makinelerde bulunur.Her sunucuda aşağıdaki dosya konumlarından birini seçin:
- Yönetim sunucusu:
/opt/apigee/edge-management-server/bin/start
- Mesaj İşleyici:
/opt/apigee/edge-message-processor/bin/start
- Postgre'ler:
/opt/apigee/edge-postgres-server/bin/start
- Qpid:
/opt/apigee/edge-qpid-server/bin/start
- Yönlendirici:
/opt/apigee/edge-router/bin/start
Örneğin, Yönetim Sunucusu'nun sunucusundaki yapılandırma dosyası
/opt/apigee/edge-management-server/bin/start
adresindedir. - Yönetim sunucusu:
- Bileşeni başlatan
exec
satırına aşağıdakicom.sun.management.jmxremote
seçeneklerini ekleyin:-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
Burada port_number, hizmetin JMX bağlantı noktasıdır. Hizmetinizin JMX bağlantı noktası numarasını almak için JMX ve Management API izleme bağlantı noktaları bölümüne bakın.
Örneğin, Yönetim Sunucusu'nda JMX'i etkinleştirmek için Yönetim Sunucusu'nun yapılandırma dosyasına aşağıdakini ekleyin:
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
Bu örnekte, Yönetim Sunucusu için 1099 bağlantı noktası belirtilmiştir. Daha önce belirtildiği gibi her hizmetin kendi bağlantı noktası numarası vardır.
Yapılandırma dosyasında düzenlenmiş satır aşağıdaki gibi görünür:
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
- Yapılandırma dosyasını kaydedin.
restart
komutuyla bileşeni yeniden başlatın.Örneğin, Yönetim Sunucusu'nu yeniden başlatmak için aşağıdaki komutu yürütün:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
JMX için kimlik doğrulama varsayılan olarak etkin değildir. JMX kimlik doğrulamasını etkinleştirme bölümünde açıklandığı gibi, Cassandra dışındaki tüm bileşenler için JMX kimlik doğrulamasını etkinleştirebilirsiniz.
JMX kimlik doğrulamasını etkinleştirme
JMX kimlik doğrulaması varsayılan olarak etkin değildir. Cassandra dışındaki tüm bileşenler için JMX kimlik doğrulamasını etkinleştirebilirsiniz.
JMX kimlik doğrulamasını etkinleştirmek için tüm düğümlerde aşağıdaki change_jmx_auth
işlemini yürütün:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
Burada:
- component aşağıdakilerden biridir:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options şunları belirtir:
-u username
-p password
-e [y|n]
(etkinleştir veya devre dışı bırak)
- config_file, aşağıdakileri tanımladığınız bir yapılandırma dosyasının yerini belirtir:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(ayarlanmazsa veya-p
ile teslim edilmezse bunu yapmanız istenir)
Kullanıcı adını, şifreyi ve etkin/devre dışı durumunu tanımlamak için komut satırı seçeneklerini veya yapılandırma dosyasını kullanabilirsiniz. Hem bir seçenek grubu hem de bir yapılandırma dosyası belirtmezsiniz.
Aşağıdaki örnekte, komut satırı seçenekleri kullanılarak Yönetim Sunucusu için JMX kimlik doğrulaması etkinleştirilmektedir:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
Aşağıdaki örnekte, komut satırı seçenekleri yerine bir yapılandırma dosyası kullanılmaktadır:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
Edge'i birden fazla düğümde çalıştırıyorsanız aynı kullanıcı adını ve şifreyi belirterek komutu tüm düğümlerde çalıştırın.
Komut satırında JMX kimlik doğrulamasını devre dışı bırakmak için aşağıdaki örnekte gösterildiği gibi "-e n" seçeneğini kullanın:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
JConsole ile izleme
Sağlık kontrolü ve işlem istatistiklerini yönetmek ve izlemek için JConsole'u (JMX uyumlu bir araç) kullanın. JConsole ile sunucularınız tarafından gösterilen JMX istatistiklerini tüketebilir ve bunları grafik arayüzde görüntüleyebilirsiniz. Daha fazla bilgi için JConsole'u kullanma konusuna bakın.
JConsole, JMX üzerinden sunulan JMX özelliklerini (MBeans) izlemek için aşağıdaki hizmet URL'sini kullanır:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
Burada:
- IP_address, izlemek istediğiniz sunucunun IP adresidir.
- port_number, izlemek istediğiniz sunucunun JMX bağlantı noktası numarasıdır.
Örneğin, Yönetim Sunucusu'nu izlemek için aşağıdaki gibi bir komut verin (sunucunun IP adresinin 216.3.128.12 olduğu varsayılır):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
Bu örneğin, Yönetim Sunucusu JMX bağlantı noktası olan 1099 numaralı bağlantı noktasını belirttiğini unutmayın. Diğer bağlantı noktaları için JMX ve Management API izleme bağlantı noktaları başlıklı makaleyi inceleyin.
Aşağıdaki tabloda genel JMX istatistikleri gösterilmektedir:
JMX MBean'leri | JMX Özellikleri |
---|---|
Bellek |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Kullanım |
|
Management API ile izleme
Edge, sunucularınızda hizmet denetimleri gerçekleştirmenin yanı sıra kullanıcılarınızı, kuruluşlarınızı ve dağıtımlarınızı kontrol etmek için kullanabileceğiniz çeşitli API'ler içerir. Bu bölümde bu API'ler açıklanmaktadır.
Hizmet kontrolleri gerçekleştirme
Management API, hizmetlerinizle ilgili sorunları izlemek ve teşhis etmek için çeşitli uç noktalar sağlar. Bu uç noktalar şunlardır:
Uç nokta | Açıklama |
---|---|
/servers/self/up |
Bir hizmetin çalışıp çalışmadığını kontrol eder. Bu API çağrısı için kimlik doğrulama yapmanız gerekmez. Hizmet çalışıyorsa bu uç nokta aşağıdaki yanıtı döndürür: <ServerField> <Up>true</Up> </ServerField> Hizmet çalışmıyorsa aşağıdakine benzer bir yanıt alırsınız (hangi hizmete bağlı olarak ve nasıl kontrol ettiğinize göre): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
Aşağıdakiler dahil olmak üzere hizmetle ilgili bilgileri döndürür:
Bu API çağrısı için Apigee yönetici kimlik bilgilerinizle kimlik doğrulamanız gerekir. |
Bu uç noktaları kullanmak için aşağıdaki söz dizimini kullanan komutlarla curl
gibi bir yardımcı programı çağırın:
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]"
Burada:
- host, kontrol etmek istediğiniz sunucunun IP adresidir. Sunucuya giriş yaptıysanız "localhost"u kullanabilirsiniz. Aksi takdirde, kullanıcı adı ve şifrenin yanı sıra sunucunun IP adresini de belirtin.
- port_number, kontrol etmek istediğiniz sunucunun Management API bağlantı noktasıdır. Bu, her bileşen türü için farklı bir bağlantı noktasıdır. Örneğin, Yönetim Sunucusu'nun Yönetim API bağlantı noktası 8080'dir. Kullanılacak Management API bağlantı noktası numaralarının listesi için JMX ve Management API izleme bağlantı noktaları bölümüne bakın.
Yanıtın biçimini değiştirmek için Accept
üstbilgisini "application/json" veya "application/xml" olarak belirtebilirsiniz.
Aşağıdaki örnekte, localhost'teki (8081 bağlantı noktası) yönlendiricinin durumu alınır:
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
Aşağıdaki örnek, 216.3.128.12 (bağlantı noktası 8082) adresindeki Mesaj İşleyici ile ilgili bilgileri alır:
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
Kullanıcı, kuruluş ve dağıtım durumunu izleme
Yönetim sunucuları ve mesaj işleyicilerdeki proxy'lerinizin kullanıcı, kuruluş ve dağıtım durumunu izlemek için aşağıdaki komutları göndererek Yönetim API'yi kullanabilirsiniz:
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
Burada port_number, Yönetim Sunucusu için 8080 veya İleti İşlemcisi için 8082 değerini alır.
Bu görüşme için sistem yöneticisi kullanıcı adınız ve şifrenizle kimliğinizi doğrulamanız gerekir.
Sunucu, tüm çağrılar için "dağıtıldı" durumunu döndürmelidir. Bu işlemler başarısız olursa aşağıdakileri yapın:
- Hata olup olmadığını görmek için sunucu günlüklerini kontrol edin. Günlükler şu konumda bulunur:
- Yönetim sunucusu:
opt/apigee/var/log/edge-management-server
- Mesaj İşleyici:
opt/apigee/var/log/edge-message-processor
- Yönetim sunucusu:
- Düzgün çalışıp çalışmadığını kontrol etmek için sunucuya çağrı yapın.
- Sunucuyu ELB'den kaldırıp yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
service_name burada:
edge-management-server
edge-message-processor
apigee-service
komutuyla durumu kontrol etme
Hizmeti çalıştıran sunucuya giriş yaptığınızda apigee-service
komutunu kullanarak Edge hizmetlerinizle ilgili sorunları giderebilirsiniz.
apigee-service
ile bir hizmetin durumunu kontrol etmek için:
- Sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
/opt/apigee/apigee-service/bin/apigee-service service_name status
Burada service_name aşağıdakilerden biri olmalıdır:
- Yönetim sunucusu:
edge-management-server
- Mesaj İşleyici:
edge-message-processor
- Postgres:
edge-postgres-server
- Qpid:
edge-qpid-server
- Yönlendirici:
edge-router
Örneğin:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- Yönetim sunucusu:
- Hizmet çalışmıyorsa hizmeti başlatın:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- Hizmeti yeniden başlattıktan sonra, daha önce kullandığınız
apigee-service status
komutunu veya Management API ile izleme bölümünde açıklanan Management API'yi kullanarak hizmetin çalıştığından emin olun.Örneğin:
curl -v http://localhost:port_number/v1/servers/self/up
Burada port_number, hizmetin Management API bağlantı noktasıdır.
Bu örnekte, sunucuya giriş yaptığınız ve ana makine adı olarak "localhost"u kullanabileceğiniz varsayılmaktadır. Durumu Management API ile uzaktan kontrol etmek için sunucunun IP adresini belirtmeniz ve API çağrınıza sistem yöneticisi kullanıcı adını ve şifresini eklemeniz gerekir.
Postgres izleme
Postgres, durumunu kontrol etmek için kullanabileceğiniz çeşitli yardımcı programları destekler. Bu yardımcı programlar sonraki bölümlerde açıklanmıştır.
Postgres'te kuruluşları ve ortamları kontrol etme
Aşağıdaki curl
komutunu kullanarak Postgres sunucusuna dahil edilen kuruluş ve ortam adlarını kontrol edebilirsiniz:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Sistem, kuruluş ve ortam adını gösterir.
Analiz durumunu doğrulama
Aşağıdaki curl
komutunu uygulayarak Postgres ve Qpid analiz sunucularının durumunu doğrulayabilirsiniz:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
Sistem, aşağıdaki örnekte gösterildiği gibi tüm analiz sunucuları için bir başarı durumu göstermelidir:
{ "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" }
PostgreSQL veritabanı
Bu bölümde, özellikle Postgres veritabanını izlemek için kullanabileceğiniz teknikler açıklanmaktadır.
check_postgres.pl
komut dosyasını kullanma
PostgreSQL veritabanını izlemek için standart bir izleme komut dosyası (check_postgres.pl
) kullanabilirsiniz. Daha fazla bilgi için http://bucardo.org/wiki/Check_postgres adresine bakın.
Komut dosyasını çalıştırmadan önce:
- check_postgres.pl komut dosyasını her Postgres düğümüne yüklemeniz gerekir.
- Yüksek çözünürlüklü alarm, uyku, gettimeofday ve aralık zamanlayıcıları uygulayan bir Perl modülü olan
perl-Time-HiRes.x86_64
'ü yüklediğinizden emin olun. Örneğin, aşağıdaki komutu kullanarak yükleyebilirsiniz:
yum install perl-Time-HiRes.x86_64
- CentOS 7: CentOS 7 sürümünde check_postgres.pl'yi kullanmadan önce
perl-Data-Dumper.x86_64
RPM'yi yükleyin.
check_postgres.pl çıkışı
check_postgres.pl
kullanan API çağrılarının varsayılan çıkışı, Nagios ile uyumludur. Komut dosyasını yükledikten sonra aşağıdaki kontrolleri yapın:
- Veritabanı boyutunu kontrol edin:
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'
- Veritabanına gelen bağlantıların sayısını kontrol edin ve izin verilen maksimum bağlantı sayısıyla karşılaştırın:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- Veritabanının çalışıp çalışmadığını ve kullanılabilir olup olmadığını kontrol edin:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- Disk alanını kontrol edin:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Bir Postgres düğümüne dahil edilen kuruluş ve ortam sayısını kontrol edin:
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
Veritabanı kontrolleri çalıştırma
PostgreSQL veritabanında doğru tabloların oluşturulduğunu doğrulayabilirsiniz. Aşağıdaki komutu kullanarak PostgreSQL veritabanına giriş yapın:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
Ardından şu komutu çalıştırın:
\d analytics."org.env.fact"
Postgres işleminin sağlık durumunu kontrol etme
Aşağıdaki curl
komutunu çağırarak Postgres makinesinde API kontrolleri yapabilirsiniz:
curl -v http://postgres_IP:8084/v1/servers/self/health
Bu komut, postgres işlemi etkinken ACTIVE
durumunu döndürür. Postgres işlemi çalışmıyorsa INACTIVE
durumunu döndürür.
Postgres kaynakları
Postgres hizmetini izleme hakkında daha fazla bilgi için aşağıdakilere bakın:
- 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
JConsole'u kullanma: Görev istatistiklerini izleme
JMX aracılığıyla sunulan JMX özelliklerini (MBeans) izlemek için JConsole'u ve aşağıdaki hizmet URL'sini kullanın:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
Buradaki IP_address, Cassandra sunucusunun IP adresidir.
JMX, Cassandra için varsayılan olarak etkindir ve Cassandra'ya uzak JMX erişimi için şifre gerekmez.
Cassandra JMX istatistikleri
JMX MBean'leri | JMX Özellikleri |
---|---|
ColumnFamilies/apprepo/environments ColumnAileler/apprepo/kuruluşlar ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
Küme düğümlerini yönetmek için nodetool'u kullanma
nodetool
yardımcı programı, Cassandra için küme düğümlerini yöneten bir komut satırı arayüzüdür. Yardımcı programı /opt/apigee/apigee-cassandra/bin
adresinde bulabilirsiniz.
Aşağıdaki çağrılar tüm Cassandra küme düğümlerinde yapılabilir:
- Genel halka bilgileri (tek Cassandra düğümü için de mümkündür): Tüm düğümlerde "Yüksek" ve "Normal" durumlarını arayın.
nodetool -h localhost ring
Yukarıdaki komutun çıktısı aşağıdaki gibi görünür:
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
- Düğümler hakkında genel bilgiler (düğüm başına çağrı)
nodetool -h localhost info
Yukarıdaki komutun çıktısı aşağıdaki gibi görünür:
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
- İkinci el sunucusunun durumu (istemci API'sini sunar)
nodetool -h localhost statusthrift
Yukarıdaki komutun çıktısı aşağıdaki gibi görünür:
running
- Veri akışı işlemlerinin durumu: Cassandra düğümlerinin trafiğini gözlemleyin:
nodetool -h localhost netstats
Yukarıdaki komutun çıktısı aşağıdaki gibi görünür:
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
nodetool
hakkında daha fazla bilgi için nodetool yardımcı programı hakkında başlıklı makaleyi inceleyin.
Cassandra izleme (kullanıcı arayüzü)
Datastax opscenter URL'sine bakın: http://www.datastax.com/products/opscenter.
Cassandra kaynağı
Şu URL'ye bakın: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache ZooKeeper
ZooKeeper durumunu kontrol etme
- ZooKeeper sürecinin çalıştığından emin olun. ZooKeeper,
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
dosyasına bir PID dosyası yazar. - Her ZooKeeper sunucusunda 2181 ve 3888 bağlantı noktalarına TCP bağlantısı kurabildiğinizden emin olmak için ZooKeeper bağlantı noktalarını test edin.
- ZooKeeper veritabanındaki değerleri okuyabildiğinizden emin olun. ZooKeeper istemci kitaplığı (veya
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) kullanarak bağlanın ve veritabanından bir değer okuyun. - Durumu kontrol edin:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper dört harfli kelimeleri kullanma
ZooKeeper, netcat (nc) veya telnet kullanılarak 2181 bağlantı noktasına gönderilen küçük bir komut grubu (dört harfli kelimeler) aracılığıyla izlenebilir.
ZooKeeper komutları hakkında daha fazla bilgi için: Apache ZooKeeper komut referansı başlıklı makaleyi inceleyin.
Örneğin:
srvr
: Sunucunun tüm ayrıntılarını listeler.stat
: Sunucu ve bağlı istemcilerle ilgili kısa ayrıntıları listeler.
ZooKeeper bağlantı noktasına aşağıdaki komutlar verilebilir:
- Sunucunun hata durumunda çalışıp çalışmadığını test etmek için dört harfli ruok komutunu çalıştırın. Başarılı bir yanıtta "imok" döndürülür.
echo ruok | nc host 2181
Şunu döndürür:
imok
- Sunucu performansını ve bağlı istemci istatistiklerini listelemek için dört harfli
stat
komutunu çalıştırın:echo stat | nc host 2181
Şunu döndürür:
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
- Netcat (nc) mevcut değilse python'u alternatif olarak kullanabilirsiniz. Aşağıdakileri içeren
zookeeper.py
adlı bir dosya oluşturun: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)
Ardından aşağıdaki Python satırlarını çalıştırın:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
LDAP düzey testi
Belirli isteklerin düzgün bir şekilde sunulup sunulmadığını görmek için OpenLDAP'yi izleyebilirsiniz. Diğer bir deyişle, doğru sonucu döndüren belirli bir arama olup olmadığını kontrol edin.
- Sistem yöneticisinin girişini sorgulamak için
ldapsearch
(yum install openldap-clients
) değerini kullanın. Bu giriş, tüm API çağrılarının kimliğini doğrulamak için kullanılır.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
Ardından LDAP yönetici şifresi istenir:
Enter LDAP Password:
Şifreyi girdikten sonra formda bir yanıt görürsünüz:
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
- Yönetim sunucusunun hâlâ LDAP'ye bağlı olup olmadığını aşağıdaki komutla kontrol edin:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Şunu döndürür:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Disk erişimleri sayısını azaltarak sistemin performansını artırmaya yardımcı olan OpenLDAP önbellekleri de izleyebilirsiniz. OpenLDAP sunucusunda önbellek boyutunun izlenmesi ve ayarlanması, dizin sunucusunun performansını önemli ölçüde etkileyebilir. Önbellek hakkında bilgi edinmek için günlük dosyalarını (opt/apigee/var/log
) görüntüleyebilirsiniz.