İzleme

Bu belgede, Apigee Edge for Private Cloud'un ş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 edinmek ve durumlarını kontrol etmek için çeşitli yöntemleri destekler. Aşağıdaki tabloda, her uygun hizmette gerçekleştirebileceğiniz kontrol türleri listelenmiştir:

Mgmt API
Bileşen Bellek Kullanımı [JMX*] Hizmet Kontrolü Kullanıcı/Kuruluş/ Dağıtım Durumu axstatus Veritabanı kontrolü apigee-service Durum apigee-monit**
Yönetim Sunucusu
Mesaj İşleyici
Yönlendirici
Qpid
Postgres
Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi

* JMX'i kullanabilmek için JMX'i etkinleştirme bölümünde açıklandığı gibi JMX'i etkinleştirmeniz gerekir.

** apigee-monit hizmeti, bir bileşenin çalışır durumda olup olmadığını kontrol eder ve çalışmıyorsa yeniden başlatmayı dener. Daha fazla bilgi için apigee-monit ile kendi kendini onarma başlıklı makaleyi inceleyin.

Bağlantı noktalarını ve yapılandırma dosyalarını izleme

Her bileşen, farklı bağlantı noktalarında Java Management Extensions (JMX) ve Management API izleme çağrılarını destekler. Aşağıdaki tabloda, her sunucu türü için JMX ve Management API bağlantı noktaları ile yapılandırma dosyası konumları listelenmiştir:

Bileşen JMX bağlantı noktası Management API Bağlantı Noktası Yapılandırma dosyası konumu
Yönetim Sunucusu 1099 8080 $APIGEE_ROOT/customer/application/management-server.properties
Mesaj İşleyici 1101 8082 $APIGEE_ROOT/customer/application/message-processor.properties
Yönlendirici 1100 8081 $APIGEE_ROOT/customer/application/router.properties
Qpid 1102 8083 $APIGEE_ROOT/customer/application/qpid-server.properties
Postgres 1103 8084 $APIGEE_ROOT/customer/application/postgres-server.properties

Bileşenleri izlemek için JMX'i kullanma

Aşağıdaki bölümlerde, Edge bileşenlerini izlemek için JMX'in nasıl kullanılacağı açıklanmaktadır.

JMX'i etkinleştirme

JMX'i kimlik doğrulama veya SSL tabanlı iletişim olmadan etkinleştirmek için aşağıdaki adımları uygulayın. Not: Üretim sistemlerinde güvenlik için hem şifrelenmiş kimlik doğrulama hem de SSL etkinleştirilmelidir.

  1. Uygun yapılandırma dosyasını düzenleyin ( Yapılandırma dosyası referansı bölümüne bakın). Yapılandırma dosyası yoksa oluşturun.
    conf_system_jmxremote_enable=true
  2. Yapılandırma dosyasını kaydedin ve dosyanın sahibi olduğundan emin olun.apigee:apigee
  3. Uygun Edge bileşenini yeniden başlatın.
    apigee-service edge-management-server restart

JMX'i devre dışı bırakmak için conf_system_jmxremote_enable özelliğini kaldırın veya değerini false olarak değiştirin. Ardından, uygun Edge bileşenini yeniden başlatın.

JMX'te kimlik doğrulama

Edge for Private Cloud, dosyalarda depolanan ayrıntıları kullanarak şifre tabanlı kimlik doğrulamayı destekler. Ek güvenlik için şifreleri karma olarak saklayabilirsiniz.

  1. Bir edge-* bileşeninde JMX kimlik doğrulamasını etkinleştirmek için uygun yapılandırma dosyasını düzenleyin (bkz. Yapılandırma dosyası referansı). Yapılandırma dosyası yoksa oluşturun:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_authenticate=true
    conf_system_jmxremote_encrypted_auth=true
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
    Yapılandırma dosyasını kaydedin ve dosyanın sahibi olarak apigee:apigee'ı ayarlayın.
  2. Şifrenin SHA256 karma değerini oluşturun:
    echo -n '' | openssl dgst -sha256
  3. JMX kullanıcı kimlik bilgilerini içeren bir jmxremote.password dosyası oluşturun:
    1. Aşağıdaki dosyaları $JAVA_HOME dizininizden /opt/apigee/customer/application/<component>/ dizinine kopyalayın:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. Dosyayı düzenleyin ve aşağıdaki söz dizimini kullanarak JMX kullanıcı adınızı ve şifrenizi ekleyin:
      USERNAME <HASH-PASSWORD>
    3. Dosyanın sahibi apigee olmalı ve dosya modu 400 olmalıdır:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. JMX kullanıcı izinleriyle bir jmxremote.access dosyası oluşturun:
    1. $JAVA_HOME dizininizdeki aşağıdaki dosyaları /opt/apigee/customer/application/<component>/ dizinine kopyalayın.
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
    2. Dosyayı düzenleyin ve JMX kullanıcı adınızı, ardından bir izin (READONLY/READWRITE) ekleyin.
      USERNAME READONLY
    3. Dosyanın sahibi apigee olmalı ve dosya modu 400 olmalıdır:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. İlgili Edge bileşenini yeniden başlatın:
    apigee-service edge-management-server restart

