Monitoring

In diesem Dokument werden die Monitoringtechniken von Komponenten beschrieben, die von einer lokalen Bereitstellung von Apigee Edge für Private Cloud unterstützt werden.

Überblick

Edge unterstützt mehrere Möglichkeiten zum Abrufen von Details zu Diensten sowie zum Überprüfen ihres Status. In der folgenden Tabelle sind die Arten von Prüfungen aufgeführt, die Sie für die einzelnen zulässigen Dienste durchführen können:

Verwaltungs-API
Komponente Arbeitsspeichernutzung [JMX*] Dienstprüfung Nutzer/Organisation/ Bereitstellungsstatus axstatus Datenbankprüfung apigee-service-Status apigee-monit**
Verwaltungsserver
Message Processor
Router
QpID
Postgres
Weitere Informationen Weitere Informationen Weitere Informationen Weitere Informationen Weitere Informationen Weitere Informationen Weitere Informationen

* Bevor Sie JMX verwenden können, müssen Sie es aktivieren, wie unter JMX aktivieren beschrieben.

** Der Dienst apigee-monit prüft, ob eine Komponente aktiv ist, und versucht, sie neu zu starten, falls nicht. Weitere Informationen finden Sie unter Selbstheilung mit Apigee-monit.

Monitoringports und Konfigurationsdateien

Jede Komponente unterstützt Monitoringaufrufe der Java Management Extensions (JMX) und der Management API an verschiedenen Ports. In der folgenden Tabelle sind die JMX- und Management API-Ports für jeden Servertyp sowie die Speicherorte der Konfigurationsdateien aufgeführt:

Komponente JMX-Port Management API-Port Speicherort der Konfigurationsdatei
Verwaltungsserver 1099 8080 $APIGEE_ROOT/customer/application/management-server.properties
Message Processor 1101 8082 $APIGEE_ROOT/customer/application/message-processor.properties
Router 1.100 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

Komponenten mit JMX überwachen

In den folgenden Abschnitten wird erläutert, wie Sie mit JMX Edge-Komponenten überwachen.

JMX aktivieren

