In diesem Dokument werden die Monitoring-Techniken für Komponenten beschrieben, die von einer On-Premise-Bereitstellung von Apigee Edge for Private Cloud unterstützt werden.
Übersicht
Edge bietet mehrere Möglichkeiten, Details zu Diensten abzurufen und deren Status zu prüfen. In der folgenden Tabelle sind die Arten von Prüfungen aufgeführt, die Sie für die einzelnen infrage kommenden Dienste durchführen können:
Mgmt API | |||||||
Komponente | Arbeitsspeichernutzung [JMX*] | Service Check | Nutzer-/Organisations-/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 in JMX aktivieren beschrieben. ** Der |
Ports und Konfigurationsdateien überwachen
Jede Komponente unterstützt JMX- und Management API-Monitoringaufrufe 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 | 1100 | 8081 | $APIGEE_ROOT/customer/application/router.properties |
Qpid | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
Postgres | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
JMX zum Überwachen von Komponenten verwenden
In den folgenden Abschnitten wird beschrieben, wie Sie JMX verwenden, um Edge-Komponenten zu ü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.
- Bearbeiten Sie die entsprechende Konfigurationsdatei (siehe
Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie noch nicht vorhanden ist.
conf_system_jmxremote_enable=true
- Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sie
apigee:apigee
gehört. - Entsprechende Edge-Komponente neu starten
apigee-service edge-management-server restart
Wenn Sie JMX deaktivieren möchten, entfernen Sie entweder die Property conf_system_jmxremote_enable
oder ändern Sie ihren Wert in false
. Starten Sie dann die entsprechende Edge-Komponente neu.
Authentifizierung in JMX
Edge for Private Cloud unterstützt die kennwortbasierte Authentifizierung mit Details, die in Dateien gespeichert sind. Sie können Passwörter als Hash speichern, um die Sicherheit zu erhöhen.
- Wenn Sie die JMX-Authentifizierung in einer edge-*-Komponente aktivieren möchten, bearbeiten Sie die entsprechende Konfigurationsdatei (siehe
Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie nicht vorhanden ist:
Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sieconf_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
apigee: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 JMX-Passwort mit der folgenden Syntax hinzu:
USERNAME <HASH-PASSWORD>
- Achten Sie darauf, dass die Datei
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 (READONLY/READWRITE) hinzu.
USERNAME READONLY
- Achten Sie darauf, dass die Datei
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
Wenn Sie die JMX-Authentifizierung deaktivieren möchten, entfernen Sie entweder die Property 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
Referenz zur Konfigurationsdatei). Erstellen Sie die Konfigurationsdatei, falls sie nicht vorhanden ist:
Speichern Sie die Konfigurationsdatei und achten Sie darauf, dass sieconf_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>
apigee:apigee
gehört. - Bereiten Sie einen Schlüsselspeicher mit dem Serverschlüssel vor und legen Sie ihn unter dem in der Konfiguration
conf_system_javax_net_ssl_keystore
oben angegebenen Pfad ab. Achten Sie darauf, dass die Keystore-Datei vonapigee:apigee
gelesen werden kann. - Starten Sie die entsprechende Edge-Komponente neu:
apigee-service edge-management-server restart
Wenn Sie SSL-basiertes JMX deaktivieren möchten, entfernen Sie entweder die Property conf_system_jmxremote_ssl
oder ändern Sie den Wert in false
. Starten Sie die entsprechende Edge-Komponente neu.
Monitoring über JConsole
Die Anleitung zur Überwachung über jconsole bleibt unverändert und ist unter https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole verfügbar.
Es kann eine Zeile hinzugefügt werden, in der steht, dass „jconsole mit Truststore und Truststore-Passwort gestartet werden muss, wenn SSL für JMX aktiviert ist“. Referenz: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlMit JConsole überwachen
Mit JConsole (einem JMX-kompatiblen Tool) können Sie Systemdiagnosen und Prozessstatistiken verwalten und überwachen. Mit JConsole können Sie JMX-Statistiken, die von Ihren Servern bereitgestellt werden, abrufen und in einer grafischen Benutzeroberfläche anzeigen. Weitere Informationen finden Sie unter JConsole verwenden.
Wenn SSL für JMX aktiviert ist, müssen Sie JConsole mit Truststore und Truststore-Passwort starten. Weitere Informationen finden Sie unter JConsole verwenden.
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 Management Server überwachen möchten, geben Sie einen Befehl wie den folgenden ein (vorausgesetzt, die IP-Adresse des Servers ist 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
In diesem Beispiel wird Port 1099 angegeben, der JMX-Port des Management-Servers. Informationen zu anderen Ports finden Sie unter JMX- und Management API-Überwachungsports.
In der folgenden Tabelle sind die allgemeinen JMX-Statistiken aufgeführt:
JMX-MBeans | JMX-Attribute |
---|---|
Arbeitsspeicher |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Nutzung |
|
Referenz zur Konfigurationsdatei
In den folgenden Abschnitten werden Änderungen beschrieben, die Sie möglicherweise an den Konfigurationsdateien für Edge-Komponenten 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 werden muss
- Aktivieren Sie den JMX-Agenten für die 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 zur Zugriffsdatei. Sie sollten nur dem Apigee-Nutzer gehören und nur von ihm gelesen werden können.
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- Pfad zur Passwortdatei. Sie sollten nur dem Apigee-Nutzer gehören und nur von ihm 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 Keystore. Sie sollten nur dem Apigee-Nutzer gehören und nur von ihm 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 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=
- JMX-Registrierung mit SSL schützen Standardeinstellung: false. Gilt nur, wenn SSL aktiviert ist.
conf_system_jmxremote_registry_ssl=false
Mit der Management API überwachen
Edge umfasst mehrere APIs, mit denen Sie Dienstprüfungen auf Ihren Servern sowie Prüfungen Ihrer Nutzer, Organisationen und Bereitstellungen durchführen können. In diesem Abschnitt werden diese APIs beschrieben.
Dienstprüfungen durchführen
Die Management API bietet mehrere Endpunkte zum Überwachen und Diagnostizieren 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, darunter:
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 auf dem Server angemeldet sind, können Sie „localhost“ verwenden. Andernfalls geben Sie 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. Für jeden Komponententyp ist ein anderer Port erforderlich. Der Management API-Port des Management-Servers ist beispielsweise 8080. Eine Liste der zu verwendenden Management API-Portnummern finden Sie unter JMX- und Management API-Monitoring-Ports.
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 dem lokalen Host (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 überwachen
Mit der Management API können Sie den Nutzer-, Organisations- und Bereitstellungsstatus Ihrer Proxys auf Management-Servern und Message Processors überwachen. Geben 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 Management Server oder 8082 für den Message Processor.
Für diesen Aufruf müssen Sie sich mit Ihrem Nutzernamen und Passwort für die Systemadministration authentifizieren.
Der Server sollte für alle Aufrufe den Status „bereitgestellt“ zurückgeben. Wenn diese fehlschlagen, gehen Sie so vor:
- Prüfen Sie die Serverlogs auf Fehler. Die Logs befinden sich unter:
- Verwaltungsserver:
opt/apigee/var/log/edge-management-server
- Nachrichtenprozessor:
opt/apigee/var/log/edge-message-processor
- Verwaltungsserver:
- Rufen Sie den Server auf, um zu prüfen, ob er richtig 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 Probleme mit Ihren Edge-Diensten mit dem Befehl apigee-service
beheben, wenn Sie auf 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 auf dem 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
- Nachrichtenprozessor:
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 ihn:
/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
apigee-service status
-Befehl, den Sie zuvor verwendet haben, 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 auf dem Server angemeldet sind und „localhost“ als Hostname 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 angeben und den Nutzernamen und das Passwort des Systemadministrators in Ihren API-Aufruf einfügen.
Postgres-Monitoring
Postgres unterstützt mehrere Dienstprogramme, mit denen Sie den Status prüfen können. Diese Dienstprogramme werden in den folgenden Abschnitten beschrieben.
Organisationen und Umgebungen in Postgres prüfen
Sie können mit dem folgenden curl
-Befehl nach Organisations- und Umgebungsnamen suchen, die auf dem Postgres-Server registriert sind:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Das System sollte den Namen der Organisation und der Umgebung anzeigen.
Analytics-Status prü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:
{ "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 Überwachen der PostgreSQL-Datenbank können Sie ein Standard-Monitoring-Skript verwenden: check_postgres.pl
. Weitere Informationen finden Sie unter http://bucardo.org/wiki/Check_postgres.
Vor dem Ausführen des Skripts:
- Sie müssen das Skript „check_postgres.pl“ auf jedem Postgres-Knoten installieren.
- Prüfen Sie, ob
perl-Time-HiRes.x86_64
installiert ist, ein Perl-Modul, das hochauflösende Wecker, Schlaf-, gettimeofday- und Intervalltimer implementiert. Sie können es beispielsweise mit dem folgenden Befehl installieren:
yum install perl-Time-HiRes.x86_64
- CentOS 7: Bevor Sie „check_postgres.pl“ unter CentOS 7 verwenden, installieren Sie das
perl-Data-Dumper.x86_64
-RPM.
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:
- Datenbankgröße prüfen:
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üft die Anzahl der eingehenden Verbindungen zur Datenbank und vergleicht 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
- Speicherplatz prüfen:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- So prüfen Sie die Anzahl der Organisationen und Umgebungen, die in einem Postgres-Knoten eingebunden sind:
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"
Systemstatus des Postgres-Prozesses prüfen
Sie können API-Prüfungen auf dem Postgres-Computer durchfü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 Monitoring des Postgres-Dienstes finden Sie unter:
- 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. Danach müssen Sie bei allen Aufrufen 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 zu
apigee:apigee
, wie im folgenden Beispiel gezeigt:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
Weitere Informationen zum Festlegen von Tokens mithilfe von Properties-Dateien finden Sie unter Edge konfigurieren.
- Bearbeiten Sie die Datei
jmx_auth.sh
erstellen und bearbeiten:- Erstellen Sie eine Datei am folgenden 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
. - Quelldatei:
source /opt/apigee/customer/application/jmx_auth.sh
- Erstellen Sie eine Datei am folgenden 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 JMX-Passwort mit der folgenden Syntax hinzu:JMX_USERNAME JMX_PASSWORD
Dabei sind JMX_USERNAME und JMX_PASSWORD der JMX-Nutzername und das JMX-Passwort, die Sie zuvor festgelegt haben.
- Prüfen Sie, ob die Datei dem Nutzer „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 das Verzeichnis/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 dem Nutzer „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
für 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 Inhaber der Datei zu apigee:apigee, wie im folgenden Beispiel gezeigt:
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. - Legen Sie die Passwörter für den Nutzernamen in
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
fest (im vorherigen Abschnitt erstellt). - Führen Sie „configure“ für 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
Wenn Sie JMX mit SSL aktivieren, erhalten Sie zusätzliche Sicherheit und Verschlüsselung für die JMX-basierte Kommunikation mit Cassandra. Wenn Sie JMX mit SSL aktivieren möchten, müssen Sie Cassandra einen Schlüssel und ein Zertifikat zur Verfügung stellen, damit SSL-basierte JMX-Verbindungen akzeptiert werden. Sie müssen auch nodetool (und alle anderen Tools, die über JMX mit Cassandra kommunizieren) für SSL konfigurieren.
SSL-fähiges JMX unterstützt sowohl Nur-Text- als auch verschlüsselte JMX-Passwörter.
So aktivieren Sie JMX mit SSL für Cassandra:
- JMX aktivieren Aktivieren Sie bei Bedarf die Passwortverschlüsselung.
- JMX-Authentifizierung für Cassandra aktivieren
wie oben beschrieben. Prüfen Sie, ob nodetool mit dem konfigurierten Nutzernamen und Passwort funktioniert.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
Schlüsselspeicher und Truststore vorbereiten
Der Keystore sollte einen Schlüssel und ein Zertifikat enthalten und wird zum Konfigurieren des Cassandra-Servers verwendet. Wenn der Keystore 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. Das ist die Standardeinstellung, wenn Sie den Schlüssel mit „keytool“ generieren.
- Der 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, gehen Sie so vor:
- Platziere die Schlüsselspeicherdatei in
/opt/apigee/customer/application/apigee-cassandra/
. - Achten Sie darauf, dass die Keystore-Datei nur vom Apigee-Nutzer gelesen werden kann, indem Sie Folgendes eingeben:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- Konfigurieren Sie Cassandra für JMX mit SSL, indem Sie die folgenden Schritte ausführen:
- Beenden Sie den Cassandra-Knoten mit dem folgenden Befehl:
apigee-service apigee-cassandra stop
- Aktivieren Sie SSL in Cassandra, indem Sie die Datei
/opt/apigee/customer/application/cassandra.properties
öffnen und die folgenden Zeilen hinzufügen:conf_cassandra_env_com.sun.management.jmxremote.ssl=true conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1 conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password ## On FIPS enabled systems, when you are using non standard keystore, set the following: ## These can be skipped otherwise ## Possible values are JKS, PKCS12, BCFKS conf_cassandra_env_javax.net.ssl.keyStoreType=PKCS12 conf_cassandra_env_javax.net.ssl.keyStoreAlias=cassjmx-tls-alias
- Ändern Sie den Inhaber der Datei zu apigee:apigee, wie im folgenden Beispiel gezeigt:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Führen Sie „configure“ für 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 mit dem folgenden Befehl:
apigee-service apigee-cassandra start
- Beenden Sie den Cassandra-Knoten mit dem folgenden Befehl:
- Konfigurieren Sie die
apigee-service
-Cassandra-Befehle. Sie müssen beim Ausführen vonapigee-service
-Befehlen bestimmte Umgebungsvariablen festlegen, darunter die 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 Benutzerfreundlichkeit und Ihren Sicherheitsmaßnahmen aus.- Option 1 (SSL-Argumente in Datei gespeichert)
- Option 2 (SSL-Argumente in Umgebungsvariablen gespeichert)
- 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 ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
Achten Sie darauf, dass die Truststore-Datei für den Apigee-Nutzer lesbar ist.
Führen Sie dazu den folgenden
apigee-service
-Befehl aus. Wenn das Skript ohne Fehler ausgeführt wird, sind Ihre Konfigurationen korrekt.apigee-service apigee-cassandra ring
Option 2: SSL-Argumente in Umgebungsvariablen speichern
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> # If you are using a non standard truststore type, export truststore type as well # Possible values are JKS, PKCS12, BCFKS export CASS_JMX_TRUSTSTORE_TYPE=PKCS12
Führen Sie dazu den folgenden
apigee-service
-Befehl aus. Wenn das Skript 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> CASS_JMX_TRUSTSTORE_TYPE=PKCS12 /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
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-aktiviertem JMX zu konfigurieren, wie in den Konfigurationsoptionen unten beschrieben:
Die Optionen unterscheiden sich darin, wie SSL-bezogene Konfigurationen an „nodetool“ übergeben werden. In beiden Fällen sollte der Nutzer, der nodetool ausführt, LESE-Berechtigungen für die Truststore-Datei haben. Wählen Sie eine geeignete Option basierend auf der Benutzerfreundlichkeit und Ihren Sicherheitsverfahren aus.
Weitere Informationen zu nodetool-Parametern finden Sie in der DataStax-Dokumentation.
Konfigurationsoption 1
Erstellen Sie eine Datei im Home-Verzeichnis 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 ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
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 -Djavax.net.ssl.trustStoreType=PKCS12 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
SSL-Konfigurationen zurücksetzen
Wenn Sie die im obigen Verfahren beschriebenen SSL-Konfigurationen rückgängig machen müssen, führen Sie die folgenden Schritte aus:
- Beenden Sie
apigee-cassandra
, indem Sieapigee-service apigee-cassandra stop
- Entfernen Sie die Zeile
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
aus der Datei/opt/apigee/customer/application/cassandra.properties
. - Entfernen Sie die Kommentarzeichen bei den 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”
- Starten Sie
apigee-cassandra
, indem Sie - 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 nicht mehr mit nodetool 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 in der Datei:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Führen Sie „configure“ für 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/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
Clusterknoten mit „nodetool“ verwalten
Das Nodetool-Dienstprogramm ist eine Befehlszeilenschnittstelle für Cassandra, mit der Clusterknoten verwaltet werden. Das Tool finden Sie unter /opt/apigee/apigee-cassandra/bin
.
Die folgenden Aufrufe können auf allen Cassandra-Clusterknoten erfolgen:
- Allgemeine Ringinformationen (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 nur Ihren Nutzernamen und Ihr Passwort angeben, 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 (Anruf 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 Thrift-Servers (der die Client-API bereitstellt)
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 Das Dienstprogramm „nodetool“.
Cassandra-Ressource
Weitere Informationen finden Sie unter 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 beschrieben, wie Sie auf die Konsole zugreifen und sie für grundlegende Monitoring-Funktionen verwenden. Ausführlichere Informationen zur Verwendung der Verwaltungskonsole finden Sie in der Apache Qpid-Dokumentation unter Web Management Console.
Auf die Verwaltungskonsole zugreifen
Der Standardport für die Verwaltungskonsole ist 8090. Wenn Sie über diesen Standardport auf die Konsole zugreifen möchten, geben Sie in Ihrem Webbrowser Folgendes ein:
http://QPID_NODE_IP:8090
Verwenden Sie zum Anmelden in der Konsole die von Apigee festgelegten Standardanmeldedaten oder die in der Edge-Konfigurationsdatei festgelegten Anmeldedaten. Weitere Informationen finden Sie in der Referenz zur Edge-Konfigurationsdatei.
Warteschlangen und Nachrichten überwachen
Klicken Sie im linken Navigationsbereich auf Java-Broker > virtualhosts > queues. Wählen Sie eine Warteschlange aus, um ihre Details im Hauptbereich der Benutzeroberfläche aufzurufen. In der Detailansicht sehen Sie die Warteschlangenattribute und ‑statistiken, einschließlich Informationen zu zugestellten und in die Warteschlange eingereihten Nachrichten, Nachrichtenraten usw.
Logdateien ansehen und herunterladen
Gehen Sie im linken Navigationsbereich zu Java-Broker > brokerloggers > logfile. In der Detailansicht der Haupt-UI können Sie Logfile-Details ansehen und Logfiles herunterladen.
Qpid-Verwaltungs-API verwenden
Sie können die Apache Qpid Broker-J REST API verwenden, um Verwaltungsaufgaben zu automatisieren und den Broker zu ü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
Um die Sicherheit bei der Überwachung und Verwaltung zu erhöhen, aktivieren Sie SSL für das Management-Portal von Qpid und die Management-APIs von Qpid. Halten Sie sich an die folgenden Richtlinien, um einen Schlüssel und ein Zertifikat anzugeben.
Qpid bietet eine Option für einen Dateischlüsselspeicher, der in Apigee aktiviert ist. Für diesen Typ wird das standardmäßige JKS-Schlüsselspeicherformat akzeptiert, das von Java und Java-Tools wie keytool unterstützt wird. Es kann auch einen PKCS12-Keystore akzeptieren, der mit Tools wie OpenSSL generiert werden kann.
Schlüsselspeicher vorbereiten
Informationen zum Generieren von Schlüsselspeichern finden Sie in der Java-Keytool-Dokumentation.
Informationen zum Generieren von PKCS12-Schlüsselspeichern finden Sie in der OpenSSL-Dokumentation.
Nachdem die Anforderungen überprüft wurden
- Platziere die Schlüsselspeicherdatei in
/opt/apigee/customer/application/apigee-qpidd
. - Achten Sie darauf, dass die Keystore-Datei nur vom Apigee-Nutzer gelesen werden kann:
chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
SSL in Qpid aktivieren
Führen Sie die folgenden Schritte jeweils auf einem 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 ## If you are using a PKCS12 keystore, specify the keystore type conf_qpidd_qpid.keystore.keyStoreType=PKCS12
- Ändern Sie den Eigentümer der Datei in apigee:apigee:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
- Qpidd konfigurieren:
apigee-service apigee-qpidd configure
- Starten Sie Qpidd neu:
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
- Starten Sie Qpidd neu:
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
- 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
. - Testen Sie die ZooKeeper-Ports, um sicherzustellen, dass Sie auf jedem ZooKeeper-Server eine TCP-Verbindung zu den Ports 2181 und 3888 herstellen können.
- Prüfen Sie, ob Sie Werte aus der ZooKeeper-Datenbank lesen können. Verbinden Sie sich mit einer ZooKeeper-Clientbibliothek (oder
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) und lesen Sie einen Wert aus der Datenbank. - Prüfen Sie den Status:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper-Vierbuchstabenbefehle verwenden
ZooKeeper kann über eine kleine Gruppe von Befehlen (Vierbuchstabenwörter) überwacht werden, die über 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
: Hier werden kurze Details zum Server und zu verbundenen Clients aufgeführt.
Die folgenden Befehle können an den ZooKeeper-Port gesendet werden:
- Führen Sie den viertägigen Befehl „ruok“ aus, um zu testen, ob der Server in einem fehlerfreien Zustand ausgeführt wird. Eine erfolgreiche Antwort gibt „imok“ zurück.
echo ruok | nc host 2181
Liefert:
imok
- Führen Sie den viertägigen Befehl
stat
aus, um Statistiken zur Serverleistung und zu verbundenen Clients aufzulisten:echo stat | nc host 2181
Liefert:
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 stattdessen 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 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 SymasLDAP überwachen, um zu sehen, ob die spezifischen Anfragen ordnungsgemäß bearbeitet werden. Prüfen Sie also, ob eine bestimmte Suche das richtige Ergebnis liefert.
- Verwenden Sie
ldapsearch
(yum install symasldap-clients
), um den Eintrag des Systemadministrators abzufragen. Dieser Eintrag wird verwendet, um alle API-Aufrufe zu authentifizieren./opt/symas/bin/ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
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 Management Server noch mit LDAP verbunden ist:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Liefert:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Sie können auch die SymasLDAP-Caches überwachen, die dazu beitragen, die Anzahl der Festplattenzugriffe zu verringern und so die Leistung des Systems zu verbessern. Wenn Sie die Cachegröße auf dem SymasLDAP-Server überwachen und dann anpassen, kann sich das erheblich auf die Leistung des Verzeichnisservers auswirken. Sie können die Logdateien (opt/apigee/var/log
) aufrufen, um Informationen zum Cache zu erhalten.