NX-API のトラブルシューティング

NX-API のガイドライン

NX-API は、スイッチ上の Programmable Authentication Module(PAM)を使用して認証を行います。cookie を使用して PAM の認証数を減らし、PAM の負荷を減らします。

NX-API が応答しない

NX-API が応答しない場合は、次のアクションを実行します。

  • show feature | grep nxapi コマンドを使用して、NX-API が有効になっていることを確認します。
  • show nxapi コマンドを使用して、HTTP または HTTPs が有効になっていることを確認します。
  • show nxapi コマンドを使用して、NX-API が予期されるポートでリッスンしていることを確認します。
  • 長時間実行されているコマンドを確認します。現在、NX-API は単一のワーカー プロセスで実行され、シングル スレッドです。1 つのコマンドの完了に時間がかかると、他のコマンドがブロックされます。NX-API は要求をキャッシュします。現在の要求が完了すると、他の要求が処理されます。
  • Bash を有効にします。手順詳細については、『Cisco Nexus 9000 Series NX-OS Programmability Guide』を参照してください。
  • /var/sysmgr_nxapi/logs/error.log でエラーがないか確認します。
  • NX-API がまだ応答しない場合は、no feature nxapi を入力します および feature nxapi NX-API を再起動します。NX-API はステートレスであり、再起動しても安全です。

設定が失敗します

ユーザがコンフィギュレーション コマンドを実行できない場合は、次のアクションを実行します。

  • ユーザにコマンドを実行するための正しい権限があることを確認します。

Bash に対する許可が拒否される

ユーザが Bash の「許可が拒否される(Permission Denied)」メッセージを受信した場合は、次のアクションを実行します。

  • show feature | grep bash を使用して Bash が有効になっていることを確認します コマンドを実行してください。

  • 現在のユーザが Bash にアクセスするための正しい権限を持っていることを確認します。

  • Bash の詳細については、『Cisco Nexus 9000 Series NX-OS Programmability Guide』を参照してください。

ブラウザ サンドボックスから出力を取得できない

ブラウザ サンドボックスから出力を取得できない場合は、次のアクションを実行します。

  • 出力が大きい場合やコマンドの実行に時間がかかる場合は、ブラウザがロードを処理できず、タイムアウトする可能性があります。Python クライアントを使用して NX-API にアクセスしてみてください。手順詳細については、『Cisco Nexus 9000 Series NX-OS Programmability Guide』を参照してください。

    (注)  


    推奨されるブラウザは Mozilla Firefox です。

CLI コマンド エラーが表示される

ユーザが複数のコマンドを実行したときにCLI コマンド エラーが表示される場合は、次のアクションを実行します。

  • 複数のコマンドがどのように区切られているかを確認します。show コマンドと configure コマンドは [スペース] で区切る必要があります。Bash コマンドはセミコロン(;)で区切る必要があります。

エラーメッセージが表示される

エラーメッセージが出力に表示される場合は、次のアクションを実行します。
  • エラー メッセージの手順に従ってください。
  • Bash コマンドが実行されない場合は、Bash が有効になっているか確認するために、show feature | grep bash コマンドを実行してください。Bash の詳細については、『Cisco Nexus 9000 Series NX-OS Programmability Guide』を参照してください。
  • ユーザにコマンドを実行するための正しい権限があることを確認します。
  • NX-API が応答しないの指示に従って操作します。

一時ファイルが消える

リクエストごとに、一時ファイルが /volatile に作成され、クライアントに返されるコマンド出力が保存されます。要求のチャンク パラメータが 0 の場合、コマンド出力がクライアントに送り返される直前にファイルは削除されます。要求のチャンクが 1 の場合、チャンクを抽出してクライアントに送信できるようにファイルは保持されます。そのファイルは定期的にクリーンアップされます。現在、このクリーンアップは 100 リクエストごとに実行されるように設定されています。ファイルは、作成後 60 秒以内にアクセスされなかった場合、または 600 秒以内に変更されなかった、またはステータスが更新されなかった場合にクリーンアップされます。

コマンド出力のチャンクが配信されない

チャンク = 1 の要求では、sid が同じ値に設定されている場合、コマンド出力の同じチャンクが取得されます。この機能は、クライアントが特定のチャンクを要求し、ネットワーク内のどこかでドロップまたはブロックされたために、タイムリーに受信しない状況に対応します。クライアントは同じチャンクを再度要求でき、一時ファイルがクリーンアップされていない限り、正しいデータを受信します(一時ファイルが消える を参照)。