In diesem Dokument werden die Monitoringtechniken von Komponenten beschrieben, die von einer lokalen Bereitstellung von Apigee Edge for Private Cloud unterstützt werden.
Überblick
Edge unterstützt mehrere Möglichkeiten zum Abrufen von Details zu Diensten sowie zum Prüfen ihres Status. In der folgenden Tabelle sind die Arten von Prüfungen aufgeführt, die Sie für jeden zulässigen Dienst ausführen können:
Verwaltungs-API | |||||||
Komponente | Arbeitsspeichernutzung [JMX*] | Dienstprüfung | Nutzer-/Organisations-/Bereitstellungsstatus | Axtstatus | 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 |
Ports und Konfigurationsdateien überwachen
Jede Komponente unterstützt Monitoring-Aufrufe von Java Management Extensions (JMX) und 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 |
JMX zum Überwachen von Komponenten verwenden
In den folgenden Abschnitten wird erläutert, wie Sie Edge-Komponenten mit JMX überwachen.
JMX aktivieren
Gehen Sie wie folgt vor, um JMX ohne Authentifizierung oder SSL-basierte Kommunikation zu aktivieren. Hinweis: In Produktionssystemen sollten aus Sicherheitsgründen sowohl die verschlüsselte Authentifizierung als auch SSL aktiviert sein.
- Bearbeiten Sie die entsprechende Konfigurationsdatei (siehe
Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie noch nicht vorhanden ist.
conf_system_jmxremote_enable=true
- Speichern Sie die Konfigurationsdatei und vergewissern Sie sich, dass sie Eigentum von
apigee:apigee
ist. - Entsprechende Edge-Komponente neu starten
apigee-service edge-management-server restart
Zum Deaktivieren von JMX entfernen Sie entweder das Attribut conf_system_jmxremote_enable
oder ändern Sie seinen Wert in false
. Starten Sie dann die entsprechende Edge-Komponente neu.
Authentifizierung in JMX
Edge für Private Cloud unterstützt passwortbasierte Authentifizierung mithilfe von Details, die in Dateien gespeichert sind. Sie können Passwörter als Hash-Werte speichern, um die Sicherheit zu erhöhen.
- Bearbeiten Sie die entsprechende Konfigurationsdatei, um die JMX-Authentifizierung in einer Edge*-Komponente zu aktivieren (siehe
Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls noch nicht vorhanden:
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 prüfen Sie, ob sie zuapigee:apigee
gehört. - Erstellen Sie einen SHA256-Hash des Passworts:
echo -n '
' | openssl dgst -sha256 - Erstellen Sie eine
jmxremote.password
-Datei mit JMX-Nutzeranmeldedaten:- 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
- Bearbeiten Sie die Datei und fügen Sie Ihren JMX-Nutzernamen und Ihr Passwort mit der folgenden Syntax hinzu:
USERNAME <HASH-PASSWORD>
- Prüfen Sie, ob die Datei zu
apigee
gehört und der Dateimodus 400 ist:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- Kopieren Sie die folgenden Dateien aus dem Verzeichnis
- Erstellen Sie eine
jmxremote.access
-Datei mit JMX-Nutzerberechtigungen:- 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
- Bearbeiten Sie die Datei und fügen Sie Ihren JMX-Nutzernamen gefolgt von einer Berechtigung hinzu (READONLY/READWRITE).
USERNAME READONLY
- Prüfen Sie, ob die Datei zu
apigee
gehört und der Dateimodus 400 ist:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- Kopieren Sie die folgenden Dateien aus dem Verzeichnis $JAVA_HOME in das Verzeichnis
- Starten Sie die entsprechende Edge-Komponente neu:
apigee-service edge-management-server restart
Entfernen Sie zum Deaktivieren der JMX-Authentifizierung entweder das Attribut conf_system_jmxremote_authenticate
oder ändern Sie den Wert in false
und starten Sie die entsprechende Edge-Komponente neu.
SSL in JMX
So aktivieren Sie SSL-basiertes JMX in einer Edge*-Komponente:
- Bearbeiten Sie die entsprechende Konfigurationsdatei (siehe
Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls noch nicht vorhanden:
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 prüfen Sie, ob sie zuapigee:apigee
gehört. - Bereiten Sie einen Schlüsselspeicher mit dem Serverschlüssel vor und platzieren Sie ihn unter dem Pfad, der in der Konfiguration
conf_system_javax_net_ssl_keystore
oben angegeben ist. Achten Sie darauf, dass die Schlüsselspeicherdatei vonapigee:apigee
gelesen werden kann. - Starten Sie die entsprechende Edge-Komponente neu:
apigee-service edge-management-server restart
Zum Deaktivieren der SSL-basierten JMX-Funktion müssen Sie entweder das Attribut conf_system_jmxremote_ssl
entfernen oder den Wert in false
ändern. Starten Sie die entsprechende Edge-Komponente neu.
Monitoring über Jconsole
Die Monitoring-Anweisungen über jconsole bleiben unverändert, wie unter https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole beschrieben.
Sie können folgende Zeile hinzufügen: „jconsole muss mit Truststore und Truststore-Passwort gestartet werden, wenn SSL für JMX aktiviert ist“. Referenz: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlMit JConsole überwachen
Verwenden Sie die JConsole (ein JMX-konformes Tool), um Systemdiagnosen und Verarbeitungsstatistiken zu verwalten und zu überwachen. Mit der JConsole können Sie von Ihren Servern bereitgestellte JMX-Statistiken in einer grafischen Oberfläche darstellen. Weitere Informationen finden Sie unter JConsole verwenden.
Sie müssen die JConsole mit dem Truststore und dem 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.
Wenn Sie beispielsweise den Verwaltungsserver überwachen möchten, führen Sie einen Befehl wie den folgenden aus (vorausgesetzt, die IP-Adresse des Servers lautet 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
In diesem Beispiel ist Port 1099 angegeben. Das ist der JMX-Port des Verwaltungsservers. Informationen zu anderen Ports finden Sie unter Monitoring-Ports für JMX und Management API.
Die folgende Tabelle zeigt die generischen JMX-Statistiken:
JMX MBeans | JMX-Attribute |
---|---|
Arbeitsspeicher |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Nutzung |
|
Referenz zur Konfigurationsdatei
In den folgenden Abschnitten werden Änderungen beschrieben, die Sie möglicherweise an den Edge-Komponentenkonfigurationsdateien für JMX-bezogene Konfigurationen vornehmen müssen. Weitere Informationen finden Sie unter Ports und Konfigurationsdateien überwachen.
JMX-Konfiguration, die der Konfigurationsdatei der entsprechenden Komponente hinzugefügt wird
- Aktivieren Sie den JMX-Agent auf der Edge-Komponente. 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 zum Zugriff auf die Datei. Sollte nur einem Apigee-Nutzer 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. Sollte nur einem Apigee-Nutzer 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-basiertes JMX
- Aktivieren Sie SSL für die JMX-Kommunikation. Standardmäßig „false“.
conf_system_jmxremote_ssl=true
- Pfad zum Schlüsselspeicher. Sollte nur einem Apigee-Nutzer 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
Die aufgeführten Werte sind Standardwerte und können geändert werden.
- JMX-Port. Standardwerte sind in der folgenden Tabelle 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: false. Gilt nur, wenn SSL aktiviert ist.
conf_system_jmxremote_registry_ssl=false
Mit der Management API im Blick behalten
Edge enthält mehrere APIs, mit denen Sie Dienstprüfungen auf Ihren Servern ausführen und Ihre Nutzer, Organisationen und Bereitstellungen prüfen können. In diesem Abschnitt werden diese APIs beschrieben.
Dienstprüfungen ausfü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 unter anderem folgende Informationen zum Dienst zurück:
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 Port der Verwaltungs-API für den Server, den Sie prüfen möchten. Dabei handelt es sich um einen anderen Port für jeden Komponententyp. Der Management-API-Port des Management Servers lautet beispielsweise 8080. Eine Liste der zu verwendenden Management API-Portnummern finden Sie unter JMX- und Management API-Monitoringports
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, Organisation und Bereitstellungsstatus überwachen
Sie können die Management API verwenden, um den Nutzer-, Organisations- und Bereitstellungsstatus Ihrer Proxys auf Verwaltungsservern und Message Processors zu überwachen. Führen Sie dazu die folgenden Befehle aus:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
Dabei ist port_number entweder 8080 für den Verwaltungsserver oder 8082 für den Nachrichtenprozessor.
Für diesen Anruf müssen Sie sich mit Ihrem Nutzernamen und Ihrem Passwort für die Systemadministration authentifizieren.
Der Server sollte für alle Aufrufe den Status „Bereitgestellt“ zurückgeben. Wenn das nicht funktioniert, gehen Sie so vor:
- Prüfen Sie die Serverprotokolle auf Fehler. Die Logs finden Sie unter:
- Verwaltungsserver:
opt/apigee/var/log/edge-management-server
- Nachrichtenverarbeiter:
opt/apigee/var/log/edge-message-processor
- Verwaltungsserver:
- Rufe den Server auf, um zu prüfen, ob er ordnungsgemäß funktioniert.
- 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 in 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
:
- 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
- Nachrichtenverarbeiter:
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
- Verwaltungsserver:
- Wenn der Dienst nicht ausgeführt wird, starten Sie den Dienst:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- 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 Management API-Port für den Dienst.
In diesem Beispiel wird davon ausgegangen, dass Sie beim Server angemeldet sind und „localhost“ als Hostnamen verwenden können. Wenn Sie den Status per Fernzugriff mit der Management API prüfen möchten, müssen Sie die IP-Adresse des Servers sowie den Nutzernamen und das Passwort des Systemadministrators in Ihrem API-Aufruf angeben.
Postgres-Monitoring
Postgres unterstützt mehrere Dienstprogramme, mit denen Sie seinen Status prüfen können. Diese Dienstprogramme werden in den folgenden Abschnitten beschrieben.
Organisationen und Umgebungen auf Postgres prüfen
Mit dem folgenden curl
-Befehl können Sie nach Organisations- und Umgebungsnamen suchen, die auf dem Postgres-Server eingerichtet sind:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Im System sollten der Organisations- und der Umgebungsname angezeigt werden.
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 im folgenden Beispiel gezeigt:
{ "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 für das Monitoring der Postgres-Datenbank verwenden können.
Skript check_postgres.pl
verwenden
Zum Überwachen 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.
Vor der Ausführung des Skripts:
- Sie müssen das Skript check_postgres.pl auf jedem Postgres-Knoten installieren.
- Achten Sie darauf, dass
perl-Time-HiRes.x86_64
installiert ist. Dies ist ein Perl-Modul, das hochauflösende Wecker, Ruhemodus, gettimeofday und Intervall-Timer implementiert. Sie können es beispielsweise mit dem folgenden Befehl installieren:
yum install perl-Time-HiRes.x86_64
- CentOS 7: Installieren Sie den
perl-Data-Dumper.x86_64
-RPM, bevor Sie check_postgres.pl unter CentOS v7 verwenden.
check_postgres.pl-Ausgabe
Die Standardausgabe der API-Aufrufe mit check_postgres.pl
ist mit Nagios kompatibel. Führen Sie nach der Installation des Skripts folgende Prüfungen durch:
- 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'
- Prüfen Sie die Anzahl der zur Datenbank eingehenden Verbindungen und vergleichen Sie sie mit der maximal zulässigen Anzahl von Verbindungen:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- 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
- 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%'
- Prüfen Sie die Anzahl der Organisation und der Umgebung, die in einem Postgres-Knoten eingerichtet wurden:
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 wurden. Melden Sie sich mit dem folgenden Befehl bei 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"
Status des Postgres-Prozesses prüfen
Sie können API-Prüfungen auf der Postgres-Maschine mit dem folgenden curl
-Befehl durchführen:
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 aktiv ist, wird der Status INACTIVE
zurückgegeben.
Postgres-Ressourcen
Weitere Informationen zum Monitoring des Postgres-Dienstes finden Sie hier:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Apache Cassandra
JMX ist standardmäßig für Cassandra aktiviert und für den Remote-JMX-Zugriff auf Cassandra ist kein Passwort erforderlich.
JMX-Authentifizierung für Cassandra aktivieren
Sie können die JMX-Authentifizierung für Cassandra aktivieren. Anschließend müssen Sie an alle Aufrufe des nodetool-Dienstprogramms einen Nutzernamen und ein Passwort übergeben.
So aktivieren Sie die JMX-Authentifizierung für Cassandra:
- Erstellen und bearbeiten Sie die Datei
cassandra.properties
:- Bearbeiten Sie die Datei
/opt/apigee/customer/application/cassandra.properties
. Wenn die Datei nicht vorhanden ist, erstellen Sie sie. - 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
- Speichern Sie die Datei
cassandra.properties
. - Ändern Sie den Eigentümer der Datei in
apigee:apigee
, wie im folgenden Beispiel gezeigt:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
Weitere Informationen zur Verwendung von Eigenschaftsdateien zum Festlegen von Tokens finden Sie unter So konfigurieren Sie Edge.
- Bearbeiten Sie die Datei
- Erstellen und bearbeiten Sie
jmx_auth.sh
:- Erstellen Sie eine Datei an folgendem Speicherort, falls sie noch nicht vorhanden ist:
/opt/apigee/customer/application/jmx_auth.sh
- Fügen Sie der Datei die folgenden Attribute hinzu:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- Speichern Sie die Datei
jmx_auth.sh
. - Quelle der Datei:
source /opt/apigee/customer/application/jmx_auth.sh
- Erstellen Sie eine Datei an folgendem Speicherort, falls sie noch nicht vorhanden ist:
- Kopieren und bearbeiten Sie die Datei
jmxremote.password
:- Kopieren Sie die folgende Datei aus dem 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
- 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 zuvor festgelegte JMX-Nutzername und das JMX-Passwort.
- Prüfen Sie, ob 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
- Kopieren Sie die folgende Datei aus dem Verzeichnis
- Kopieren und bearbeiten Sie die Datei
jmxremote.access
:- Kopieren Sie die folgende Datei aus dem 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
- Bearbeiten Sie die Datei
jmxremote.access
und fügen Sie die folgende Rolle hinzu:JMX_USERNAME readwrite
- Prüfen Sie, ob 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
- Kopieren Sie die folgende Datei aus dem Verzeichnis
- Führen Sie
configure
auf Cassandra aus:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Starten Sie Cassandra neu:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.
JMX-Passwortverschlüsselung aktivieren
So aktivieren Sie die JMX-Passwortverschlüsselung:
- Öffnen Sie die Datei
source/conf/casssandra-env.sh
. - Erstellen und bearbeiten Sie die Datei
cassandra.properties
:- Bearbeiten Sie die Datei
/opt/apigee/customer/application/cassandra.properties
. Wenn die Datei nicht vorhanden ist, erstellen Sie sie. - Fügen Sie der Datei Folgendes hinzu:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- Speichern Sie die Datei cassandra.properties.
- Ändern Sie den Eigentümer der Datei zu „apigee:apigee“, wie das folgende Beispiel zeigt:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Bearbeiten Sie die Datei
- Generieren Sie in der Befehlszeile SHA1-Hashes der gewünschten Passwörter, indem Sie
echo -n 'Secret' | openssl dgst -sha1
eingeben - Verwenden Sie als Passwort den Nutzernamen in
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
, der im vorherigen Abschnitt erstellt wurde. - Führen Sie „config“ in Cassandra aus:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Starten Sie Cassandra neu:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- 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. Um JMX mit SSL zu aktivieren, 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-Passwörter unterstützen sowohl Klartext- als auch verschlüsselte JMX-Passwörter.
Gehen Sie folgendermaßen vor, um JMX mit SSL für Cassandra zu aktivieren:
- Aktivieren Sie JMX. Aktivieren Sie gegebenenfalls die Passwortverschlüsselung.
- Aktivieren Sie die JMX-Authentifizierung für Cassandra.
wie oben beschrieben. Achten Sie darauf, dass nodetool den konfigurierten Nutzernamen und das konfigurierte Passwort verwendet.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
Schlüsselspeicher und Truststore vorbereiten
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.
Beachte, dass die Passwörter für den Schlüsselspeicher und den Schlüssel identisch sein sollten (Standardeinstellung, wenn du den Schlüssel mit Keytool generierst).
- Truststore sollte nur das Zertifikat enthalten und wird von Clients (Apigee-service-basierte Befehle oder Nodetool) verwendet, um eine Verbindung über JMX herzustellen.
Nachdem Sie die oben genannten Anforderungen überprüft haben, gehen Sie so vor:
- Platzieren Sie die Schlüsselspeicherdatei in
/opt/apigee/customer/application/apigee-cassandra/
. - Achten Sie darauf, dass die Schlüsselspeicherdatei nur für Apigee-Nutzer lesbar ist. Geben Sie dazu
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
einchmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- Konfigurieren Sie Cassandra für JMX mit SSL. Gehen Sie dazu so vor:
- Beenden Sie den Cassandra-Knoten durch Eingabe von
apigee-service apigee-cassandra stop
- 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
- Ändern Sie den Eigentümer der Datei zu „apigee:apigee“, wie das folgende Beispiel zeigt:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Führen Sie „config“ in Cassandra aus:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Starten Sie Cassandra neu:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.
- Starten Sie den Cassandra-Knoten durch Eingabe von
apigee-service apigee-cassandra start
- Beenden Sie den Cassandra-Knoten durch Eingabe von
- Konfigurieren Sie die Cassandra-Befehle
apigee-service
. Sie müssen bestimmte Umgebungsvariablen festlegen, während Sieapigee-service
-Befehle ausführen, einschließlich der folgenden: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 Datei gespeichert)
- Option 2 (SSL-Argumente, die in Umgebungsvariablen gespeichert sind)
- Option 3 (SSL-Argumente werden direkt an
apigee-service
übergeben)
Option 1 (SSL-Argumente in 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 den 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 beliebigen
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
Nodetool einrichten An Nodetool müssen JMX-Parameter übergeben werden. Es gibt zwei Möglichkeiten, um Nodetool für die Ausführung mit SSL-aktiviertem 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 das nodetool ausführt, Leseberechtigungen für die Truststore-Datei haben. Wählen Sie basierend auf der Nutzerfreundlichkeit und Ihren Sicherheitspraktiken eine Option aus.
Weitere Informationen zu nodetool-Parametern finden Sie in der DataStax-Dokumentation.
Konfigurationsoption 1
Erstellen Sie im Basisverzeichnis des Nutzers, der nodetool ausgeführt wird, eine Datei.
$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 das 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 zurücksetzen
Wenn Sie die oben beschriebenen SSL-Konfigurationen wiederherstellen müssen, gehen Sie so vor:
apigee-cassandra
durch Eingabe vonapigee-service apigee-cassandra stop
beenden- Entfernen Sie die Zeile
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
aus der Datei/opt/apigee/customer/application/cassandra.properties
. - 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 - Starten Sie
apigee-cassandra
mit der - Entfernen Sie die Umgebungsvariable
CASS_JMX_SSL
, falls sie festgelegt wurde.unset CASS_JMX_SSL
- Prüfen Sie, ob
apigee-service
-basierte Befehle wiering
,stop
,backup
usw. funktionieren. --ssl
-Schalter mit nodetool nicht mehr verwenden
apigee-service apigee-cassandra start
JMX-Authentifizierung für Cassandra deaktivieren
So deaktivieren Sie die JMX-Authentifizierung für Cassandra:
/opt/apigee/customer/application/cassandra.properties
bearbeiten- Entfernen Sie die folgende Zeile aus der Datei:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Führen Sie „config“ in Cassandra aus:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Starten Sie Cassandra neu:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Wiederholen Sie diesen Vorgang auf allen anderen Cassandra-Knoten.
JConsole verwenden: Aufgabenstatistiken überwachen
Verwenden Sie 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/Audit 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:
- Allgemeine Anrufinformationen (auch für einzelne Cassandra-Knoten möglich): Suchen Sie für alle Knoten nach "Up" und "Normal".
nodetool [-u username -pw password] -h localhost ring
Sie müssen Ihren Nutzernamen und Ihr Passwort nur übergeben, 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
- 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
- Status des Secondhandservers (Bereitstellungsclient API)
nodetool [-u username -pw password] -h localhost statusthrift
Die Ausgabe des obigen Befehls sieht so aus:
running
- 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 Informationen zum Dienstprogramm "nodetool".
Cassandra-Ressource
Sehen Sie sich die folgende URL an: http://www.datastax.com/docs/1.0/operations/monitoring.
Monitoring von Apache Qpid Broker-J
Sie können Qpid Broker-J über die Qpid-Verwaltungskonsole überwachen. In diesem Abschnitt wird erläutert, wie Sie auf die Konsole zugreifen und sie für grundlegende Monitoringfunktionen verwenden. Ausführliche Informationen zur Verwendung der Verwaltungskonsole finden Sie unter Web Management Console (Webverwaltungskonsole) in der Apache Qpid-Dokumentation.
Auf die Verwaltungskonsole zugreifen
Der Standardport für die Verwaltungskonsole ist 8090. Öffnen Sie in Ihrem Webbrowser die folgende URL, um über diesen Standardport auf die Konsole zuzugreifen:
http://QPID_NODE_IP:8090
Verwenden Sie zur Anmeldung bei der Konsole die von Apigee festgelegten Standardanmeldedaten oder die in der Edge-Konfigurationsdatei festgelegten. Weitere Informationen finden Sie in der Referenz zu Edge-Konfigurationsdateien.
Warteschlangen und Nachrichten überwachen
Gehen Sie im linken Navigationsbereich zu Java-Broker > virtualhosts > Warteschlangen. Wählen Sie eine Warteschlange aus, um die zugehörigen Details im Hauptteil der UI anzusehen. In der Detailansicht sehen Sie Warteschlangenattribute und -statistiken, einschließlich Informationen zu zugestellten Nachrichten, in die Warteschlange, Nachrichtenraten usw.
Protokolldateien ansehen und herunterladen
Gehen Sie im linken Navigationsbereich zu Java-Broker > Brokerlogger > Logdatei. In der Hauptdetailansicht der Benutzeroberfläche können Sie Details zur Logdatei ansehen und Protokolldateien herunterladen.
Qpid Management 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"
Monitoring mit SSL für Qpid aktivieren
Für zusätzliche Sicherheit bei Monitoring und Verwaltung aktivieren Sie SSL im Verwaltungsportal von Qpid und in den Management APIs von Qpid. Folgen Sie der Anleitung unten, um einen Schlüssel und ein Zertifikat bereitzustellen.
Qpid bietet eine Option für einen Dateischlüsselspeicher, der in Apigee aktiviert ist. Dieser Typ akzeptiert das standardmäßige JKS-Schlüsselspeicherformat, das von Java- und Java-Tools wie keytool erkannt wird.
Schlüsselspeichervorbereitung
Sie müssen die Zertifikatsdatei direkt zur Verwendung durch Qpidd-Clients bereitstellen und zusätzlich das Keytool verwenden.
Informationen zum Generieren von Schlüsselspeichern finden Sie in der Dokumentation zu Java-Keytool.
Nach Überprüfung der Anforderungen
- Platzieren Sie den Schlüsselspeicher und die Zertifikatsdateien in
/opt/apigee/customer/application/apigee-qpidd
. - Achten Sie darauf, dass die Schlüsselspeicherdatei nur für den Apigee-Nutzer lesbar ist:
chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
SSL in Qpid aktivieren
Führen Sie die folgenden Schritte jeweils für einen Qpid-Knoten aus:
Öffnen Sie die Datei /opt/apigee/customer/application/qpidd.properties
und fügen Sie die folgenden Zeilen hinzu:
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 conf_qpidd_qpid.keystore.certificate=/opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
- Ändern Sie den Eigentümer der Datei zu „apigee:apigee“:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
. - Qpidd konfigurieren:
apigee-service apigee-qpidd configure
- Qpidd neu starten:
apigee-service apigee-qpidd restart
- Prüfen Sie den Status mit „wait_for_ready“:
apigee-service apigee-qpidd wait_for_ready
SSL-Konfiguration zurücksetzen
Entfernen Sie die Attribute aus der Datei /opt/apigee/customer/application/qpidd.properties
oder kommentieren Sie sie aus:
conf_qpidd_qpid_management.https.enabled=true conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
- Qpidd konfigurieren:
apigee-service apigee-qpidd configure
- Qpidd neu starten:
apigee-service apigee-qpidd restart
- Prüfen Sie den Status mit „wait_for_ready“:
apigee-service apigee-qpidd wait_for_ready
Apache ZooKeeper
ZooKeeper-Status prüfen
- Vergewissern Sie sich, dass der ZooKeeper-Prozess ausgeführt wird. ZooKeeper schreibt eine PID-Datei in
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Testen Sie ZooKeeper-Ports, um sicherzustellen, dass Sie auf jedem ZooKeeper-Server eine TCP-Verbindung zu den Ports 2181 und 3888 herstellen können.
- Achten Sie darauf, 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. - Prüfen Sie den Status:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper-Wörter aus vier Buchstaben verwenden
ZooKeeper kann mit einer Reihe von Befehlen (Wörter aus vier Buchstaben) überwacht werden, die mithilfe von Netcat (nc) oder Telnet an 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:
- Führen Sie den aus vier Buchstaben bestehenden Befehl „ruok“ aus, um zu testen, ob der Server fehlerfrei ausgeführt wird. Eine erfolgreiche Antwort gibt „imok“ zurück.
echo ruok | nc host 2181
Retouren:
imok
- Führen Sie den aus vier Buchstaben bestehenden Befehl
stat
aus, um Statistiken zur Serverleistung und 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
- Wenn Netcat (nc) nicht verfügbar ist, können Sie alternativ Python 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 jetzt 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 zu sehen, ob die spezifischen Anfragen ordnungsgemäß verarbeitet werden. Mit anderen Worten: Suchen Sie nach einer bestimmten Suche, die das richtige Ergebnis liefert.
- 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 zur Eingabe des LDAP-Administratorpassworts aufgefordert:
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
- Prüfen Sie mit dem folgenden Befehl, ob der Verwaltungsserver noch mit dem 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, was dazu beiträgt, die Anzahl der Laufwerkzugriffe zu reduzieren und so die Leistung des Systems zu verbessern. Das Monitoring und die anschließende Optimierung der Cache-Größe auf dem OpenLDAP-Server kann die Leistung des Verzeichnisservers erheblich beeinträchtigen. Sie können die Logdateien (opt/apigee/var/log
) ansehen, um Informationen zum Cache zu erhalten.