Edge for Private Cloud v4.18.05
Questo documento descrive le tecniche di monitoraggio dei componenti supportati da un deployment on-premise di Apigee Edge.
Panoramica
Edge supporta diversi modi per ottenere dettagli sui servizi e per controllarne gli stati. La tabella seguente elenca i tipi di controlli che puoi eseguire su ogni servizio idoneo:
Servizio | JMX:* utilizzo della memoria |
API Mgmt: Controllo del servizio |
API di gestione: stato utente/organizzazione/ deployment |
API Mgmt: axstatus |
Controllo del database | Stato di apigee-service |
---|---|---|---|---|---|---|
Server di gestione | ||||||
processore di messaggi | ||||||
Postgres | ||||||
Qpid | ||||||
Router | ||||||
Scopri di più | Scopri di più | Scopri di più | Scopri di più | Scopri di più | Scopri di più | |
* Prima di poter utilizzare JMX, devi attivarlo, come описано в Attivare JMX. |
Porte di monitoraggio JMX e API di gestione
Ogni componente supporta le chiamate di monitoraggio JMX e dell'API di gestione su porte diverse. La tabella seguente elenca le porte JMX e dell'API di gestione per ogni tipo di server:
Componente | Porta JMX | Porta API di gestione |
---|---|---|
Server di gestione | 1099 | 8080 |
Router | 1100 | 8081 |
processore di messaggi | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
Usa JMX
I processi di monitoraggio per server di gestione, processore di messaggi, Qpid e Postgres utilizzano tutti JMX. Tuttavia, JMX è abilitato per impostazione predefinita solo per Cassandra e disabilitato per impostazione predefinita per tutti gli altri componenti Edge. Pertanto, devi attivare JMX singolarmente per ogni componente prima di poterli monitorare.
L'autenticazione JMX non è abilitata per impostazione predefinita. Puoi attivare l'autenticazione JMX per tutti i componenti tranne Cassandra.
Abilita JMX
JMX è abilitato per impostazione predefinita solo per Cassandra e disabilitato per tutti gli altri componenti Edge. Questa sezione descrive come attivare JMX per gli altri componenti di Edge.
Per attivare JMX:
- Modifica il file di configurazione del componente. Questo file si trova in
opt/apigee/edge-component_name/bin/start
. Negli ambienti di produzione, questi file di configurazione si trovano su macchine diverse.Scegli una delle seguenti posizioni dei file su ogni server:
- Server di gestione:
/opt/apigee/edge-management-server/bin/start
- Processore di messaggi:
/opt/apigee/edge-message-processor/bin/start
- Postgres:
/opt/apigee/edge-postgres-server/bin/start
- Qpid:
/opt/apigee/edge-qpid-server/bin/start
- Router:
/opt/apigee/edge-router/bin/start
Ad esempio, il file di configurazione del server di gestione sul relativo server si trova all'indirizzo
/opt/apigee/edge-management-server/bin/start
. - Server di gestione:
- Aggiungi le seguenti opzioni
com.sun.management.jmxremote
alla rigaexec
che avvia il componente:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
dove port_number è la porta JMX per il servizio. Per trovare il numero di porta JMX del servizio, consulta l'articolo sulle porte di monitoraggio dell'API JMX e dell'API di gestione.
Ad esempio, per abilitare JMX sul server di gestione, aggiungi quanto segue al file di configurazione del server di gestione:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
Questo esempio specifica la porta 1099 per il server di gestione. Come affermato in precedenza, ogni servizio ha un proprio numero di porta.
La riga modificata nel file di configurazione ha il seguente aspetto:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- Salva il file di configurazione.
- Riavvia il componente con il comando
restart
.Ad esempio, per riavviare il server di gestione, esegui il seguente comando:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
L'autenticazione per JMX non è abilitata per impostazione predefinita. Puoi attivare l'autenticazione JMX per tutti i componenti tranne Cassandra, come descritto in Attivare l'autenticazione JMX.
Attiva l'autenticazione JMX
L'autenticazione JMX non è abilitata per impostazione predefinita. Puoi abilitare l'autenticazione JMX per tutti i componenti, tranne Cassandra.
Per attivare l'autenticazione JMX, esegui la seguente azione change_jmx_auth
su tutti i nodi:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
Dove:
- component è uno dei seguenti valori:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options specifica quanto segue:
-u username
-p password
-e [y|n]
(attiva o disattiva)
- config_file specifica la posizione di un file di configurazione in cui definisci quanto segue:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(se non impostato o non passato con-p
, ti viene richiesto)
Puoi utilizzare le opzioni della riga di comando o il file di configurazione per definire il nome utente, la password e lo stato di attivazione/disattivazione. Non specifichi sia un insieme di opzioni sia un file di configurazione.
Il seguente esempio abilita l'autenticazione JMX per il server di gestione utilizzando le opzioni della riga di comando:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
L'esempio seguente utilizza un file di configurazione anziché le opzioni della riga di comando:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
Se esegui Edge su più nodi, esegui il comando su tutti i nodi specificando lo stesso nome utente e la stessa password.
Per disabilitare l'autenticazione JMX dalla riga di comando, utilizza l'opzione "-e n", come mostrato nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
Monitoraggio con JConsole
Utilizza JConsole (uno strumento conforme a JMX) per gestire e monitorare il controllo dell'integrità e le statistiche di elaborazione. Con JConsole, puoi utilizzare le statistiche JMX esposte dai tuoi server e visualizzarle in un'interfaccia grafica. Per ulteriori informazioni, consulta Utilizzare JConsole.
JConsole utilizza il seguente URL di servizio per monitorare gli attributi JMX (MBean) offerti tramite JMX:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
Dove:
- IP_address è l'indirizzo IP del server che vuoi monitorare.
- port_number è il numero di porta JMX del server che vuoi monitorare.
Ad esempio, per monitorare il server di gestione, esegui un comando come il seguente (supponendo che l'indirizzo IP del server sia 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
Tieni presente che questo esempio specifica la porta 1099, che è la porta JMX del server di gestione. Per altre porte, consulta Porte di monitoraggio JMX e API di gestione.
La tabella seguente mostra le statistiche JMX generiche:
MBean JMX | Attributi JMX |
---|---|
Memoria |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Utilizzo |
|
Monitoraggio con l'API di gestione
Edge include diverse API che puoi utilizzare per eseguire controlli dei servizi sui tuoi server, nonché per controllare gli utenti, le organizzazioni e le implementazioni. Questa sezione descrive queste API.
Esegui controlli del servizio
L'API di gestione fornisce diversi endpoint per il monitoraggio e la diagnosi dei problemi relativi ai servizi. Questi endpoint includono:
Endpoint | Descrizione |
---|---|
/servers/self/up |
Verifica se un servizio è in esecuzione. Questa chiamata API non richiede l'autenticazione. Se il servizio è in esecuzione, questo endpoint restituisce la seguente risposta: <ServerField> <Up>true</Up> </ServerField> Se il servizio non è in esecuzione, riceverai una risposta simile alla seguente (a seconda del servizio e di come lo hai controllato): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
Restituisce informazioni sul servizio, tra cui:
Questa chiamata API richiede l'autenticazione con le credenziali di amministratore di Apigee. |
Per utilizzare questi endpoint, richiama un'utilità come curl
con comandi che utilizzano la seguente sintassi:
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]"
Dove:
- host è l'indirizzo IP del server che vuoi controllare. Se hai eseguito l'accesso al server, puoi utilizzare "localhost"; in caso contrario, specifica l'indirizzo IP del server, nonché il nome utente e la password.
- port_number è la porta dell'API di gestione per il server che vuoi controllare. Si tratta di una porta diversa per ogni tipo di componente. Ad esempio, la porta dell'API di gestione del server di gestione è 8080. Per un elenco dei numeri di porta dell'API di gestione da utilizzare, consulta Porte di monitoraggio JMX e API di gestione
Per modificare il formato della risposta, puoi specificare l'intestazione Accept
come "application/json" o "application/xml".
L'esempio seguente restituisce lo stato del router su localhost (porta 8081):
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
L'esempio seguente restituisce informazioni sul processore di messaggi alla porta 216.3.128.12 (porta 8082):
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
Monitora lo stato di utenti, organizzazioni e deployment
Puoi utilizzare l'API Management per monitorare lo stato di organizzazione, utente e di implementazione dei proxy su server di gestione e processori di messaggi eseguendo i seguenti comandi:
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
dove port_number è 8080 per il server di gestione o 8082 per il gestore dei messaggi.
Questa chiamata richiede l'autenticazione con il nome utente e la password di amministrazione del sistema.
Il server deve restituire uno stato "implementato" per tutte le chiamate. Se questi passaggi non risolvono il problema, procedi nel seguente modo:
- Controlla la presenza di errori nei log del server. I log si trovano all'indirizzo:
- Server di gestione:
opt/apigee/var/log/edge-management-server
- Processore di messaggi:
opt/apigee/var/log/edge-message-processor
- Server di gestione:
- Esegui una chiamata al server per verificare se funziona correttamente.
- Rimuovi il server dall'ELB e riavvialo:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
Dove service_name è:
edge-management-server
edge-message-processor
Controllare lo stato con il comando apigee-service
Puoi risolvere i problemi relativi ai servizi Edge utilizzando il comando apigee-service
dopo aver eseguito l'accesso al server su cui è in esecuzione il servizio.
Per controllare lo stato di un servizio con apigee-service
:
- Accedi al server ed esegui il seguente comando:
/opt/apigee/apigee-service/bin/apigee-service service_name status
dove service_name è uno dei seguenti valori:
- Server di gestione:
edge-management-server
- Processore di messaggi:
edge-message-processor
- Postgres:
edge-postgres-server
- Qpid:
edge-qpid-server
- Router:
edge-router
Ad esempio:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- Server di gestione:
- Se il servizio non è in esecuzione, avvialo:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- Dopo aver riavviato il servizio, verifica che funzioni utilizzando il comando
apigee-service status
usato in precedenza oppure l'API di gestione descritta in Monitorare con l'API di gestione.Ad esempio:
curl -v http://localhost:port_number/v1/servers/self/up
Dove port_number è la porta dell'API di gestione per il servizio.
Questo esempio presuppone che tu abbia eseguito l'accesso al server e che tu possa utilizzare "localhost" come nome host. Per controllare lo stato da remoto con l'API Management, devi specificare l'indirizzo IP del server e includere il nome utente e la password dell'amministratore di sistema nella chiamata dell'API.
Monitoraggio di Postgres
Postgres supporta diverse utilità che puoi utilizzare per verificarne lo stato. Queste utilità sono descritte nelle sezioni che seguono.
Controlla organizzazioni e ambienti su Postgres
Puoi controllare i nomi di organizzazioni e ambienti di cui è stato eseguito l'onboarding sul server Postgres
eseguendo il seguente comando curl
:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Il sistema deve mostrare il nome dell'organizzazione e dell'ambiente.
Verificare lo stato di Dati e analisi
Puoi verificare lo stato dei server di analisi Postgres e Qpid emettendo il seguente
curl
comando:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
Il sistema dovrebbe mostrare uno stato di esito positivo per tutti i server di analisi, come mostrato nell'esempio seguente:
{ "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" }
Database PostgreSQL
Questa sezione descrive le tecniche che puoi utilizzare specificamente per il monitoraggio del database Postgres.
Utilizzare lo script check_postgres.pl
Per monitorare il database PostgreSQL, puoi utilizzare uno script di monitoraggio standard,
check_postgres.pl
. Per ulteriori informazioni, consulta
http://bucardo.org/wiki/Check_postgres.
Prima di eseguire lo script:
- Devi installare lo script check_postgres.pl su ogni nodo Postgres.
- Assicurati di aver installato
perl-Time-HiRes.x86_64
, un modulo Perl che implementa timer di sveglia, di sospensione, gettimeofday e intervalli ad alta risoluzione. Ad esempio, puoi installarlo utilizzando il seguente comando:
yum install perl-Time-HiRes.x86_64
- CentOS 7: prima di utilizzare check_postgres.pl su CentOS 7, installa il pacchetto RPM
perl-Data-Dumper.x86_64
.
Output di check_postgres.pl
L'output predefinito delle chiamate API che utilizzano check_postgres.pl
è compatibile con Nagios. Dopo aver installato lo script, esegui i seguenti controlli:
- Controlla le dimensioni del database:
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'
- Controlla il numero di connessioni in entrata al database e confrontalo con il numero massimo di connessioni consentite:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- Controlla se il database è in esecuzione e disponibile:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- Controlla lo spazio su disco:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Controlla il numero di organizzazioni e ambienti di cui è stato eseguito il provisioning in un nodo Postgres:
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
Esegui controlli del database
Puoi verificare che le tabelle appropriate siano create nel database PostgreSQL. Accedi al database PostgreSQL utilizzando il seguente comando:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
Dopodiché, esegui:
\d analytics."org.env.fact"
Controlla lo stato di integrità del processo Postgres
Puoi eseguire controlli dell'API sulla macchina Postgres richiamando il seguente comando curl
:
curl -v http://postgres_IP:8084/v1/servers/self/health
Questo comando restituisce lo stato ACTIVE
quando il processo postgres è attivo. Se il processo Postgres non è attivo e in esecuzione, restituisce lo stato INACTIVE
.
Risorse Postgres
Per ulteriori informazioni sul monitoraggio del servizio Postgres, consulta le seguenti risorse:
- 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
Utilizzare JConsole: monitorare le statistiche delle attività
Utilizza JConsole e il seguente URL del servizio per monitorare gli attributi JMX (MBean) offerti tramite JMX:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
Dove IP_address è l'IP del server Cassandra.
JMX è abilitato per impostazione predefinita per Cassandra e l'accesso JMX remoto a Cassandra non richiede una password.
Statistiche JMX di Cassandra
MBean JMX | Attributi JMX |
---|---|
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 |
Utilizzare nodetool per gestire i nodi del cluster
L'utilità nodetool
è un'interfaccia a riga di comando per Cassandra che gestisce i nodi del cluster. L'utilità è disponibile all'indirizzo /opt/apigee/apigee-cassandra/bin
.
È possibile effettuare le seguenti chiamate su tutti i nodi del cluster Cassandra:
- Informazioni generali sull'anello (possibile anche per un singolo nodo Cassandra): cerca "Up" e "Normal" per tutti i nodi.
nodetool -h localhost ring
L'output del comando riportato sopra è il seguente:
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
- Informazioni generali sui nodi (chiamata per nodo)
nodetool -h localhost info
L'output del comando riportato sopra è il seguente:
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
- Stato del server Thrift (che serve l'API client)
nodetool -h localhost statusthrift
L'output del comando riportato sopra è il seguente:
running
- Stato delle operazioni di streaming dei dati: osserva il traffico per i nodi Cassandra:
nodetool -h localhost netstats
L'output del comando riportato sopra è simile al seguente:
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
Per ulteriori informazioni su nodetool
, consulta
Informazioni sull'utilità nodetool.
Monitoraggio di Cassandra (interfaccia utente)
Fai riferimento all'URL di Datastax OpsCenter: http://www.datastax.com/products/opscenter.
Risorsa Cassandra
Fai riferimento al seguente URL: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache ZooKeeper
Controlla lo stato di ZooKeeper
- Assicurati che il processo ZooKeeper sia in esecuzione. ZooKeeper scrive un file PID in
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Testa le porte di ZooKeeper per assicurarti di poter stabilire una connessione TCP con le porte 2181 e 3888 su ogni server ZooKeeper.
- Assicurati di poter leggere i valori del database ZooKeeper. Connettiti utilizzando una libreria client di ZooKeeper (o
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) e leggi un valore dal database. - Controlla lo stato:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
Utilizza parole di quattro lettere di ZooKeeper
ZooKeeper può essere monitorato tramite un piccolo insieme di comandi (parole di quattro lettere) inviati alla porta 2181 utilizzando netcat (nc) o telnet.
Per ulteriori informazioni sui comandi ZooKeeper, consulta la pagina Riferimento ai comandi di Apache ZooKeeper.
Ad esempio:
srvr
: elenca i dettagli completi del server.stat
: elenca brevi dettagli sul server e sui client collegati.
I seguenti comandi possono essere emessi alla porta ZooKeeper:
- Esegui il comando di quattro lettere ruok per verificare se il server è in esecuzione in uno stato senza errori. Una risposta corretta restituisce "imok".
echo ruok | nc host 2181
Restituisce:
imok
- Esegui il comando a quattro lettere
stat
per elencare le prestazioni del server e le statistiche dei client connessi:echo stat | nc host 2181
Restituisce:
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
- Se netcat (nc) non è disponibile, puoi utilizzare Python in alternativa. Crea un file denominato
zookeeper.py
che contenga quanto segue: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)
Ora esegui le seguenti righe di Python:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
Test di livello LDAP
Puoi monitorare OpenLDAP per verificare se le richieste specifiche vengono eseguite correttamente. In altre parole, cerca una ricerca specifica che restituisca il risultato corretto.
- Utilizza
ldapsearch
(yum install openldap-clients
) per eseguire una query sulla voce dell'amministratore di sistema. Questa voce viene utilizzata per autenticare tutte le chiamate API.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
Ti verrà quindi chiesta la password di amministrazione LDAP:
Enter LDAP Password:
Dopo aver inserito la password, viene visualizzata una risposta nel modulo:
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
- Controlla se il server di gestione è ancora connesso a LDAP con il seguente comando:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Restituisce:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Puoi anche monitorare le cache OpenLDAP, che aiutano a ridurre il numero di accessi al disco e quindi a migliorare le prestazioni del sistema. Il monitoraggio e la successiva ottimizzazione delle dimensioni della cache nel server OpenLDAP possono influire notevolmente sulle prestazioni del server di directory. Puoi visualizzare i file di log (opt/apigee/var/log
) per ottenere informazioni sulla cache.