Führen Sie die folgenden Schritte aus, um JMX ohne Authentifizierung oder SSL-basierte Kommunikation zu aktivieren. Hinweis: In Produktionssystemen sollten sowohl die verschlüsselte Authentifizierung als auch SSL aus Sicherheitsgründen aktiviert sein.

  1. Bearbeiten Sie die entsprechende Konfigurationsdatei (siehe Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie noch nicht vorhanden ist.
    conf_system_jmxremote_enable=true
  2. Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sie Inhaber von apigee:apigee ist.
  3. Starten Sie die entsprechende Edge-Komponente neu
    apigee-service edge-management-server restart

Entfernen Sie entweder das Attribut conf_system_jmxremote_enable oder ändern Sie seinen Wert in false, um JMX zu deaktivieren. Starten Sie dann die entsprechende Edge-Komponente neu.

Authentifizierung in JMX

Edge for Private Cloud unterstützt die passwortbasierte Authentifizierung mit in Dateien gespeicherten Details. Sie können Passwörter als Hash speichern, um die Sicherheit zu erhöhen.

  1. Bearbeiten Sie die entsprechende Konfigurationsdatei, um die JMX-Authentifizierung in einer Edge-*-Komponente zu aktivieren (siehe Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie noch nicht vorhanden ist:
    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
    Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sie apigee:apigee gehört.
  2. Erstellen Sie einen SHA-256-Hash des Passworts:
    echo -n '' | openssl dgst -sha256
  3. Erstellen Sie eine jmxremote.password-Datei mit JMX-Nutzeranmeldedaten:
    1. Kopieren Sie die folgenden Dateien aus dem Verzeichnis $JAVA_HOME in das Verzeichnis /opt/apigee/customer/application/<component>/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. Bearbeiten Sie die Datei und fügen Sie Ihren JMX-Nutzernamen und Ihr Passwort mit der folgenden Syntax hinzu:
      USERNAME <HASH-PASSWORD>
    3. Prüfen Sie, ob der Dateieigentümer apigee ist und der Dateimodus „400“ lautet:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. Erstellen Sie eine jmxremote.access-Datei mit JMX-Nutzerberechtigungen:
    1. Kopieren Sie die folgenden Dateien aus dem Verzeichnis $JAVA_HOME in das Verzeichnis /opt/apigee/customer/application/<component>/
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
    2. Bearbeiten Sie die Datei und fügen Sie Ihren JMX-Nutzernamen gefolgt von einer Berechtigung hinzu (READONLY/READWRITE)
      USERNAME READONLY
    3. Prüfen Sie, ob der Dateieigentümer apigee ist und der Dateimodus „400“ lautet:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. Starten Sie die entsprechende Edge-Komponente neu:
    apigee-service edge-management-server restart

Entfernen Sie entweder das Attribut conf_system_jmxremote_authenticate oder ändern Sie den Wert in false und starten Sie die entsprechende Edge-Komponente neu, um die JMX-Authentifizierung zu deaktivieren.

SSL in JMX

So aktivieren Sie SSL-basiertes JMX in einer Edge-*-Komponente:

  1. Bearbeiten Sie die entsprechende Konfigurationsdatei (siehe Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie noch nicht vorhanden ist:
    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>
    Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sie apigee:apigee gehört.
  2. Bereiten Sie einen Schlüsselspeicher mit dem Serverschlüssel vor und platzieren Sie ihn unter dem Pfad, der oben in der Konfiguration conf_system_javax_net_ssl_keystore angegeben ist. Sorgen Sie dafür, dass die Schlüsselspeicherdatei für apigee:apigee lesbar ist.
  3. Starten Sie die entsprechende Edge-Komponente neu:
    apigee-service edge-management-server restart

Entfernen Sie entweder das Attribut conf_system_jmxremote_ssl oder ändern Sie den Wert in false, um die SSL-basierte JMX zu deaktivieren. Starten Sie die entsprechende Edge-Komponente neu.

Überwachung über Jconsole

Die Überwachungsanweisungen über jconsole bleiben unverändert, wie unter https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole beschrieben.

Sie können eine Zeile hinzufügen, die besagt, dass jconsole mit dem Truststore und dem Truststore-Passwort gestartet werden muss, wenn SSL für JMX aktiviert ist. Referenz: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

Monitoring mit JConsole

Verwenden Sie die JConsole (ein JMX-kompatibles Tool), um die Systemdiagnose und die Verarbeitungsstatistiken zu verwalten und zu überwachen. Mit der JConsole können Sie von Ihren Servern bereitgestellte JMX-Statistiken abrufen und auf einer grafischen Benutzeroberfläche darstellen. Weitere Informationen finden Sie unter JConsole verwenden.

Sie müssen die JConsole mit Truststore und Truststore-Passwort starten, wenn SSL für JMX aktiviert ist. Siehe JConsole verwenden.

Die JConsole verwendet die folgende Dienst-URL, um die über JMX angebotenen JMX-Attribute (MBeans) zu überwachen:

service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi

Wobei:

  • IP_address ist die IP-Adresse des Servers, den Sie überwachen möchten.
  • port_number ist die JMX-Portnummer des Servers, den Sie überwachen möchten.

Zur Überwachung des Management Servers können Sie beispielsweise einen Befehl wie den folgenden verwenden (vorausgesetzt die IP-Adresse des Servers lautet 216.3.128.12):

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

Beachten Sie, dass in diesem Beispiel Port 1099 angegeben ist, bei dem es sich um den JMX-Port des Verwaltungsservers handelt. Informationen zu anderen Ports finden Sie unter Monitoring-Ports für JMX und Management API.

Die folgende Tabelle zeigt die allgemeinen JMX-Statistiken:

JMX-MBeans JMX-Attribute

Informationen merken

HeapMemoryUsage

NonHeapMemoryUsage

Nutzung

Konfigurationsdateireferenz

In den folgenden Abschnitten werden Änderungen beschrieben, die Sie möglicherweise an den Konfigurationsdateien der Edge-Komponenten für JMX-bezogene Konfigurationen vornehmen müssen. Weitere Informationen finden Sie unter Monitoring-Ports und Konfigurationsdateien.

JMX-Konfiguration, die der Konfigurationsdatei der entsprechenden Komponente hinzugefügt wird

  • JMX-Agent auf der Edge-Komponente aktivieren. Standardmäßig „False“.
    conf_system_jmxremote_enable=true

Konfigurationen für die passwortbasierte Authentifizierung

  • Aktivieren Sie die passwortbasierte Authentifizierung. Standardmäßig „False“.
    conf_system_jmxremote_authenticate=true
  • Pfad zur Zugriffsdatei. Sie sollte nur Apigee-Nutzern gehören und von diesem gelesen werden können.
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
  • Pfad zur Passwortdatei. Sie sollte nur Apigee-Nutzern gehören und von diesem gelesen werden können.
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
  • Speichern von Passwörtern im verschlüsselten Format aktivieren. Standardmäßig „False“.
    conf_system_jmxremote_encrypted_auth=true

Konfigurationen für SSL-basierte JMX

  • SSL für die JMX-Kommunikation aktivieren. Standardmäßig „False“.
    conf_system_jmxremote_ssl=true
  • Pfad zum Schlüsselspeicher. Sie sollte nur Apigee-Nutzern gehören und von diesem gelesen werden können.
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
  • Schlüsselspeicher-Passwort:
    conf_system_javax_net_ssl_keystorepassword=changeme

Optionale JMX-Konfigurationen

Bei den aufgeführten Werten handelt es sich um Standardwerte, die geändert werden können.

  • JMX-Port. Die Standardwerte sind in der Tabelle unten aufgeführt.
    conf_system_jmxremote_port=
  • JMX RMI-Port. Standardmäßig wählt der Java-Prozess einen zufälligen Port aus.
    conf_system_jmxremote_rmi_port=
  • Der Hostname für Remote-Stubs. Standard-IP-Adresse von localhost.
    conf_system_java_rmi_server_hostname=
  • Schützen Sie die JMX-Registry mit SSL. Standardeinstellung ist „false“. Gilt nur, wenn SSL aktiviert ist.
    conf_system_jmxremote_registry_ssl=false

Mit der Management API überwachen

Edge enthält mehrere APIs, mit denen Sie Dienstprüfungen auf Ihren Servern sowie Nutzer, Organisationen und Bereitstellungen ausführen können. In diesem Abschnitt werden diese APIs beschrieben.

Dienstprüfungen durchführen

Die Management API bietet mehrere Endpunkte für das Monitoring und die Diagnose von Problemen mit Ihren Diensten. Zu diesen Endpunkten gehören:

Endpunkt Beschreibung
/servers/self/up

Prüft, ob ein Dienst ausgeführt wird. Für diesen API-Aufruf ist keine Authentifizierung erforderlich.

Wenn der Dienst ausgeführt wird, gibt dieser Endpunkt die folgende Antwort zurück:

<ServerField>
  <Up>true</Up>
</ServerField>

Wenn der Dienst nicht ausgeführt wird, erhalten Sie eine Antwort ähnlich der folgenden (je nachdem, um welchen Dienst es sich handelt und wie Sie ihn geprüft haben):

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

Gibt Informationen zum Dienst zurück, einschließlich:

  • Konfigurationsattribute
  • Beginn und Betriebszeit
  • Build-, RPM- und UUID-Informationen
  • Interner und externer Hostname und IP-Adresse
  • Region und Pod
  • Das Attribut <isUp>, das angibt, ob der Dienst ausgeführt wird

Für diesen API-Aufruf müssen Sie sich mit Ihren Apigee-Administratoranmeldedaten authentifizieren.

Um diese Endpunkte zu verwenden, rufen Sie ein Dienstprogramm wie curl mit Befehlen auf, die die folgende Syntax verwenden:

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]"

Wobei:

  • host ist die IP-Adresse des Servers, den Sie prüfen möchten. Wenn Sie beim Server angemeldet sind, können Sie „localhost“ verwenden. Geben Sie andernfalls die IP-Adresse des Servers sowie den Nutzernamen und das Passwort an.
  • port_number ist der Management API-Port für den Server, den Sie prüfen möchten. Dies ist ein anderer Port für jeden Komponententyp. Der Port der Management API des Managementservers ist beispielsweise 8080. Eine Liste der zu verwendenden Management API-Portnummern finden Sie unter Monitoring-Ports für die JMX und die Management API.

Wenn Sie das Format der Antwort ändern möchten, können Sie den Accept-Header als „application/json“ oder „application/xml“ angeben.

Im folgenden Beispiel wird der Status des Routers auf localhost (Port 8081) abgerufen:

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

Im folgenden Beispiel werden Informationen zum Message Processor unter 216.3.128.12 (Port 8082) abgerufen:

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

Nutzer-, Organisations- und Bereitstellungsstatus im Blick behalten

Sie können die Management API verwenden, um den Nutzer-, Organisations- und Bereitstellungsstatus Ihrer Proxys auf Managementservern und Message Processorn zu überwachen, indem Sie die folgenden Befehle ausführen:

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

Dabei ist port_number entweder 8080 für den Verwaltungsserver oder 8082 für den Message Processor.

Für diesen Aufruf müssen Sie sich mit Ihrem Nutzernamen und Ihrem Passwort für die Systemverwaltung authentifizieren.

Der Server sollte bei allen Aufrufen den Status „bereitgestellt“ zurückgeben. Wenn diese nicht funktionieren, gehen Sie so vor:

  1. Prüfen Sie die Serverprotokolle auf Fehler. Die Protokolle befinden sich unter:
    • Verwaltungsserver: opt/apigee/var/log/edge-management-server
    • Message Processor: opt/apigee/var/log/edge-message-processor
  2. Rufe den Server auf, um zu prüfen, ob er ordnungsgemäß funktioniert.
  3. Entfernen Sie den Server aus dem ELB und starten Sie ihn dann neu:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    Wo service_name Folgendes ist:

    • edge-management-server
    • edge-message-processor

Status mit dem Befehl apigee-service prüfen

Sie können Fehler bei Ihren Edge-Diensten mit dem Befehl apigee-service beheben, wenn Sie bei dem Server angemeldet sind, auf dem der Dienst ausgeführt wird.

So prüfen Sie den Status eines Dienstes mit apigee-service:

  1. Melden Sie sich beim Server an und führen Sie den folgenden Befehl aus:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    Dabei kann service_name für folgendes stehen:

    • Verwaltungsserver: edge-management-server
    • Message Processor: edge-message-processor
    • Postgres: edge-postgres-server
    • Qpid: edge-qpid-server
    • Router: edge-router

    Beispiel:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. Wenn der Dienst nicht ausgeführt wird, starten Sie ihn:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. Prüfen Sie nach dem Neustart des Dienstes, ob er funktioniert. Verwenden Sie dazu entweder den zuvor verwendeten apigee-service status-Befehl oder die Management API, die unter Mit der Management API überwachen beschrieben wird.

    Beispiel:

    curl -v http://localhost:port_number/v1/servers/self/up

    Dabei ist port_number der Port der Management API für den Dienst.

    In diesem Beispiel wird davon ausgegangen, dass Sie beim Server angemeldet sind und „localhost“ als Hostname verwenden können. Wenn Sie den Status remote mit der Management API prüfen möchten, müssen Sie die IP-Adresse des Servers angeben und den Nutzernamen und das Passwort des Systemadministrators in Ihren API-Aufruf aufnehmen.

Postgres-Monitoring

Postgres unterstützt mehrere Dienstprogramme, mit denen Sie ihren Status überprüfen können. Diese Dienstprogramme werden in den folgenden Abschnitten beschrieben.

Organisationen und Umgebungen in Postgres prüfen

Mit dem folgenden curl-Befehl können Sie nach Organisations- und Umgebungsnamen suchen, die auf dem Postgres-Server eingerichtet wurden:

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

Das System sollte den Namen der Organisation und der Umgebung anzeigen.

Analysestatus überprüfen

Sie können den Status der Postgres- und Qpid-Analyseserver mit dem folgenden curl-Befehl prüfen:

curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus

Das System sollte für alle Analyseserver einen Erfolgsstatus anzeigen, wie das folgende Beispiel zeigt:

{
  "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-Datenbank

In diesem Abschnitt werden Techniken beschrieben, die Sie speziell zum Überwachen der Postgres-Datenbank verwenden können.

check_postgres.pl-Skript verwenden

Zum Monitoring der PostgreSQL-Datenbank können Sie das standardmäßige Monitoringskript check_postgres.pl verwenden. Weitere Informationen finden Sie unter http://bucardo.org/wiki/Check_postgres.

Bevor Sie das Skript ausführen:

  1. Sie müssen das Skript „check_postgres.pl“ auf jedem Postgres-Knoten installieren.
  2. Prüfen Sie, ob perl-Time-HiRes.x86_64 installiert ist. Dies ist ein Perl-Modul, das hochauflösende Alarm-, Ruhemodus-, gettimeofday- und Intervall-Timer implementiert. Sie können sie beispielsweise mit dem folgenden Befehl installieren:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: Bevor Sie „check_postgres.pl“ unter CentOS v7 verwenden, müssen Sie den perl-Data-Dumper.x86_64-RPM installieren.

Ausgabe von „check_postgres.pl“

Die Standardausgabe der API-Aufrufe mit check_postgres.pl ist mit Nagios kompatibel. Führen Sie nach der Installation des Skripts die folgenden Prüfungen durch:

  1. Prüfen Sie die Datenbankgröße:
    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. Prüfen Sie die Anzahl der eingehenden Verbindungen zur Datenbank und vergleichen Sie sie mit der maximal zulässigen Anzahl:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. Prüfen Sie, ob die Datenbank ausgeführt wird und verfügbar ist:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. Prüfen Sie den Speicherplatz:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. Prüfen Sie die Anzahl der in einem Postgres-Knoten eingerichteten Organisation und Umgebung:
    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

Datenbankprüfungen ausführen

Sie können prüfen, ob die richtigen Tabellen in der PostgreSQL-Datenbank erstellt werden. Melden Sie sich mit dem folgenden Befehl in der PostgreSQL-Datenbank an:

psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee

Führen Sie dann diesen Befehl aus:

\d analytics."org.env.fact"

Systemstatus des Postgres-Prozesses prüfen

Sie können API-Prüfungen auf dem Postgres-Computer ausführen, indem Sie den folgenden curl-Befehl aufrufen:

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

Dieser Befehl gibt den Status ACTIVE zurück, wenn der Postgres-Prozess aktiv ist. Wenn der Postgres-Prozess nicht ausgeführt wird, wird der Status INACTIVE zurückgegeben.

Postgres-Ressourcen

Weitere Informationen zum Überwachen des Postgres-Dienstes finden Sie hier:

Apache Cassandra

JMX ist für Cassandra standardmäßig aktiviert und für den JMX-Remote-Zugriff auf Cassandra ist kein Passwort erforderlich.

JMX-Authentifizierung für Cassandra aktivieren

Sie können die JMX-Authentifizierung für Cassandra aktivieren. Danach müssen Sie einen Nutzernamen und ein Passwort an alle Aufrufe des nodetool-Dienstprogramms weitergeben.

So aktivieren Sie die JMX-Authentifizierung für Cassandra:

  1. Erstellen und bearbeiten Sie die Datei cassandra.properties:
    1. Bearbeiten Sie die Datei /opt/apigee/customer/application/cassandra.properties. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    2. Fügen Sie der Datei Folgendes hinzu:
      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. Speichern Sie die Datei cassandra.properties.
    4. Ändern Sie den Eigentümer der Datei wie im folgenden Beispiel zu apigee:apigee:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

    Weitere Informationen zur Verwendung von Attributdateien zum Festlegen von Tokens finden Sie unter Edge konfigurieren.

  2. jmx_auth.sh erstellen und bearbeiten:
    1. Erstellen Sie am folgenden Speicherort eine Datei, falls sie noch nicht vorhanden ist:
      /opt/apigee/customer/application/jmx_auth.sh
    2. Fügen Sie der Datei die folgenden Attribute hinzu:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. Speichern Sie die Datei jmx_auth.sh.
    4. Quelle der Datei:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. Kopieren und bearbeiten Sie die Datei jmxremote.password:
    1. Kopieren Sie die folgende Datei aus Ihrem Verzeichnis $JAVA_HOME in /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. Bearbeiten Sie die Datei jmxremote.password und fügen Sie Ihren JMX-Nutzernamen und Ihr Passwort mit der folgenden Syntax hinzu:
      JMX_USERNAME JMX_PASSWORD

      Dabei sind JMX_USERNAME und JMX_PASSWORD der JMX-Nutzername und das Passwort, die Sie zuvor festgelegt haben.

    3. Achten Sie darauf, dass die Datei „apigee“ gehört und der Dateimodus 400 ist:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. Kopieren und bearbeiten Sie die Datei jmxremote.access:
    1. Kopieren Sie die folgende Datei aus Ihrem Verzeichnis $JAVA_HOME in /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. Bearbeiten Sie die Datei jmxremote.access und fügen Sie die folgende Rolle hinzu:
      JMX_USERNAME readwrite
    3. Achten Sie darauf, dass die Datei „apigee“ gehört und der Dateimodus 400 ist:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. Führen Sie configure auf Cassandra aus:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.

JMX-Passwortverschlüsselung aktivieren

So aktivieren Sie die JMX-Passwortverschlüsselung:

  1. Öffnen Sie die Datei source/conf/casssandra-env.sh.
  2. Erstellen und bearbeiten Sie die Datei cassandra.properties:
    1. Bearbeiten Sie die Datei /opt/apigee/customer/application/cassandra.properties. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    2. Fügen Sie der Datei Folgendes hinzu:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. Speichern Sie die Datei cassandra.properties.
    4. Ändern Sie den Inhaber der Datei zu apigee:apigee, wie im folgenden Beispiel gezeigt:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. Generieren Sie in der Befehlszeile einen oder mehrere SHA1-Hash-Werte der gewünschten Passwörter, indem Sie echo -n 'Secret' | openssl dgst -sha1 eingeben
  4. Legen Sie die Passwörter anhand des Nutzernamens in $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password fest, der im vorherigen Abschnitt erstellt wurde.
  5. Konfigurieren Sie die Konfiguration auf Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.

JMX mit SSL für Cassandra aktivieren

Das Aktivieren von JMX mit SSL bietet zusätzliche Sicherheit und Verschlüsselung für die JMX-basierte Kommunikation mit Cassandra. Zum Aktivieren von JMX mit SSL müssen Sie Cassandra einen Schlüssel und ein Zertifikat bereitstellen, um SSL-basierte JMX-Verbindungen zu akzeptieren. Außerdem müssen Sie Nodetool (und alle anderen Tools, die mit Cassandra über JMX kommunizieren) für SSL konfigurieren.

SSL-fähige JMX unterstützt sowohl Nur-Text- als auch verschlüsselte JMX-Passwörter.

Gehen Sie so vor, um JMX mit SSL für Cassandra zu aktivieren:

  1. Aktivieren Sie JMX. Aktivieren Sie die Passwortverschlüsselung, falls erforderlich.
  2. Aktivieren Sie die JMX-Authentifizierung für Cassandra wie oben beschrieben. Achten Sie darauf, dass das Nodetool mit dem konfigurierten Nutzernamen und Passwort funktioniert.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. Bereiten Sie den Schlüsselspeicher und den Truststore vor.

    • Der Schlüsselspeicher sollte einen Schlüssel und ein Zertifikat enthalten und wird zur Konfiguration des Cassandra-Servers verwendet. Wenn der Schlüsselspeicher mehrere Schlüsselpaare enthält, verwendet Cassandra das erste Schlüsselpaar, um SSL zu aktivieren.

      Die Passwörter für den Schlüsselspeicher und den Schlüssel sollten identisch sein (Standardwert, wenn du den Schlüssel mit Keytool generierst).

    • Truststore sollte nur das Zertifikat enthalten und wird von Clients (auf Apigee-Diensten basierende Befehle oder Nodetool) verwendet, um eine Verbindung über JMX herzustellen.

    Nachdem Sie die oben genannten Anforderungen überprüft haben:

    1. Platzieren Sie die Schlüsselspeicherdatei in /opt/apigee/customer/application/apigee-cassandra/.
    2. Geben Sie
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      ein, um sicherzustellen, dass die Schlüsselspeicherdatei nur für Apigee-Nutzer lesbar ist.
  4. Konfigurieren Sie Cassandra für JMX mit SSL. Führen Sie dazu die folgenden Schritte aus:
    1. Beenden Sie den Cassandra-Knoten durch Eingabe von
      apigee-service apigee-cassandra stop
    2. Aktivieren Sie SSL in Cassandra. Öffnen Sie dazu die Datei /opt/apigee/customer/application/cassandra.properties und fügen Sie die folgenden Zeilen hinzu:
      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
    3. Ändern Sie den Inhaber der Datei zu apigee:apigee, wie im folgenden Beispiel gezeigt:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. Konfigurieren Sie die Konfiguration auf Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. Starten Sie Cassandra neu:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.
    7. Starten Sie den Cassandra-Knoten durch Eingabe von
      apigee-service apigee-cassandra start
  5. Konfigurieren Sie die Cassandra-Befehle apigee-service. Sie müssen bestimmte Umgebungsvariablen festlegen, während Sie apigee-service-Befehle ausführen, darunter:
    apigee-service apigee-cassandra stop
    apigee-service apigee-cassandra wait_for_ready
    apigee-service apigee-cassandra ring
    apigee-service apigee-cassandra backup

    Es gibt mehrere Möglichkeiten, apigee-service für die JMX-Authentifizierung und SSL zu konfigurieren. Wählen Sie eine Option basierend auf der Nutzerfreundlichkeit und Ihren Sicherheitspraktiken.

    Option 1 (SSL-Argumente in der Datei gespeichert)

    Legen Sie die folgenden Umgebungsvariablen fest:

    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

    Erstellen Sie eine Datei im Basisverzeichnis des Apigee-Nutzers (/opt/apigee).

    $HOME/.cassandra/nodetool-ssl.properties

    Bearbeiten Sie die Datei und fügen Sie die folgenden Zeilen hinzu:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    Achten Sie darauf, dass die Trustore-Datei für einen Apigee-Nutzer lesbar ist.

    Führen Sie dazu den folgenden apigee-service-Befehl aus. Wenn er ohne Fehler ausgeführt wird, sind Ihre Konfigurationen korrekt.

    apigee-service apigee-cassandra ring

    Option 2 (in Umgebungsvariablen gespeicherte SSL-Argumente)

    Legen Sie die folgenden Umgebungsvariablen fest:

    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>

    Führen Sie dazu den folgenden apigee-service-Befehl aus. Wenn er ohne Fehler ausgeführt wird, sind Ihre Konfigurationen korrekt.

    apigee-service apigee-cassandra ring

    Option 3 (SSL-Argumente werden direkt an apigee-service übergeben)

    Führen Sie einen apigee-service-Befehl wie den folgenden aus. Sie müssen keine Umgebungsvariablen konfigurieren.

    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> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. Richten Sie das nodetool ein. Für Nodetool müssen JMX-Parameter übergeben werden. Es gibt zwei Möglichkeiten, Nodetool für die Ausführung mit SSL-fähigem JMX zu konfigurieren, wie in den folgenden Konfigurationsoptionen beschrieben:

    Die Optionen unterscheiden sich in der Art und Weise, wie SSL-bezogene Konfigurationen an nodetool übergeben werden. In beiden Fällen sollte der Nutzer, der nodetool ausführt, Leseberechtigungen für die Truststore-Datei haben. Wählen Sie basierend auf der Nutzerfreundlichkeit und Ihren Sicherheitspraktiken eine geeignete Option.

    Weitere Informationen zu nodetool-Parametern finden Sie in der DataStax-Dokumentation.

    Konfigurationsoption 1

    Erstellen Sie eine Datei im Basisverzeichnis des Nutzers, der nodetool ausführt.

    $HOME/.cassandra/nodetool-ssl.properties

    Fügen Sie der Datei die folgenden Zeilen hinzu:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    Der oben angegebene Truststore-Pfad sollte für jeden Nutzer zugänglich sein, der nodetool ausführt.

    Führen Sie nodetool mit der Option --ssl aus.

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

    Konfigurationsoption 2

    Führen Sie nodetool als einzelnen Befehl mit den unten aufgeführten zusätzlichen Parametern aus.

    /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 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

SSL-Konfigurationen wiederherstellen

Wenn Sie die im obigen Verfahren beschriebenen SSL-Konfigurationen zurücksetzen müssen, führen Sie die folgenden Schritte aus:

  1. Stoppen Sie apigee-cassandra durch Eingabe von
    apigee-service apigee-cassandra stop
  2. Entfernen Sie die Zeile conf_cassandra-env_com.sun.management.jmxremote.ssl=true aus der Datei /opt/apigee/customer/application/cassandra.properties.
  3. Kommentieren Sie die folgenden Zeilen in /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh
    # 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”
    aus
  4. apigee-cassandra durch Eingabe von
  5. apigee-service apigee-cassandra start
  6. Entfernen Sie die Umgebungsvariable CASS_JMX_SSL, falls sie festgelegt wurde.

    unset CASS_JMX_SSL
  7. Prüfen Sie, ob apigee-service-basierte Befehle wie ring, stop, backup usw. funktionieren.
  8. Verwendung des --ssl-Schalters mit Nodetool beenden

JMX-Authentifizierung für Cassandra deaktivieren

So deaktivieren Sie die JMX-Authentifizierung für Cassandra:

  1. /opt/apigee/customer/application/cassandra.properties bearbeiten
  2. Entfernen Sie die folgende Zeile aus der Datei:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. Konfigurieren Sie die Konfiguration auf Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.

Verwenden von JConsole: Überwachen von Aufgabenstatistiken

Verwenden Sie die JConsole und die folgende Dienst-URL, um die über JMX angebotenen JMX-Attribute (MBeans) zu überwachen:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

Dabei ist IP_address die IP-Adresse des Cassandra-Servers.

Cassandra JMX-Statistiken

JMX-MBeans JMX-Attribute

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

Nodetool zum Verwalten von Clusterknoten verwenden

Das nodetool-Dienstprogramm ist eine Befehlszeilenschnittstelle für Cassandra, die Clusterknoten verwaltet. Das Dienstprogramm finden Sie unter /opt/apigee/apigee-cassandra/bin.

Die folgenden Aufrufe können auf allen Cassandra-Clusterknoten ausgeführt werden:

  1. Allgemeine Ringinformationen (auch für einzelne Cassandra-Knoten möglich): Suchen Sie nach den Knoten "Oben" und "Normal" für alle Knoten.
    nodetool [-u username -pw password] -h localhost ring

    Sie müssen Ihren Nutzernamen und Ihr Passwort nur weitergeben, wenn Sie die JMX-Authentifizierung für Cassandra aktiviert haben.

    Die Ausgabe des obigen Befehls sieht so aus:

    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. Allgemeine Informationen zu Knoten (Aufruf pro Knoten)
    nodetool [-u username -pw password]  -h localhost info

    Die Ausgabe des obigen Befehls sieht so aus:

    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. Status des Secondhand-Servers (Bereitstellungs-Client-API)
    nodetool [-u username -pw password] -h localhost statusthrift

    Die Ausgabe des obigen Befehls sieht so aus:

    running

  4. Status von Datenstreamingvorgängen: Beobachten Sie den Traffic für Cassandra-Knoten:
    nodetool [-u username -pw password] -h localhost netstats

    Die Ausgabe des obigen Befehls sieht so aus:

    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

Weitere Informationen zu nodetool finden Sie unter Das nodetool-Dienstprogramm.

Cassandra-Ressource

Weitere Informationen finden Sie unter der URL http://www.datastax.com/docs/1.0/operations/monitoring.

Apache Qpid Broker-J überwachen

Sie können Qpid Broker-J über die Qpid-Verwaltungskonsole überwachen. In diesem Abschnitt wird erläutert, wie Sie auf die Konsole zugreifen und grundlegende Monitoringfunktionen ausführen können. Weitere Informationen zur Verwendung der Verwaltungskonsole finden Sie unter Web Management Console in der Dokumentation zu Apache Qpid.

Auf die Verwaltungskonsole zugreifen

Der standardmäßige Port für die Verwaltungskonsole ist 8090. Öffnen Sie in Ihrem Webbrowser Folgendes, um auf die Console über diesen Standardport zuzugreifen:

http://QPID_NODE_IP:8090

Verwenden Sie für die Anmeldung bei der Konsole die von Apigee oder in der Edge-Konfigurationsdatei festgelegten Standardanmeldedaten. Weitere Informationen finden Sie in der Referenz zur Edge-Konfigurationsdatei.

Warteschlangen und Nachrichten überwachen

Gehen Sie im linken Navigationsbereich zu Java-Broker > virtualhosts > Warteschlangen. Wählen Sie eine Warteschlange aus, um ihre Details im Hauptbereich der UI anzusehen. In der Detailansicht finden Sie Warteschlangenattribute und -statistiken, einschließlich Informationen zu zugestellten und in die Warteschlange eingereihten Nachrichten, Nachrichtenraten usw.

Protokolldateien ansehen und herunterladen

Gehen Sie im linken Navigationsbereich zu Java-Broker > Brokerlogger > Logfile. In der Detailansicht der Haupt-UI können Sie Details zu Logdateien ansehen und herunterladen.

Qpid-Verwaltungs-API verwenden

Mit der Apache Qpid Broker-J REST API können Sie Verwaltungsaufgaben automatisieren und den Broker überwachen. Weitere Informationen finden Sie in der Dokumentation zur Apache Qpid Broker REST API.

Sie können den Broker auch mit Befehlszeilentools überwachen. Beispiel:

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

Apache ZooKeeper

ZooKeeper-Status prüfen

  1. Prüfen Sie, ob der ZooKeeper-Prozess ausgeführt wird. ZooKeeper schreibt eine PID-Datei in opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. Testen Sie ZooKeeper-Ports, um sicherzustellen, dass Sie auf jedem ZooKeeper-Server eine TCP-Verbindung zu den Ports 2181 und 3888 herstellen können.
  3. Sorgen Sie dafür, dass Sie Werte aus der ZooKeeper-Datenbank lesen können. Stellen Sie eine Verbindung über eine ZooKeeper-Clientbibliothek (oder /opt/apigee/apigee-zookeeper/bin/zkCli.sh) her und lesen Sie einen Wert aus der Datenbank.
  4. Prüfen Sie den Status:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

ZooKeeper-Wörter mit vier Buchstaben verwenden

ZooKeeper kann über eine kleine Gruppe von Befehlen (aus vier Buchstaben bestehende Wörter) überwacht werden, die mithilfe von Netcat (nc) oder Telnet an den Port 2181 gesendet werden.

Weitere Informationen zu ZooKeeper-Befehlen finden Sie in der Apache ZooKeeper-Befehlsreferenz.

Beispiel:

  • srvr: Listet alle Details für den Server auf.
  • stat: Listet kurze Details zum Server und den verbundenen Clients auf.

Die folgenden Befehle können an den ZooKeeper-Port ausgegeben werden:

  1. Prüfen Sie mit dem vierstelligen Befehl „ruok“, ob der Server fehlerfrei ausgeführt wird. Bei einer erfolgreichen Antwort wird „imok“ zurückgegeben.
    echo ruok | nc host 2181

    Retouren:

    imok
  2. Führen Sie den aus vier Buchstaben bestehenden Befehl stat aus, um Statistiken zur Serverleistung und zu verbundenen Clients aufzulisten:
    echo stat | nc host 2181

    Retouren:

    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. Wenn Netcat (nc) nicht verfügbar ist, können Sie Python als Alternative verwenden. Erstellen Sie eine Datei mit dem Namen zookeeper.py, die Folgendes enthält:
    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)

    Führen Sie nun die folgenden Python-Zeilen aus:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

LDAP-Level-Test

Sie können OpenLDAP überwachen, um festzustellen, ob die jeweiligen Anfragen korrekt verarbeitet werden. Mit anderen Worten: Suchen Sie nach einer bestimmten Suche, die das richtige Ergebnis liefert.

  1. Verwenden Sie ldapsearch (yum install openldap-clients), um den Eintrag des Systemadministrators abzufragen. Mit diesem Eintrag werden alle API-Aufrufe authentifiziert.
    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

    Sie werden dann aufgefordert, das LDAP-Administratorpasswort einzugeben:

    Enter LDAP Password:

    Nachdem Sie das Passwort eingegeben haben, wird eine Antwort im Formular angezeigt:

    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. Prüfen Sie mit dem folgenden Befehl, ob der Verwaltungsserver noch mit LDAP verbunden ist:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    Retouren:

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

Sie können auch die OpenLDAP-Caches überwachen. Dadurch wird die Anzahl der Laufwerkzugriffe reduziert und damit die Leistung des Systems verbessert. Das Monitoring und die anschließende Feinabstimmung der Cache-Größe im OpenLDAP-Server kann die Leistung des Verzeichnisservers stark beeinträchtigen. In den Logdateien (opt/apigee/var/log) finden Sie Informationen zum Cache.