JMX kimlik doğrulamasını devre dışı bırakmak için conf_system_jmxremote_authenticate özelliğini kaldırın veya değeri false olarak değiştirip uygun Edge bileşenini yeniden başlatın.

JMX'te SSL

Bir edge-* bileşeninde SSL tabanlı JMX'i etkinleştirmek için:

  1. Uygun yapılandırma dosyasını düzenleyin ( Yapılandırma dosyası referansı bölümüne bakın). Yapılandırma dosyası yoksa oluşturun:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_ssl=true
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
    conf_system_javax_net_ssl_keystorepassword=<keystore-password>
    Yapılandırma dosyasını kaydedin ve dosyanın sahibi olarak apigee:apigee'ı seçin.
  2. Sunucu anahtarını içeren bir anahtar deposu hazırlayın ve yukarıdaki yapılandırmada conf_system_javax_net_ssl_keystore belirtilen yola yerleştirin. Anahtar deposu dosyasının apigee:apigee tarafından okunabildiğinden emin olun.
  3. İlgili Edge bileşenini yeniden başlatın:
    apigee-service edge-management-server restart

SSL tabanlı JMX'i devre dışı bırakmak için conf_system_jmxremote_ssl özelliğini kaldırın veya değeri false olarak değiştirin. İlgili Edge bileşenini yeniden başlatın.

JConsole ile izleme

Jconsole üzerinden izleme talimatları, https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole adresinde açıklandığı gibi aynı kalır.

"JMX için SSL etkinleştirilmişse jconsole'un truststore ve truststore şifresiyle başlatılması gerekir." şeklinde bir satır eklenebilir. Referans: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

JConsole ile izleme

Durum kontrolünü ve işlem istatistiklerini yönetmek ve izlemek için JConsole'u (JMX uyumlu bir araç) kullanın. JConsole ile sunucularınızın sunduğu JMX istatistiklerini kullanabilir ve bunları grafik arayüzünde görüntüleyebilirsiniz. Daha fazla bilgi için JConsole'u kullanma konusuna bakın.

JMX için SSL etkinleştirilmişse JConsole'u truststore ve truststore şifresiyle başlatmanız gerekir. JConsole'u kullanma başlıklı makaleyi inceleyin.

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:

Örneğin, Yönetim Sunucusu'nu izlemek için aşağıdaki gibi bir komut verin (sunucunun IP adresinin 216.3.128.12 olduğunu varsayarak):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

Bu örnekte, Yönetim Sunucusu JMX bağlantı noktası olan 1099 numaralı bağlantı noktasının belirtildiğ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 MBeans JMX Özellikleri

Bellek

HeapMemoryUsage

NonHeapMemoryUsage

Kullanım

Yapılandırma dosyası referansı

Aşağıdaki bölümlerde, JMX ile ilgili yapılandırmalar için Edge bileşeni yapılandırma dosyalarında yapmanız gerekebilecek değişiklikler açıklanmaktadır. Daha fazla bilgi için Bağlantı noktalarını ve yapılandırma dosyalarını izleme başlıklı makaleyi inceleyin.

Uygun bileşenin yapılandırma dosyasına eklenecek JMX yapılandırması

  • Edge bileşeninde JMX aracısını etkinleştirin. Varsayılan olarak yanlış (false) değerindedir.
    conf_system_jmxremote_enable=true

Şifre tabanlı kimlik doğrulama yapılandırmaları

  • Şifre tabanlı kimlik doğrulamayı etkinleştirin. Varsayılan olarak yanlış (false) değerindedir.
    conf_system_jmxremote_authenticate=true
  • Dosyaya erişim yolu. Yalnızca Apigee kullanıcısına ait olmalı ve yalnızca bu kullanıcı tarafından okunabilmelidir.
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
  • Şifre dosyasının yolu. Yalnızca Apigee kullanıcısına ait olmalı ve yalnızca bu kullanıcı tarafından okunabilmelidir.
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
  • Şifrenin şifrelenmiş biçimde depolanmasını etkinleştirin. Varsayılan olarak yanlış (false) değerindedir.
    conf_system_jmxremote_encrypted_auth=true

