Monitoraggio Apigee Microgateway

Scopri come monitorare Apigee Microgateway.

Instana Node.js Collector supporta Apigee Microgateway (noto anche edgemicro come ) a partire dalla versione @instana/collector@1.89.0.

Quando si avvia l'istanza di Microgateway eseguendo edgemicro start o edgemicro forever -a start, è necessario un passaggio aggiuntivo (descritto in questa pagina) per poterla utilizzare con il collettore Node.js di Instana. Questo scenario generalmente implica che il pacchetto edgemicro viene installato globalmente tramite npm install -g edgemicro o yarn global add edgemicro (invece di installarlo come dipendenza della propria applicazione).

Se invece utilizzi microgateway-core come dipendenza nella tua app personalizzata, non hai bisogno delle istruzioni riportate in questa pagina. Utilizza invece il metodo di installazione locale per @instana/collector.

Utilizzo di edgemicro con @instana/collector

In una normale applicazione Node.js, il collettore Instana Node.js viene abilitato aggiungendo la seguente riga al file di configurazione principale del proprio codice:

require('@instana/collector')();
 

Quando si esegue l'installazione edgemicro a livello globale e si utilizza l'interfaccia della edgemicro riga di comando per avviare Apigee Microgateway, non è necessario aggiungere alcun codice personalizzato.

In questo caso, il pacchetto del collector di Instana fornisce un eseguibile che strumenta staticamente un'installazione edgemicro esistente e la rende compatibile c Instana.

La configurazione deve essere effettuata sul computer su cui è in esecuzione edgemicro l'istanza che si desidera monitorare. Se stai eseguendo il programma edgemicro in un container, segui questi passaggi all'interno del container stesso. È sufficiente farlo una sola volta dopo aver installato il edgemicro pacchetto su quel computer o container, non ogni volta che si desidera avviare il programma edgemicro. I passaggi seguenti consentono di configurare l'installazione edgemicro per il monitoraggio e il tracciamento di Instana :

  • Installa il collector di Instana Node.js a livello globale sullo stesso computer o nello stesso container della tua edgemicro installazione. Assicurati che il collettore sia installato su un file system a cui la tua edgemicro installazione possa accedere.
  • Una volta @instana/collector installato, sei pronto per configurare il tuo edgemicro sistema per l' Instana. Utilizzare il seguente comando:
    instana-instrument-edgemicro-cli
     
  • Questo eseguibile è fornito da @instana/collector e dovrebbe trovarsi nel percorso quando è stato installato globalmente il pacchetto. Se la tua shell non è configurata per individuare i file eseguibili dei pacchetti npm installati a livello globale, puoi anche ricorrere all'esecuzione di $(npm root -g)/../../bin/instana-instrument-edgemicro-cli.
  • Questo comando dovrebbe stampare quando è fatto.
    Done: The edgemicro module has been statically instrumented for Instana tracing and metrics collection.
     

Nota: questa procedura (in particolare, la chiamata di instana-instrument-edgemicro-cli) deve essere ripetuta quando edgemicro viene reinstallato o aggiornato a una versione più recente. Non è dannoso eseguirlo più volte per la stessa installazione edgemicro . L'eseguibile è abbastanza intelligente da riconoscere che l'installazione è già stata strumentalizzata, e che aggiornerà la strumentazione esistente, se necessario. La procedura deve essere ripetuta anche se l'ubicazione del package @instana/collector cambia, ma non quando il package viene aggiornato a una versione più recente.

Utilizzo avanzato

L'eseguibile di solito non ha bisogno di argomenti poiché è in grado di trovare un'installazione di edgemicro installata globalmente. Tuttavia, è possibile fornire facoltativamente l'ubicazione di edgegateway (e anche di @instana/collector) come argomenti:

instana-instrument-edgemicro-cli [edgemicro_path [instana-collector-path]]
 

Esempi:

# let Instana figure out the paths
instana-instrument-edgemicro-cli
 
# specify the edgemicro path
instana-instrument-edgemicro-cli /path/to/edgemicro
 
# also specify the @instana/collector path`
instana-instrument-edgemicro-cli /path/to/edgemicro /path/to/@instana/collector
 

Per scoprire dove è installato il package edgemicro :

  • Eseguire il comando npm root -g per individuare la posizione della cartella node_modules globale. Supponiamo che questa stampa /usr/local/lib/node_modules. Se il pacchetto edgemicro è stato installato globalmente, dovrebbe trovarsi nella directory /usr/local/lib/node_modules/edgemicro, che è il percorso di installazione che si sta cercando.
  • Inoltre, eseguire il comando ls -l $(which edgemicro) per individuare l'eseguibile effettivamente utilizzato quando si utilizza il comando edgemicro sulla riga comandi. L'output potrebbe essere qualcosa come:
    ls -l $(which edgemicro)
     
       lrwxrwxrwx 1 user group 01 Jan 19 01:23 /usr/local/bin/edgemicro -> ../lib/node_modules/edgemicro/cli/edgemicro
     
  • Ciò verifica che il pacchetto edgemicro installato in /usr/local/lib/node_modules/edgemicro sia quello utilizzato quando si utilizza il comando edgemicro .

Vedo un output inaspettato nel log di Instana, cosa sta succedendo?

Come effetto collaterale di questa strumentazione, potresti visualizzare l'output di log da @instana/collector anche quando esegui altri comandi edgemicro , ad esempio edgemicro stop, edgemicro reload, edgemicro version e così via. Questo è previsto e può essere tranquillamente ignorato.