はじめに
このドキュメントでは、RESTクライアントとしてPostManを使用し、ERS API経由でISEサポートバンドルをトリガーしてダウンロードするプロセスについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ISE
- 外部RESTfulサービス
- RESTクライアントには、Postman、RESTED、Insomniaなどがあります。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Cisco ISE 3.1パッチ6
- Postman RESTクライアントv10.17.4
注:手順は、他のISEバージョンとRESTクライアントで類似または同一です。これらの手順は、特に記載のない限り、すべての2.xおよび3.x ISEソフトウェアリリースで使用できます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ERSの有効化(ポート9060)
ERS APIは、ポート443およびポート9060で動作するHTTPS専用のREST APIです。ポート9060はデフォルトで閉じられているため、最初に開く必要があります。 このポートにアクセスしようとしているクライアントが最初にERSをイネーブルにしていない場合、サーバからのタイムアウトが表示されます。したがって、最初の要件は、Cisco ISE管理UIからERSを有効にすることです。
Administration > Settings > API Settingsに移動し、ERS(読み取り/書き込み)トグルボタンを有効にします。
注:ERS APIはTLS 1.1とTLS 1.2をサポートしています。ERS APIは、Cisco ISE GUIのSecurity Settingsウィンドウ(Administration > System > Settings > Security Settings)でTLS 1.0を有効にしたかどうかに関係なく、TLS 1.0をサポートしません。[セキュリティの設定]ウィンドウでTLS 1.0を有効にすることは、EAPプロトコルのみに関連し、ERS APIには影響しません。
ERS管理者の作成
Cisco ISE管理者を作成し、パスワードを割り当て、ユーザをERS Adminとして管理グループに追加します。残りの設定は空のままにしておくことができます。
Postmanの設定
Postmanのオンライン版をダウンロードまたは使用します。
- ユーザを作成し、ワークスペースを作成します。これを行うには、「ワークスペース」タブにある「ワークスペースを作成」をクリックします。
2. 「ブランク・ワークスペース」を選択し、ワークスペースに名前を割り当てます。説明を追加して公開できます。 この例では、Personalisが選択されています。
ワークスペースを作成したら、API呼び出しを設定できます。
トリガーサポートバンドル
コールを設定するために、では、最初にISE ERS SDK(Software Developer Kit)にアクセスします。このツールは、ISEが実行できるAPIコールのリスト全体をコンパイルします。
- https://{ise-ip}/ers/sdkにアクセスします。
- ISE管理者クレデンシャルを使用してログインします。
- APIドキュメントの展開
- Support Bundle Trigger Configurationが見つかるまでスクロールダウンし、これをクリックします。
- このオプションでは、ISEでこのオプションに対して実行できるすべての操作を検索できます。Createを選択します。
6. これで、任意のRestクライアント上でXMLまたはJSONを使用してAPIコールを実行するために必要な設定と、想定される応答例が表示されます。
7.Postmanに戻り、ISEへの基本認証を設定します。Authorization タブで、認証タイプとしてBasic Authを選択し、ISEで作成済みのISE ERSユーザクレデンシャルを追加します。
注:Postmanで変数が設定されていない限り、パスワードはクリアテキストで表示されます
8. PostmanでHeadersタブに移動し、SDKに表示されるXMLまたはJSONを使用してAPIコールに必要なヘッダーを設定します。この例では、JSONが使用されます。 ヘッダー設定は次のようになります。
9. Bodyヘッダーに移動し、rawを選択します。これにより、サポートバンドルのトリガーに必要なXMLまたはJSONテンプレートを貼り付けることができます。
10. XMLまたはJSONテンプレートをBodyセクションに貼り付け、必要に応じて値を変更します。
XML:
<?xml version="1.0" encoding="UTF-8"?> <ns0:supportbundle xmlns:ns0="supportbundle.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="Support Bundle Generation" name="supportBundle"> <hostName>Node hostname the SB is being collected from </hostName> <supportBundleIncludeOptions> <fromDate>mm/dd/yyyy</fromDate> <includeConfigDB>true|false</includeConfigDB> <includeCoreFiles>true|false</includeCoreFiles> <includeDebugLogs>true|false</includeDebugLogs> <includeLocalLogs>true|false</includeLocalLogs> <includeSystemLogs>true|false</includeSystemLogs> <mntLogs>true|false</mntLogs> <policyXml>true|false</policyXml> <toDate>mm/dd/yyyy</toDate> </supportBundleIncludeOptions> </ns0:supportbundle>
JSON:
{ "SupportBundle": { "name": "supportBundle", "description": "Support Bundle Generation", "hostName": "node hostname the SB is being collected from", "supportBundleIncludeOptions": { "includeConfigDB": true|false, "includeDebugLogs": true|false, "includeLocalLogs": true|false, "includeCoreFiles": true|false, "mntLogs": true|false, "includeSystemLogs": true|false, "policyXml": true|false, "fromDate": "mm/dd/yyyy", "toDate": "mm/dd/yyyy" } } }
11. 方法としてPOSTを選択し、https://{ISE-ip}/ers/config/supportbundleをペーストして、Sendをクリックします。 すべてが正しく設定されていれば、「201 Created」というメッセージが表示され、結果は空白になります。
サポートバンドルの状態の確認
一連のGETコールを実行することで、サポートバンドルがトリガーされたのか、完了したのかを確認できます。
注:サポートバンドルは、ログから収集した情報量に応じて、完了までに5 ~ 20分かかります。
- SDKのサポートバンドルStatustab selectGet-Allの下に表示されます。次のGETコールを実行できるように、IDを取得する必要があります。 前述したように、コールを実行するために必要なヘッダーと予想される応答を次に示します。
2. Headersタブに移動し、SDKに表示されるAPIコールに必要なヘッダーを設定します。この例では、JSONが使用されます。ヘッダー設定は次のようになります。
3. 方法としてGETを選択し、https://{ISE-ip}/ers/config/supportbundlestatusをペーストして、Sendをクリックします。 すべてが正しく設定されていれば、「200 OK」メッセージと、トリガーされた最後のサポートバンドルに関連する情報を含む結果が表示されます。この問い合わせでは、サポートバンドルが正常に完了したかどうかはわかりません。このコールからIDを収集し、次のGETコールで使用できるようにします。
4. IDが収集されたら、SDKのサポートバンドルStatustabに移動し、selectGet-By-Idを選択します。前に見たように、ここにはコールの実行に必要なヘッダーと、期待される応答が示されています。
5. Headersタブに移動し、SDKに表示されるAPIコールに必要なヘッダーを設定します。この例では、JSONが使用されます。ヘッダー設定は次のようになります。
6. 方法としてGETを選択し、https://{ISE-ip}/ers/config/supportbundlestatus/{id} とステップ3で収集したIDを貼り付け、最後にSendをクリックします。 すべてが正しく設定されていれば、「200 OK」メッセージと、トリガーされた最後のサポートバンドルの完了に関連するかどうかに関連する情報を含む結果が表示されます。PUTコールが必要なため、このコールからのfileNameをメモします。
サポートバンドルのダウンロード
サポートバンドルが完了状態であることを確認します。ダウンロードに進むことができます。
- SDKのSupport Bundle DownloadtabでDownload SupportBundleを選択します。前に見たように、コールを実行するために必要なヘッダー、XMLおよびJSONテンプレート、および予想される応答を次に示します。
2. Headersタブに移動し、SDKに表示されるAPIコールに必要なヘッダーを設定します。この例では、JSONが使用されます。ヘッダー設定は次のようになります。
3. Bodyヘッダーに移動し、rawを選択します。これにより、サポートバンドルのダウンロードに必要なXMLまたはJSONテンプレートを貼り付けることができます。
4. XMLまたはJSONテンプレートをBody セクションに貼り付け、必要に応じて値を変更します。ファイル名は、ステップ6で収集したファイル(ise-support-bundle-pk-ise3-1test-external-09-26-2023-01-26.tar.gpg)の名前です。
XML
<?xml version="1.0" encoding="UTF-8"?> <ns0:supportbundle xmlns:ns0="supportbundle.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com"> <fileName>Support bundle file name to be picked for download</fileName> </ns0:supportbundle>
JSON:
{ "ErsSupportBundleDownload" : { "fileName" : "Support bundle file name to be picked for download" } }
5. 方法としてPUTを選択し、https://{ISE-ip}/ers/config/supportbundledownload をペーストして、Sendをクリックします。 すべてが正しく設定されていれば、「200 OK」メッセージが表示され、ファイルがダウンロードされます。
確認
https://{iseip}:{port}/api/swagger-ui/index.htmlやhttps://{iseip}:9060/ers/sdkなどのAPIサービスのGUIページにアクセスできる場合は、APIサービスが期待どおりに動作していることを意味します。
トラブルシュート
- すべてのREST操作が監査され、ログがシステムログに記録されます。
- Open APIに関連する問題をトラブルシューティングするには、Debug Log ConfigurationウィンドウでapiserviceコンポーネントのログレベルをDEBUGに設定します。
- ERS APIに関する問題をトラブルシューティングするには、Debug Log ConfigurationウィンドウでersコンポーネントのLog LevelをDEBUGに設定します。このウィンドウを表示するには、Cisco ISE GUIに移動し、メニューアイコンをクリックして、Operations > Troubleshoot > Debug Wizard > Debug Log Configurationの順に選択します。
- ログは、Download Logsウィンドウからダウンロードできます。このウィンドウを表示するには、Cisco ISE GUIに移動し、メニューアイコンをクリックして、Operations > Troubleshoot > Download Logsの順に選択します。
- Support Bundleタブの下のDownloadボタンをクリックして、このタブからサポートバンドルをダウンロードするか、api-serviceデバッグログのLog Fileの値をクリックして、このapi-serviceデバッグログをDebug Logsタブからダウンロードするかを選択できます。