Node.js アプリケーションのトラブルシューティング

Node.js アプリケーションに問題がある場合は、 CICS® および Node.js によって提供される診断を使用して、問題の原因を判別できます。

CICS は、 Node.jsに関連する問題の診断に役立つ、いくつかの統計、メッセージ、およびトレースを提供します。 Node.js で提供される診断ツールおよびインターフェースには、 Node.js ランタイムおよびアプリケーションの実行に関する詳細情報が記載されています。

Node.js アプリケーション ( IBM® Health Center や Appmetrics など) の分析をリアルタイムおよびオフラインで実行する無料のツールを使用できます。 詳しくは、 IBM Monitoring and Diagnostic Tools-Health Center または Node Application Metricsを参照してください。

ログ・ファイルの場所について詳しくは、 NODEJSAPP の出力、ログ、およびトレースの場所の制御を参照してください。

重要: 問題の原因を修正できない場合は、 IBM サポートに連絡してください。 Node.js の問題を報告するために、 MustGather にリストされている必要な情報を必ず指定してください。

IBM SDK for Node.js -z /OS®に関するトラブルシューティング情報については、 IBM SDK for Node.js - z/OS トラブルシューティングをご参照ください。

インストール検査プログラム (IVP) の実行が失敗した場合

  1. MSGUSR ログを確認します。 CICS メッセージは、 CICS バンドルおよび NODEJSAPP バンドル・パーツがインストールされて使用可能になると、ここに書き込まれます。
  2. SYSPRINT ログを確認します。 CICS メッセージは、 Node.js プロファイルが処理されるときにここに書き込まれます。
  3. WORK_DIR/APPLID/DFHJNIVP/IVPSAMPLE ディレクトリーを確認します。 Node.js ランタイム・メッセージおよびアプリケーション・メッセージは、CURRENT.STDOUTCURRENT.STDERR の各ファイルに書き込まれます。 CICS トレースが使用可能な場合は、 CURRENT.TRACEに書き込まれます。

npm のインストールで、Node.js アプリケーションの依存関係をダウンロードするために必要なサイトに到達できない場合

エラー getaddrinfo ENOTFOUND nodejs.org nodejs.org:443 が表示される場合があります。

  1. npm -verbose install によって返されたメッセージを調べて、サイト TCP/IP アドレスを識別するエラー (Error: connect ETIMEDOUT 2400:cb00:2048:1::6812:5e60:443 など) があるかを確認します。
  2. サイトに代替 TCP/IP アドレスを使用してみてください。 代替 TCP/IP IPv6 および IPv4 アドレスをリストするには、コマンド dig registry.npmjs.org -t any を使用します。 TCP/IP アドレスを使用するように npm を変更するには、最初にコマンド npm adduser --registry=https://<ipaddress> を使用してから、 コマンド npm install を再試行します。
  3. ネットワーク・チームに連絡して、TCP/IP およびファイアウォールの構成を調べてください。

NODEJSAPP がすぐに無効になる場合

以下のメッセージを受け取った場合、CEE5207E The signal SIGABRT was receivedstderrでは、LPAR 上の共用メッセージ・キューの制限に達している可能性があります。 SIGKILL シグナルによって Node.js アプリケーションが終了すると、共用メッセージ・キューは割り振り解除されない場合があります。 これを回避するには、 SIGTERM シグナルに応答してアプリケーションがタイムリーに終了するようにする必要があります。詳しくは、 Node.js アプリケーションの開発を参照してください。

共有メッセージキューの数は、 z/OS コンソールコマンド D OMVS,L を使い、 IPCMSGNIDS を探すことで確認できる。 共有メッセージ・キューを削除するには、 ipcrm コマンドを使用します。詳細については、 ipcrm - メッセージ・キュー、セマフォ・セット、または共有メモリ ID の削除を参照してください。

次のようなメッセージを受け取った場合
  • CEE0374C CONDITION=CEE3561S TOKEN=00030DE9 59C3C5C5 00000000_00000001 WHILE RUNNING PROGRAM static-initialCICS ジョブ・ログで、
  • CEE3501S The module libnode.so was not foundstderrで、
  • またはDFHSJ1313 E CICSUSER CNJL NODEJSAPP CICSJSON was disabled because an unsupported version of IBM SDK for Node.js - z/OS was usedin MSGUSR
CICS でサポートされている最小レベルの Node.js を使用しているかどうかを確認してください。 Node.js ランタイムのパスは、Node.js プロファイルの NODE_HOME オプションで指定されます。