Risoluzione dei problemi delle applicazioni Node.js

Se si ha un problema con un'applicazione Node.js , è possibile utilizzare la diagnostica fornita da CICS® e Node.js per determinare la causa del problema.

CICS fornisce alcune statistiche, messaggi e traccia per facilitare la diagnosi dei problemi correlati a Node.js. Gli strumenti e le interfacce di diagnostica forniti con Node.js possono fornirti informazioni più dettagliate sul runtime Node.js e sull'esecuzione dell'applicazione.

Puoi utilizzare gli strumenti liberamente disponibili che eseguono l'analisi in tempo reale e offline di un'applicazione Node.js , ad esempio IBM® Health Center o Appmetrics. Per ulteriori informazioni, consultare IBM Monitoring e Diagnostic Tools - Health Center o Node Application Metrics.

Per ulteriori informazioni su dove trovare i file di log, consultare Controllo dell'ubicazione per l'output NODEJSAPP, i log e la traccia.

Importante se non è possibile correggere la causa del problema, contattare il supporto IBM . Assicurati di fornire le informazioni richieste, come elencato in MustGather per la segnalazione dei problemi Node.js .

Per informazioni sulla risoluzione dei problemi relativi a IBM SDK for Node.js -z, vedere IBM SDK for Node.js - z/OS Troubleshooting.

Se IVP (Installation Verification Program) non viene eseguito:

  1. Controllare il log MSGUSR . I messaggi CICS vengono scritti qui quando il bundle CICS e la parte del bundle NODEJSAPP sono installati e abilitati.
  2. Controllare il log SYSPRINT . I messaggi CICS vengono scritti qui quando viene elaborato il profilo Node.js .
  3. Controllare la directory WORK_DIR/APPLID/DFHJNIVP/IVPSAMPLE . I messaggi di applicazione e runtime Node.js vengono scritti nei file CURRENT.STDOUT e CURRENT.STDERR. Se la traccia CICS è abilitata, viene scritta in CURRENT.TRACE.

Se l'installazione npm non riesce a raggiungere il sito richiesto per scaricare le dipendenze dell'applicazione Node.js

Potrebbe essere visualizzato l'errore getaddrinfo ENOTFOUND nodejs.org nodejs.org:443.

  1. Controllare i messaggi restituiti da npm -verbose install per gli errori che identificano l'indirizzo TCP/IP del sito, ad esempio Error: connect ETIMEDOUT 2400:cb00:2048:1::6812:5e60:443.
  2. Provare a utilizzare indirizzi TCP/IP alternativi per il sito. Per elencare gli indirizzi TCP/IP alternativi IPv6 e IPv4 , utilizzare il comando dig registry.npmjs.org -t any. Per modificare npm in modo da utilizzare un indirizzo TCP/IP, utilizzare prima il comando npm adduser --registry=https://<ipaddress> e quindi ritentare il comando npm install.
  3. Contattare il proprio team di rete per esaminare la configurazione del TCP/IP e del firewall.

Se NODEJSAPP viene disabilitato immediatamente

Se si riceve il messaggioCEE5207E The signal SIGABRT was receivedin stderr, è possibile che sia stato raggiunto il limite di code di messaggi condivisi sulla LPAR. Quando le applicazioni Node.js vengono terminate da un segnale SIGKILL , l'assegnazione delle code di messaggi condivisi potrebbe non essere annullata. Per evitare ciò, devi assicurarti che le tue applicazioni terminino in modo tempestivo in risposta a un segnale SIGTERM , per maggiori informazioni consulta Sviluppo di applicazioni Node.js.

È possibile controllare il numero di code di messaggi condivisi che utilizzano il comando della console z/OS D OMVS,L e ricercare IPCMSGNIDS. Per eliminare le code di messaggi condivisi, utilizzare il comando ipcrm , per ulteriori informazioni, consultare ipcrm - Remove message queues, semaphore sets, or shared memory IDs.

Se si riceve un messaggio come
  • CEE0374C CONDITION=CEE3561S TOKEN=00030DE9 59C3C5C5 00000000_00000001 WHILE RUNNING PROGRAM static-initialnel log del lavoro CICS ,
  • CEE3501S The module libnode.so was not foundin stderr,
  • oDFHSJ1313 E CICSUSER CNJL NODEJSAPP CICSJSON was disabled because an unsupported version of IBM SDK for Node.js - z/OS was usedIN MSGUSR
verificare se si sta utilizzando il livello minimo di Node.js supportato in CICS. Il percorso al runtime Node.js è specificato dall'opzione NODE_HOME nel profilo Node.js .