Come monitorare

Edge per Private Cloud v4.18.05

Questo documento descrive le tecniche di monitoraggio dei componenti supportati da un server il deployment di Apigee Edge.

Panoramica

Edge supporta diversi modi per ottenere dettagli sui servizi e per controllare i loro stati. Nella tabella seguente sono elencati i tipi di controlli che puoi eseguire su ogni servizio:

Servizio JMX:*
utilizzo della memoria
API Mgmt:
Controllo del servizio
API Mgmt:
Utente/organizzazione/ stato 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 abilitarlo, come descritto in Attivare JMX.

Porte di monitoraggio JMX e API di gestione

Ogni componente supporta le chiamate di monitoraggio JMX e API di gestione su porte diverse. La nella tabella seguente sono elencate le porte JMX e API di gestione di ciascun 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 utilizzare JMX. Tuttavia, JMX è abilitato per impostazione predefinita solo per Cassandra e disattivato per impostazione predefinita per tutti gli altri componenti Edge. Devi quindi attivare JMX singolarmente per ogni componente prima di in grado di monitorarle.

L'autenticazione JMX non è abilitata per impostazione predefinita. Puoi attivare l'autenticazione JMX per tutti ad eccezione di Cassandra.

Attiva JMX

JMX è abilitato per impostazione predefinita solo per Cassandra e disabilitato per impostazione predefinita per tutti gli altri dispositivi Edge componenti. Questa sezione descrive come attivare JMX per gli altri componenti Edge.

Per attivare JMX:

  1. Modifica il file di configurazione del componente. Questo file si trova in opt/apigee/edge-component_name/bin/start. In produzione questi file di configurazione si troveranno su macchine diverse.

    Scegli tra le seguenti posizioni di file su ciascun 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 suo server si trova /opt/apigee/edge-management-server/bin/start.

  2. Aggiungi le seguenti opzioni di com.sun.management.jmxremote a exec che inizia 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 ottenere il token JMX del servizio numero di porta, consulta Porte di monitoraggio JMX e API di gestione.

    Ad esempio, per attivare JMX sul server di gestione, aggiungi quanto segue alla sezione File di configurazione del server:

    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 detto in precedenza, 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
  3. Salva il file di configurazione.
  4. Riavvia il componente con il comando restart.

    Ad esempio, per riavviare il server di gestione, esegui questo 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 tranne Cassandra, come descritto in Abilitare l'autenticazione JMX.

Attiva autenticazione JMX

L'autenticazione JMX non è abilitata per impostazione predefinita. Puoi attivare l'autenticazione JMX per tutti ad eccezione di Cassandra.

Per attivare l'autenticazione JMX, esegui la seguente azione change_jmx_auth su tutti nodi:

/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]

Dove:

  • component corrisponde a uno dei seguenti:
    • 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 le seguenti:
    • JMX_USERNAME=username
    • JMX_ENABLED=y|n
    • JMX_PASSWORD=password (se non impostato o non trasmesso con -p, ti viene chiesto)

Per definire il nome utente, puoi utilizzare le opzioni della riga di comando, password e lo stato di abilitazione/disabilitazione. Non devi specificare sia un insieme di opzioni sia una configurazione .

L'esempio seguente abilita l'autenticazione JMX per il server di gestione utilizzando il comando opzioni delle linee:

/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 password.

Per disattivare l'autenticazione JMX dalla riga di comando, utilizza "-e n" , come riportato di seguito un esempio mostra:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -e n

Monitora con JConsole

Utilizza JConsole (uno strumento conforme a JMX) per gestire e monitorare il controllo di integrità e le statistiche relative all'elaborazione. Con JConsole, puoi utilizzare le statistiche JMX esposte dai server e visualizzarle in un Graphic User Interface. Per ulteriori informazioni, vedi Utilizzo di JConsole.

JConsole utilizza il seguente URL del 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 monitoraggio.