SSL tabanlı JMX için yapılandırmalar

  • JMX iletişimi için SSL'yi etkinleştirin. Varsayılan olarak yanlış (false) değerindedir.
    conf_system_jmxremote_ssl=true
  • Anahtar deposunun yolu. Yalnızca Apigee kullanıcısına ait olmalı ve yalnızca bu kullanıcı tarafından okunabilmelidir.
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
  • Anahtar deposu şifresi:
    conf_system_javax_net_ssl_keystorepassword=changeme

İsteğe bağlı JMX yapılandırmaları

Listelenen değerler varsayılan değerlerdir ve değiştirilebilir.

  • JMX bağlantı noktası. Varsayılan değerler aşağıdaki tabloda listelenmiştir.
    conf_system_jmxremote_port=
  • JMX RMI bağlantı noktası. Varsayılan olarak, Java işlemi rastgele bir bağlantı noktası seçer.
    conf_system_jmxremote_rmi_port=
  • Uzak saplamaların ana makine adı. Yerel ana makinenin varsayılan IP adresi.
    conf_system_java_rmi_server_hostname=
  • JMX kayıt defterini SSL ile koruyun. Varsayılan değer false'tur. Yalnızca SSL etkinse geçerlidir.
    conf_system_jmxremote_registry_ssl=false

Yönetim API'si ile izleme

Edge, sunucularınızda hizmet kontrolleri yapmanın 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

Yönetim API'si, 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 hizmetin söz konusu olduğuna ve nasıl kontrol ettiğinize bağlı olarak):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

Aşağıdakiler dahil olmak üzere hizmetle ilgili bilgileri döndürür:

  • Yapılandırma özellikleri
  • Başlangıç zamanı ve çalışma süresi
  • Derleme, BGBG ve UUID bilgileri
  • Dahili ve harici ana makine adı ve IP adresi
  • Bölge ve pod
  • Hizmetin çalışıp çalışmadığını belirten <isUp> özelliği

Bu API çağrısı için Apigee yönetici kimlik bilgilerinizle kimlik doğrulama yapmanı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, sunucunun IP adresinin yanı sıra kullanıcı adını ve şifreyi 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'si 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ı başlıklı makaleyi inceleyin.

Yanıtın biçimini değiştirmek için Accept üstbilgisini "application/json" veya "application/xml" olarak belirtebilirsiniz.

Aşağıdaki örnek, yerel ana makinedeki (bağlantı noktası 8081) yönlendiricinin durumunu alır:

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

Aşağıdaki örnekte, 216.3.128.12 adresindeki (8082 numaralı bağlantı noktası) ileti işlemcisi hakkında bilgi alınmaktadı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

Aşağıdaki komutları vererek Yönetim Sunucuları ve Mesaj İşleyiciler üzerindeki proxy'lerinizin kullanıcı, kuruluş ve dağıtım durumunu izlemek için Yönetim API'sini kullanabilirsiniz:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl 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 Mesaj İşleyici için 8082'dir.

Bu görüşme için sistem yönetimi kullanıcı adınız ve şifrenizle kimliğinizi doğrulamanız gerekir.

Sunucu, tüm çağrılar için "deployed" (dağıtıldı) durumunu döndürmelidir. Bunlar başarısız olursa aşağıdakileri yapın:

  1. 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
  2. Düzgün çalışıp çalışmadığını kontrol etmek için sunucuya karşı bir arama yapın.
  3. Sunucuyu ELB'den kaldırıp yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    Buradaki service_name şunlardan biridir:

    • 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 hizmetlerinizde sorun giderebilirsiniz.

apigee-service ile bir hizmetin durumunu kontrol etmek için:

  1. 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 biridir:

    • 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
  2. Hizmet çalışmıyorsa hizmeti başlatın:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. Hizmeti yeniden başlattıktan sonra, daha önce kullandığınız apigee-service status komutunu veya Yönetim API'si ile izleme bölümünde açıklanan Yönetim API'sini kullanarak hizmetin düzgün çalıştığını kontrol edin.

    Ö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, sunucuda oturum açtığınız ve ana makine adı olarak "localhost"u kullanabildiğiniz varsayılır. Durumu Yönetim API'si 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.

PostgreSQL'deki kuruluşları ve ortamları kontrol etme

Aşağıdaki curl komutunu vererek Postgres sunucusuna dahil edilen kuruluş ve ortam adlarını kontrol edebilirsiniz:

curl -v http://postgres_IP:8084/v1/servers/self/organizations

Sistem, kuruluşun ve ortamın adını göstermelidir.

Analiz durumunu doğrulama

Aşağıdaki curl komutunu vererek 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 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ı kullanabilirsiniz, check_postgres.pl. Daha fazla bilgi için http://bucardo.org/wiki/Check_postgres adresine bakın.

