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 にリストされている必要な情報を必ず指定してください。

-z に関するトラブルシューティング情報については 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 オプションで指定されます。