Ad esempio, per monitorare il server di gestione, esegui un comando simile al seguente (supponendo l’indirizzo IP del server è 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 di Management Server. Per altro 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 server, nonché per controllare utenti, organizzazioni e deployment. In questa sezione vengono descritte le API.

Esegui i controlli del servizio

L'API di gestione fornisce diversi endpoint per il monitoraggio e la diagnosi dei problemi i servizi di machine learning. Questi endpoint includono:

Endpoint Descrizione
/servers/self/up

Verifica se un servizio è in esecuzione. Questa chiamata API non richiede di autenticarsi.

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 l'hai controllato):

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

Restituisce informazioni sul servizio, tra cui:

  • Proprietà di configurazione
  • Ora di inizio e ora di attività
  • Informazioni su build, RPM e UUID
  • Nome host e indirizzo IP interni ed esterni
  • Regione e pod
  • <isUp>, che indica se il servizio è in esecuzione

Questa chiamata API richiede l'autenticazione con le tue credenziali di amministratore 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 il server, puoi utilizzare "localhost"; altrimenti, specifica anche l'indirizzo IP del server come nome utente e password.
  • port_number è la porta dell'API di gestione del server che vuoi controllare. Questo è una porta diversa per ogni tipo di componente. Ad esempio, l'interfaccia utente del server di gestione La porta dell'API di gestione è 8080. Per un elenco dei numeri di porta dell'API di gestione da utilizzare, vedi Porte di monitoraggio JMX e API di gestione

Per modificare il formato della risposta, puoi specificare l'intestazione Accept come &quot;application/json&quot; 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 al 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 degli utenti, dell'organizzazione e del deployment

Puoi utilizzare l'API di gestione per monitorare lo stato degli utenti, dell'organizzazione e dell'implementazione sui proxy su server di gestione e processori di messaggi utilizzando i seguenti comandi:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

Dove port_number è 8080 per il server di gestione o 8082 per il messaggio Processore.

Questa chiamata richiede l'autenticazione con il nome utente di amministratore di sistema e password.

Il server dovrebbe restituire un errore "Deployment eseguito" stato di tutte le chiamate. Se il problema persiste:

  1. Verifica la presenza di eventuali errori nei log del server. I log si trovano in:
    • Server di gestione: opt/apigee/var/log/edge-management-server
    • Processore di messaggi: opt/apigee/var/log/edge-message-processor
  2. Effettua una chiamata al server per verificare che funzioni correttamente.
  3. Rimuovi il server dall'ELB e riavvialo:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    Dove si trova service_name:

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

Controlla lo stato con il comando apigee-service

Puoi risolvere i problemi dei tuoi servizi perimetrali utilizzando il comando apigee-service quando collegato al server che esegue il servizio.

Per controllare lo stato di un servizio con apigee-service:

  1. Accedi al server ed esegui questo comando:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    Dove service_name è uno dei seguenti:

    • 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
  2. Se il servizio non è in esecuzione, avvialo:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. Dopo aver riavviato il servizio, verifica che funzioni utilizzando il comando Comando apigee-service status utilizzato in precedenza o mediante l'API di gestione descritto 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.

    In questo esempio si presuppone che tu abbia eseguito l'accesso al server e puoi utilizzare "localhost" come il dell'host. Per verificare lo stato in remoto con l'API di gestione, devi specificare l'IP indirizzo del server e includi il nome utente e la password dell'amministratore di sistema nell'API chiamata.

Monitoraggio di Postgres

Postgres supporta diverse utilità che puoi utilizzare per controllare il suo stato. Queste utilità sono descritti nelle sezioni che seguono.

Controlla organizzazioni e ambienti su Postgres

Puoi controllare i nomi delle organizzazioni e degli ambienti inseriti nel server Postgres utilizzando il seguente comando curl:

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

Nel sistema dovrebbe essere visualizzato il nome dell'organizzazione e dell'ambiente.

Verifica lo stato dei dati e delle analisi

Puoi verificare lo stato dei server di analisi Postgres e Qpid inviando quanto segue Comando curl:

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

Il sistema dovrebbe visualizzare uno stato di operazione riuscita per tutti i server di analisi, come nell'esempio seguente mostra:

{
  "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 nello specifico per monitorare Postgres per configurare un database.

Utilizza lo script check_postgres.pl

Per monitorare il database PostgreSQL, puoi usare uno script di monitoraggio standard, check_postgres.pl. Per ulteriori informazioni, vedi http://bucardo.org/wiki/Check_postgres.

Prima di eseguire lo script:

  1. Devi installare lo script check_postgres.pl su ciascun nodo Postgres.
  2. Assicurati di aver installato perl-Time-HiRes.x86_64, un modulo Perl che implementa sveglie ad alta risoluzione, sonno, ora del giorno e timer a intervalli. Ad esempio, può installarlo utilizzando questo comando:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: prima di utilizzare check_postgres.pl su CentOS v7, installare il perl-Data-Dumper.x86_64 rpm.

Output check_postgres.pl

L'output predefinito delle chiamate API che utilizzano check_postgres.pl è Nagios compatibili. Dopo aver installato lo script, verifica quanto segue:

  1. 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'
  2. Controlla il numero di connessioni in entrata nel database e confrontalo con il numero massimo consentito connessioni:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. Controlla se il database è in esecuzione e disponibile:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. 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%'
  5. Controlla il numero di organizzazioni e ambienti di cui è stato eseguito l'onboarding 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 nel database PostgreSQL vengano create le tabelle corrette. Accedi a PostgreSQL utilizzando il comando seguente:

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 i controlli API sulla macchina Postgres richiamando il seguente 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 quanto segue:

Apache Cassandra

Usa 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 un password.

Statistiche JMX 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

Usa nodetool per gestire i nodi del cluster

L'utilità nodetool è un'interfaccia a riga di comando per Cassandra che gestisce nodi del cluster. L'utilità è disponibile all'indirizzo /opt/apigee/apigee-cassandra/bin.

Le chiamate seguenti possono essere effettuate su tutti i nodi del cluster Cassandra:

  1. Informazioni generiche sullo squillo (possibili anche per un singolo nodo Cassandra): cerca la "Su" e "Normale" per tutti i nodi.
    nodetool -h localhost ring

    L'output del comando precedente è simile all'esempio 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
  2. Informazioni generali sui nodi (chiamata per nodo)
    nodetool -h localhost info

    L'output del comando precedente è simile al 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
  3. Stato del server dell'usato (API client di pubblicazione)
    nodetool -h localhost statusthrift

    L'output del comando precedente è simile al seguente:

    running
  4. Stato delle operazioni di flusso di dati: osserva il traffico per i nodi Cassandra:
    nodetool -h localhost netstats

    L'output del comando precedente è 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, vedi Informazioni sull'utilità nodetool.

Monitoraggio Cassandra (UI)

Consulta l'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

Controllare lo stato di ZooKeeper

  1. Assicurati che il processo ZooKeeper sia in esecuzione. ZooKeeper scrive un file PID in opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. Testa le porte di ZooKeeper per assicurarti di poter stabilire una connessione TCP alle porte 2181 e 3888 su ogni server ZooKeeper.
  3. Assicurati di poter leggere i valori del database ZooKeeper. Connettiti utilizzando ZooKeeper libreria client (o /opt/apigee/apigee-zookeeper/bin/zkCli.sh) e leggi un valore dal database.
  4. Controlla lo stato:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

Usa parole di quattro lettere di ZooKeeper

ZooKeeper può essere monitorato tramite un piccolo insieme di comandi (parole di quattro lettere) che vengono inviati la porta 2181 utilizzando netcat (nc) o telnet.

Per ulteriori informazioni sui comandi ZooKeeper, consulta: Riferimento per i comandi di Apache ZooKeeper.

Ad esempio:

  • srvr: elenca i dettagli completi del server.
  • stat: elenca brevi dettagli relativi al server e ai client connessi.

I seguenti comandi possono essere inviati alla porta ZooKeeper:

  1. Esegui il comando ruok di quattro lettere per verificare se il server è in esecuzione in uno stato diverso da errore. R la risposta corretta restituisce "imok".
    echo ruok | nc host 2181

    Restituisce:

    imok
  2. Esegui il comando a quattro lettere stat per elencare le prestazioni del server e i dati connessi statistiche sui clienti:
    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
  3. Se netcat (nc) non è disponibile, puoi utilizzare Python in alternativa. Crea un file denominato zookeeper.py che contiene 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 linee Python:

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

Test del livello LDAP

Puoi monitorare OpenLDAP per verificare se le richieste specifiche vengono gestite correttamente. Nella altre parole, verifica se una ricerca specifica restituisce il risultato corretto.

  1. Usa 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 richiesta la password dell'amministratore LDAP:

    Enter LDAP Password:

    Dopo aver inserito la password, vedrai 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
  2. 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, utili per ridurre il numero di accessi al disco. migliorando quindi le prestazioni del sistema. Monitorare e quindi ottimizzare le dimensioni della cache Il server OpenLDAP può influire notevolmente sulle prestazioni del server di directory. Puoi visualizzare il log (opt/apigee/var/log) per ottenere informazioni sulla cache.