Komut dosyasını çalıştırmadan önce:

  1. check_postgres.pl komut dosyasını her Postgres düğümüne yüklemeniz gerekir.
  2. Yüksek çözünürlüklü alarm, uyku, gettimeofday ve aralıklı zamanlayıcıları uygulayan bir Perl modülü olan perl-Time-HiRes.x86_64'yı yüklediğinizden emin olun. Örneğin, aşağıdaki komutu kullanarak yükleyebilirsiniz:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: CentOS v7'de check_postgres.pl'yi kullanmadan önce perl-Data-Dumper.x86_64 RPM'yi yükleyin.

check_postgres.pl çıkışı

check_postgres.pl kullanılarak yapılan API çağrılarının varsayılan çıkışı Nagios ile uyumludur. Komut dosyasını yükledikten sonra aşağıdaki kontrolleri yapın:

  1. 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'
  2. 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
  3. 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
  4. 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%'
  5. 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ı kontrollerini çalıştırma

PostgreSQL veritabanında uygun 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 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 etkin olduğunda ACTIVE durumunu döndürür. Postgres işlemi çalışmıyorsa INACTIVE durumu döndürülür.

Postgres kaynakları

Postgres hizmetini izleme hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

Apache Cassandra

Cassandra için JMX varsayılan olarak etkindir ve Cassandra'ya uzaktan JMX erişimi için parola gerekmez.

Cassandra için JMX kimlik doğrulamasını etkinleştirme

Cassandra için JMX kimlik doğrulamasını etkinleştirebilirsiniz. Bunu yaptıktan sonra, nodetool yardımcı programına yapılan tüm çağrılara kullanıcı adı ve şifre iletmeniz gerekir.

Cassandra için JMX kimlik doğrulamasını etkinleştirmek üzere:

  1. cassandra.properties dosyasını oluşturma ve düzenleme:
    1. /opt/apigee/customer/application/cassandra.properties dosyasını düzenleyin. Dosya yoksa oluşturun.
    2. Dosyaya aşağıdakileri ekleyin:
      conf_cassandra_env_com.sun.management.jmxremote.authenticate=true
      conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password
      conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
    3. cassandra.properties dosyasını kaydedin.
    4. Aşağıdaki örnekte gösterildiği gibi dosyanın sahibini apigee:apigee olarak değiştirin:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

    Jettonları ayarlamak için özellik dosyalarını kullanma hakkında daha fazla bilgi edinmek istiyorsanız Edge'i yapılandırma başlıklı makaleyi inceleyin.

  2. jmx_auth.sh oluşturma ve düzenleme:
    1. Aşağıdaki konumda bir dosya oluşturun (yoksa):
      /opt/apigee/customer/application/jmx_auth.sh
    2. Dosyaya aşağıdaki özellikleri ekleyin:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. jmx_auth.sh dosyasını kaydedin.
    4. Dosyayı kaynaklayın:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. jmxremote.password dosyasını kopyalayıp düzenleyin:
    1. Aşağıdaki dosyayı $JAVA_HOME dizininizden /opt/apigee/customer/application/apigee-cassandra/ dizinine kopyalayın:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. jmxremote.password dosyasını düzenleyin ve aşağıdaki söz dizimini kullanarak JMX kullanıcı adınızı ve şifrenizi ekleyin:
      JMX_USERNAME JMX_PASSWORD

      Burada JMX_USERNAME ve JMX_PASSWORD, daha önce ayarladığınız JMX kullanıcı adı ve şifresidir.

    3. Dosyanın sahibi "apigee" olmalı ve dosya modu 400 olmalıdır:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. jmxremote.access dosyasını kopyalayıp düzenleyin:
    1. Aşağıdaki dosyayı $JAVA_HOME dizininizden /opt/apigee/customer/application/apigee-cassandra/ dizinine kopyalayın:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. jmxremote.access dosyasını düzenleyip aşağıdaki rolü ekleyin:
      JMX_USERNAME readwrite
    3. Dosyanın sahibi "apigee" olmalı ve dosya modu 400 olmalıdır:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. Cassandra'da configure komutunu çalıştırın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Cassandra'yı yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Bu işlemi diğer tüm Cassandra düğümlerinde tekrarlayın.

JMX şifre şifrelemesini etkinleştirme

JMX parola şifrelemesini etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Dosyayı açın source/conf/casssandra-env.sh.
  2. cassandra.properties dosyasını oluşturma ve düzenleme:
    1. /opt/apigee/customer/application/cassandra.properties dosyasını düzenleyin. Dosya yoksa oluşturun.
    2. Dosyaya aşağıdakileri ekleyin:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. cassandra.properties dosyasını kaydedin.
    4. Aşağıdaki örnekte gösterildiği gibi, dosyanın sahibini apigee:apigee olarak değiştirin:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. Komut satırında, aşağıdaki komutu girerek istediğiniz şifrelerin SHA1 karmalarını oluşturun: echo -n 'Secret' | openssl dgst -sha1
  4. $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (önceki bölümde oluşturulan) kullanıcı adıyla eşleşen şifreleri ayarlayın.
  5. Cassandra'da yapılandırma işlemini çalıştırın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Cassandra'yı yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Bu işlemi diğer tüm Cassandra düğümlerinde tekrarlayın.

