目录

简介

先决条件

要求

使用的组件

配置

启用ERS（端口9060）

创建ERS管理员

设置Postman

触发器支持捆绑包

检查支持捆绑包状态

下载支持捆绑包

验证

故障排除

简介

本文档介绍使用PostMan作为REST客户端通过ERS API触发和下载ISE支持捆绑包的流程。

先决条件

要求

Cisco 建议您了解以下主题：

- ISE

- 外部RESTful服务

- REST客户包括Postman、RESTED、Insomnia等。

使用的组件

本文档中的信息基于以下软件版本：

- 思科ISE 3.1补丁6

- Postman REST客户端v10.17.4

注意：其他ISE版本和REST客户端的步骤类似或相同。除非另有说明，您可在所有2.x和3.x ISE软件版本上使用这些步骤。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

配置

启用ERS（端口9060）

ERS API是只使用HTTPS的REST API，在端口443和端口9060上运行。端口9060默认关闭，因此需要先打开。 如果尝试访问此端口的客户端不首先启用ERS，则会出现服务器超时。因此，第一个要求是从Cisco ISE管理员UI启用ERS。

导航到Administration > Settings > API Settings并启用ERS (Read/Write)切换按钮。

注：ERS API支持TLS 1.1和TLS 1.2。ERS API不支持TLS 1.0，无论在思科ISE GUI的“安全设置”(Security Settings)窗口(管理(Administration) >系统(System) >设置(Settings) >安全设置(Security Settings))中启用TLS 1.0。在Security Settings（安全设置）窗口中启用TLS 1.0仅与EAP协议相关，不会影响ERS API。

创建ERS管理员

创建思科ISE管理员，分配密码，并将用户作为ERS管理员添加到管理员组。您可以将配置的其余部分留空。

设置Postman

下载或使用在线版Postman。

1. 通过点击“工作区”选项卡下的“创建工作区”创建用户和工作区。

2. 选择空白工作区并为工作区指定名称。您可以添加说明并将其公开。 在本示例中选择了“Personalis”。

创建工作空间后，您现在可以配置我们的API调用。

触发器支持捆绑包

要配置任何呼叫，请首先访问ISE ERS SDK（软件开发套件）。此工具编译ISE可以执行的API调用的完整列表：

1. 访问https://{ise-ip}/ers/sdk

2. 使用您的ISE管理员凭证登录。

3. 展开API文档

4. 向下滚动直至找到Support Bundle Trigger Configuration，然后单击。

5. 在此选项下，您现在可以在ISE上找到您可以为此选项执行的所有可用操作。选择创建。

6. 现在，您可以看到在任何Rest客户端上使用XML或JSON执行API调用所需的配置以及预期的响应示例。

7. 返回到Postman可配置对ISE的基本身份验证。在授权选项卡下，选择基本身份验证作为身份验证类型，并添加之前在ISE中创建的ISE ERS用户凭证。

注意：除非在Postman上配置了变量，否则密码显示为明文

8. 在Postman中，转到Headers选项卡，使用XML或JSON配置API调用所需的报头，如SDK中所示。本例使用JSON。 报头配置必须如下所示：

9. 移至正文题头，然后选择原始。这允许我们粘贴触发支持捆绑包所需的XML或JSON模板。

10. 将XML或JSON模板粘贴到正文部分，根据需要更改值：

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分钟内完成，具体取决于从日志收集的信息量。

1. 在SDK上的支持捆绑包状态选项卡selectGet-All下。您想获取ID，以便运行下一个GET呼叫。  如前所述，下面是执行呼叫所需的报头以及预期响应。

2.转到Headers选项卡并为API调用配置所需的报头，如SDK中所示。本例使用JSON。报头配置必须如下所示：

3. 选择GET 作为方法，粘贴https://{ISE-ip}/ers/config/supportbundlestatus并单击Send。 如果所有内容都配置正确，您必须看到一条“200 OK”消息以及触发的最后一个支持捆绑包的相关信息。此呼叫不会让我们知道支持捆绑包是否成功完成。从此呼叫收集ID，以便您能够在下次GET呼叫中使用该ID。

4. 收集ID后，转至支持捆绑包状态选项卡下的 SDK，然后选择Get-By-Id。如前所述，以下是执行呼叫所需的标头以及预期的响应。

5.转到Headers选项卡并为API调用配置所需的报头，如SDK中所示。本例使用JSON。报头配置必须如下所示：

6. 选择GET 作为方法，粘贴https://{ISE-ip}/ers/config/supportbundlestatus/{id} 以及第3步中收集的ID，最后单击Send。 如果所有内容都配置正确，您必须看到一条“200 OK”消息，并且结果显示与是否完成上一个支持捆绑包相关的信息已触发。记下此呼叫中的fileName，因为您需要PUT呼叫。

下载支持捆绑包

确认支持捆绑包处于completed状态后，您可以继续下载。

1. 在SDK上的Support Bundle Downloadtab 下，选择Download SupportBundle。如前所述，以下是执行呼叫所需的报头、XML和JSON模板，以及预期响应。

2.转到Headers选项卡并为API调用配置所需的报头，如SDK中所示。本例使用JSON。报头配置必须如下所示：

3. 移至正文题头，然后选择原始。这允许我们粘贴下载支持捆绑包所需的XML或JSON模板。

4.将XML或JSON模板粘贴到正文部分中，根据需要更改值。文件名是从第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”消息并且文件已下载。

验证

如果能够访问API服务GUI页面(例如https://{iseip}：{port}/api/swagger-ui/index.html或https://{iseip}：9060/ers/sdk)，则表示API服务按照预期工作。

故障排除

- 所有REST操作都经过审核，并且日志记录在系统日志中。

- 要排除与开放式API相关的问题，请在调试日志配置窗口中将apiservice组件的日志级别设置为调试。

- 要排除与ERS API相关的问题，请在调试日志配置窗口中将ers组件的日志级别设置为调试。要查看此窗口，请导航到Cisco ISE GUI，单击菜单图标并选择Operations > Troubleshoot > Debug Wizard > Debug Log Configuration。

- 您可以从下载日志窗口下载日志。要查看此窗口，请导航到Cisco ISE GUI，单击菜单图标并选择Operations > Troubleshoot > Download Logs。

- 您可以选择从“支持捆绑包”选项卡中下载支持捆绑包(通过点击选项卡下的下载按钮)，也可以通过点击api服务调试日志的日志文件(Log File)值，从“调试日志”(Debug Logs)选项卡中下载api服务调试日志。