Cassandra için SSL ile JMX'i etkinleştirme

SSL ile JMX'in etkinleştirilmesi, Cassandra ile JMX tabanlı iletişim için ek güvenlik ve şifreleme sağlar. SSL ile JMX'i etkinleştirmek için Cassandra'ya SSL tabanlı JMX bağlantılarını kabul etmesi için bir anahtar ve sertifika sağlamanız gerekir. Ayrıca nodetool'u (ve JMX üzerinden Cassandra ile iletişim kuran diğer tüm araçları) SSL için yapılandırmanız gerekir.

SSL'nin etkinleştirildiği JMX, hem düz metin hem de şifrelenmiş JMX şifrelerini destekler.

Cassandra için SSL ile JMX'i etkinleştirmek üzere aşağıdaki prosedürü kullanın:

  1. JMX'i etkinleştirin. Gerekirse şifre şifrelemeyi etkinleştirin.
  2. Cassandra için JMX kimlik doğrulamasını etkinleştirin. Yukarıda açıklandığı şekilde. Nodetool'un yapılandırılmış kullanıcı adı ve şifreyle çalıştığından emin olun.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. Anahtar deposunu ve güven deposunu hazırlayın.

    • Anahtar deposu bir anahtar ve sertifika içermeli ve Cassandra sunucusunu yapılandırmak için kullanılmalıdır. Anahtar deposu birden fazla anahtar çifti içeriyorsa Cassandra, SSL'yi etkinleştirmek için ilk anahtar çiftini kullanır.

      Anahtar deposu ve anahtar şifrelerinin aynı olması gerektiğini unutmayın (anahtarı keytool kullanarak oluşturduğunuzda varsayılan olarak aynı olur).

    • Güvenilir sertifika deposu yalnızca sertifikayı içermeli ve JMX üzerinden bağlanmak için istemciler (apigee-service tabanlı komutlar veya nodetool) tarafından kullanılmalıdır.

    Yukarıdaki koşulları doğruladıktan sonra:

    1. Anahtar deposu dosyasını /opt/apigee/customer/application/apigee-cassandra/ konumuna yerleştirin.
    2. Aşağıdaki komutu girerek anahtar deposu dosyasının yalnızca Apigee kullanıcısı tarafından okunabildiğinden emin olun:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
  4. Aşağıdaki adımları uygulayarak Cassandra'yı SSL ile JMX için yapılandırın:
    1. Aşağıdaki komutu girerek Cassandra düğümünü durdurun:
      apigee-service apigee-cassandra stop
    2. /opt/apigee/customer/application/cassandra.properties dosyasını açıp aşağıdaki satırları ekleyerek Cassandra'da SSL'yi etkinleştirin:
      conf_cassandra_env_com.sun.management.jmxremote.ssl=true
      conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1
      conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password
      ## On FIPS enabled systems, when you are using non standard keystore, set the following:
      ## These can be skipped otherwise
      ## Possible values are JKS, PKCS12, BCFKS
      conf_cassandra_env_javax.net.ssl.keyStoreType=PKCS12
      conf_cassandra_env_javax.net.ssl.keyStoreAlias=cassjmx-tls-alias
    3. Aşağıdaki örnekte gösterildiği gibi, dosyanın sahibini apigee:apigee olarak değiştirin:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. Cassandra'da yapılandırma işlemini çalıştırın:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. Cassandra'yı yeniden başlatın:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. Bu işlemi diğer tüm Cassandra düğümlerinde tekrarlayın.
    7. Cassandra düğümünü başlatmak için
      apigee-service apigee-cassandra start
  5. apigee-service Cassandra komutlarını yapılandırın. Aşağıdakiler de dahil olmak üzere apigee-service komutlarını çalıştırırken belirli ortam değişkenlerini ayarlamanız gerekir:
    apigee-service apigee-cassandra stop
    apigee-service apigee-cassandra wait_for_ready
    apigee-service apigee-cassandra ring
    apigee-service apigee-cassandra backup

    JMX kimlik doğrulaması ve SSL için apigee-service yapılandırmanın çeşitli yolları vardır. Kullanılabilirlik ve güvenlik uygulamalarınıza göre bir seçenek belirleyin.

    1. seçenek (SSL bağımsız değişkenleri dosyada depolanır)

    Aşağıdaki ortam değişkenlerini ayarlayın:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y

    Apigee kullanıcısının ana dizininde (/opt/apigee) bir dosya oluşturun.

    $HOME/.cassandra/nodetool-ssl.properties

    Dosyayı düzenleyerek aşağıdaki satırları ekleyin:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true
    ## If you are using a non standard truststore, set below, otherwise skip
    ## Possible values are JKS, PKCS12, BCFKS
    -Djavax.net.ssl.trustStoreType=PKCS12

    Güven deposu dosyasının Apigee kullanıcısı tarafından okunabildiğinden emin olun.

    Aşağıdaki apigee-service komutunu çalıştırın. Hatasız çalışıyorsa yapılandırmalarınız doğrudur.

    apigee-service apigee-cassandra ring

    2. seçenek (SSL bağımsız değişkenleri ortam değişkenlerinde depolanır)

    Aşağıdaki ortam değişkenlerini ayarlayın:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y
    # Ensure the truststore file is accessible by Apigee user.
    export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1>
    export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password>
    # If you are using a non standard truststore type, export truststore type as well
    # Possible values are JKS, PKCS12, BCFKS
    export CASS_JMX_TRUSTSTORE_TYPE=PKCS12

    Aşağıdaki apigee-service komutunu çalıştırın. Hatasız çalışıyorsa yapılandırmalarınız doğrudur.

    apigee-service apigee-cassandra ring

    3. seçenek (SSL bağımsız değişkenleri doğrudan apigee-service'ya aktarılır)

    Aşağıdaki gibi bir apigee-service komutu çalıştırın. Herhangi bir ortam değişkeni yapılandırmanız gerekmez.

    CASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> CASS_JMX_TRUSTSTORE_TYPE=PKCS12 /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. Nodetool'u ayarlayın. Nodetool, JMX parametrelerinin kendisine iletilmesini gerektirir. Aşağıdaki yapılandırma seçeneklerinde açıklandığı gibi, nodetool'u SSL etkin JMX ile çalışacak şekilde yapılandırmanın iki yolu vardır:

    Seçenekler, SSL ile ilgili yapılandırmaların nodetool'a aktarılma şekli bakımından farklılık gösterir. Her iki durumda da nodetool'u çalıştıran kullanıcının güvenli depo dosyasında OKUMA izni olmalıdır. Kullanılabilirlik ve güvenlik uygulamalarınıza göre uygun bir seçenek belirleyin.

    Nodetool parametreleri hakkında daha fazla bilgi edinmek için DataStax belgelerine göz atın.

    Yapılandırma Seçeneği 1

    Nodetool'u çalıştıran kullanıcının ana dizininde bir dosya oluşturun.

    $HOME/.cassandra/nodetool-ssl.properties

    Dosyaya aşağıdaki satırları ekleyin:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true
    ## If you are using a non standard truststore, set below, otherwise skip
    ## Possible values are JKS, PKCS12, BCFKS
    -Djavax.net.ssl.trustStoreType=PKCS12

    Yukarıda belirtilen güven deposu yoluna, nodetool'u çalıştıran tüm kullanıcılar erişebilmelidir.

    nodetool'yı --ssl seçeneğiyle çalıştırın.

    /opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

    2. yapılandırma seçeneği

    nodetool komutunu aşağıda listelenen ek parametrelerle birlikte tek bir komut olarak çalıştırın.

    /opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

SSL yapılandırmalarını geri döndürme

Yukarıdaki prosedürde açıklanan SSL yapılandırmalarını geri döndürmeniz gerekirse aşağıdaki adımları uygulayın:

  1. apigee-cassandra yazarak durdurma
    apigee-service apigee-cassandra stop
  2. conf_cassandra-env_com.sun.management.jmxremote.ssl=true satırını /opt/apigee/customer/application/cassandra.properties dosyasından kaldırın.
  3. /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh dosyasında aşağıdaki satırları yorum satırı yapın.
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0"
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass"
    # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
  4. apigee-cassandra tarihine kadar etkinleştirmek için
  5. apigee-service apigee-cassandra start
  6. Ayarlanmışsa CASS_JMX_SSL ortam değişkenini kaldırın.

    unset CASS_JMX_SSL
  7. apigee-service tabanlı komutların (ör. ring, stop, backup) çalıştığını kontrol edin.
  8. Nodetool ile --ssl anahtarını kullanmayı bırakma

Cassandra için JMX kimlik doğrulamasını devre dışı bırakma

Cassandra için JMX kimlik doğrulamasını devre dışı bırakmak üzere:

  1. /opt/apigee/customer/application/cassandra.properties öğesini düzenle.
  2. Dosyadaki aşağıdaki satırı kaldırın:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. Cassandra'da yapılandırma işlemini çalıştırın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. Cassandra'yı yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. Bu işlemi diğer tüm Cassandra düğümlerinde tekrarlayın.

JConsole'u kullanma: Görev istatistiklerini izleme

JMX üzerinden 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'sidir.

Cassandra JMX istatistikleri

JMX MBeans JMX Özellikleri

ColumnFamilies/apprepo/environments

ColumnFamilies/apprepo/organizations

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. Bu yardımcı programı /opt/apigee/apigee-cassandra/bin adresinde bulabilirsiniz.

Aşağıdaki aramalar tüm Cassandra küme düğümlerinde yapılabilir:

  1. Genel halka bilgileri (tek bir Cassandra düğümü için de mümkündür): Tüm düğümler için "Up" (Yukarı) ve "Normal" (Normal) değerlerini arayın.
    nodetool [-u username -pw password] -h localhost ring

    Yalnızca Cassandra için JMX kimlik doğrulamasını etkinleştirdiyseniz kullanıcı adınızı ve şifrenizi iletmeniz gerekir.

    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
  2. Düğümler hakkında genel bilgiler (düğüm başına çağrı)
    nodetool [-u username -pw password]  -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
  3. Thrift sunucusunun durumu (istemci API'si sunma)
    nodetool [-u username -pw password] -h localhost statusthrift

    Yukarıdaki komutun çıktısı aşağıdaki gibi görünür:

    running
  4. Veri akışı işlemlerinin durumu: Cassandra düğümlerinin trafiğini gözlemleyin:
    nodetool [-u username -pw password] -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 About the nodetool utility (Nodetool yardımcı programı hakkında) başlıklı makaleyi inceleyin.

Cassandra kaynağı

Şu URL'ye bakın: http://www.datastax.com/docs/1.0/operations/monitoring.

Apache Qpid Broker-J'yi izleme

Qpid Broker-J'yi Qpid yönetim konsolundan izleyebilirsiniz. Bu bölümde, konsola nasıl erişileceği ve temel izleme işlevlerini gerçekleştirmek için nasıl kullanılacağı açıklanmaktadır. Yönetim konsolunu kullanma hakkında daha ayrıntılı bilgi için Apache Qpid belgelerindeki Web Yönetim Konsolu bölümüne bakın.

Yönetim konsoluna erişme

Varsayılan yönetim konsolu bağlantı noktası 8090'dır. Bu varsayılan bağlantı noktasında konsola erişmek için web tarayıcınızı şu adrese yönlendirin:

http://QPID_NODE_IP:8090

Konsola giriş yapmak için Apigee tarafından ayarlanan varsayılan kimlik bilgilerini veya Edge yapılandırma dosyasında ayarlanan kimlik bilgilerini kullanın. Ayrıntılar için Edge yapılandırma dosyası referansı başlıklı makaleyi inceleyin.

Sıraları ve mesajları izleme

Sol gezinme panelinde Java-Broker > virtualhosts > queues'a gidin. Kuyruğun ayrıntılarını kullanıcı arayüzünün ana bölümünde görüntülemek için bir kuyruk seçin. Ayrıntılar görünümünde, teslim edilen iletiler, sıraya alınan iletiler ve ileti hızları gibi bilgilerin yer aldığı Kuyruk Özellikleri ve İstatistikleri'ni görebilirsiniz.

Günlük dosyalarını görüntüleme ve indirme

Sol gezinme panelinde Java-Broker > brokerloggers > logfile'a gidin. Ana kullanıcı arayüzü ayrıntıları görünümünde günlük dosyası ayrıntılarını görüntüleyebilir ve günlük dosyalarını indirebilirsiniz.

Qpid yönetim API'sini kullanma

Yönetim görevlerini otomatikleştirmek ve aracıyı izlemek için Apache Qpid Broker-J REST API'yi kullanabilirsiniz. Ayrıntılar için Apache Qpid Broker REST API belgelerine bakın.

Aracıyı izlemek için komut satırı araçlarını da kullanabilirsiniz. Örneğin:

curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"

Qpid için SSL ile izlemeyi etkinleştirme

İzleme ve yönetim için ek güvenlik sağlamak amacıyla Qpid'in Yönetim Portalı'nda ve Qpid'in Yönetim API'lerinde SSL'yi etkinleştirin. Anahtar ve sertifika sağlamak için aşağıdaki yönergeleri uygulayın.

Qpid, Apigee'de etkinleştirilen bir Dosya Anahtar Deposu seçeneği sunar. Bu tür, Java ve keytool gibi Java araçları tarafından anlaşılan standart JKS anahtar deposu biçimini kabul eder. Ayrıca, OpenSSL gibi araçlar kullanılarak oluşturulabilen bir PKCS12 anahtar deposunu da kabul edebilir.

Anahtar deposu hazırlığı

Anahtar depoları oluşturma hakkında bilgi için Java Keytool Belgeleri'ne bakın.

PKCS12 anahtar depoları oluşturma hakkında bilgi edinmek için OpenSSL Belgeleri'ne bakın.

Şartlar doğrulandıktan sonra

  1. Anahtar deposu dosyasını /opt/apigee/customer/application/apigee-qpidd konumuna yerleştirin.
  2. Anahtar deposu dosyasının yalnızca Apigee kullanıcısı tarafından okunabildiğinden emin olun:
    chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
      chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore

Qpid'de SSL'yi etkinleştirme

Aşağıdaki adımları her seferinde bir Qpid düğümünde uygulayın:

/opt/apigee/customer/application/qpidd.properties dosyasını açın ve aşağıdaki satırları ekleyin:

conf_qpidd_qpid_management.https.enabled=true
conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
conf_qpidd_qpid.keystore.password=keystore-password
conf_qpidd_qpid.keystore.certificateAlias=certificate-alias
## If you are using a PKCS12 keystore, specify the keystore type
conf_qpidd_qpid.keystore.keyStoreType=PKCS12
  1. Dosyanın sahibini apigee:apigee olarak değiştirin:
    chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
  2. Qpidd'yi yapılandırma:
    apigee-service apigee-qpidd configure
  3. Qpidd'i yeniden başlatın:
    apigee-service apigee-qpidd restart
  4. wait_for_ready ile durumu kontrol edin:
    apigee-service apigee-qpidd wait_for_ready

SSL yapılandırmasını geri döndürme

/opt/apigee/customer/application/qpidd.properties dosyasındaki özellikleri kaldırın veya yorum satırı yapın:

conf_qpidd_qpid_management.https.enabled=true
conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
  1. Qpidd'yi yapılandırma:
    apigee-service apigee-qpidd configure
  2. Qpidd'i yeniden başlatın:
    apigee-service apigee-qpidd restart
  3. wait_for_ready ile durumu kontrol edin:
    apigee-service apigee-qpidd wait_for_ready

Apache ZooKeeper

ZooKeeper durumunu kontrol etme

  1. ZooKeeper işleminin çalıştığından emin olun. ZooKeeper, opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid konumuna bir PID dosyası yazar.
  2. Her ZooKeeper sunucusunda 2181 ve 3888 numaralı bağlantı noktalarına TCP bağlantısı kurabildiğinizden emin olmak için ZooKeeper bağlantı noktalarını test edin.
  3. 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.
  4. Durumu kontrol edin:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

ZooKeeper dört harfli kelimelerini kullanma

ZooKeeper, netcat (nc) veya telnet kullanılarak 2181 numaralı 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ı makaleye bakın.

Örneğin:

  • srvr: Sunucuyla ilgili tüm ayrıntıları listeler.
  • stat: Sunucu ve bağlı istemcilerle ilgili kısa bilgileri listeler.

ZooKeeper bağlantı noktasına aşağıdaki komutlar verilebilir:

  1. Sunucunun hatasız durumda çalışıp çalışmadığını test etmek için dört harfli ruok komutunu çalıştırın. Başarılı bir yanıt "imok" döndürür.
    echo ruok | nc host 2181

    Şunu döndürür:

    imok
  2. Sunucu performansı ve bağlı istemci istatistiklerini listelemek için dört harfli komutu (stat) ç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
  3. Netcat (nc) kullanılamıyorsa alternatif olarak Python'ı 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)

    Şimdi 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 şekilde sunulup sunulmadığını görmek için SymasLDAP'yi izleyebilirsiniz. Başka bir deyişle, doğru sonucu döndüren belirli bir aramayı kontrol edin.

  1. Sistem yöneticisinin girişini sorgulamak için ldapsearch (yum install symasldap-clients) kullanın. Bu giriş, tüm API çağrılarının kimliğini doğrulamak için kullanılır.
    /opt/symas/bin/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 şifresini girmeniz istenir:

    Enter LDAP Password:

    Şifreyi girdikten sonra aşağıdaki gibi 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
  2. Aşağıdaki komutla Yönetim Sunucusu'nun LDAP'ye bağlı olup olmadığını kontrol edin:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    Şunu döndürür:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

Ayrıca, disk erişimlerinin sayısını azaltmaya yardımcı olan ve dolayısıyla sistemin performansını artıran SymasLDAP önbelleklerini de izleyebilirsiniz. SymasLDAP sunucusunda önbellek boyutunu izleyip ayarlamak, dizin sunucusunun performansını büyük ölçüde etkileyebilir. Önbellekle ilgili bilgi edinmek için günlük dosyalarını (opt/apigee/var/log) görüntüleyebilirsiniz.