Einleitung
In diesem Dokument wird das Auslösen und Herunterladen eines ISE Support-Pakets über die ERS-API mit PostMan als REST-Client beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- ISE
- Externe RESTful-Services
- REST-Clients wie Postman, RESTED, Insomnia usw.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf folgenden Software-Versionen:
- Cisco ISE 3.1 Patch 6
- Postman-REST-Client v10.17.4
Hinweis: Das Verfahren ist für andere ISE-Versionen und REST-Clients ähnlich oder identisch. Sofern nicht anders angegeben, können Sie diese Schritte für alle ISE-Softwareversionen der Versionen 2.x und 3.x ausführen.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konfigurieren
ERS aktivieren (Port 9060)
ERS-APIs sind reine HTTPS-REST-APIs, die über Port 443 und Port 9060 betrieben werden. Port 9060 ist standardmäßig geschlossen, daher muss er zuerst geöffnet werden. Wenn Clients, die versuchen, auf diesen Port zuzugreifen, ERS nicht zuerst aktivieren, wird eine Zeitüberschreitung vom Server angezeigt. Daher muss ERS zuerst über die Cisco ISE-Administrations-Benutzeroberfläche aktiviert werden.
Navigieren Sie zu Administration > Settings > API Settings, und aktivieren Sie die Umschaltfläche ERS (Read/Write).
Hinweis: Die ERS-APIs unterstützen TLS 1.1 und TLS 1.2. ERS-APIs unterstützen TLS 1.0 nicht, unabhängig davon, ob TLS 1.0 im Fenster Sicherheitseinstellungen der Cisco ISE-GUI aktiviert wurde (Administration > System > Einstellungen > Sicherheitseinstellungen). Die Aktivierung von TLS 1.0 im Fenster "Security Settings" (Sicherheitseinstellungen) bezieht sich nur auf das EAP-Protokoll und hat keine Auswirkungen auf ERS APIs.
ERS-Administrator erstellen
Erstellen Sie einen Cisco ISE-Administrator, weisen Sie ein Kennwort zu, und fügen Sie den Benutzer als ERS-Administrator zur Admin-Gruppe hinzu. Sie können den Rest der Konfiguration leer lassen.
Postbote einrichten
Laden Sie die Online-Version von Postman herunter oder verwenden Sie sie.
- Erstellen Sie einen Benutzer, und erstellen Sie einen Arbeitsbereich, indem Sie auf der Registerkarte Arbeitsbereiche auf Arbeitsbereich erstellen klicken.
2. Wählen Sie Leerer Arbeitsbereich und weisen Sie dem Arbeitsbereich einen Namen zu. Sie können eine Beschreibung hinzufügen und veröffentlichen. Für dieses Beispiel ist Personalis ausgewählt.
Nachdem Sie den Arbeitsbereich erstellt haben, können Sie jetzt unsere API-Aufrufe konfigurieren.
Trigger-Supportpaket
Zum Konfigurieren eines Anrufs greifen wir zunächst auf das ISE ERS SDK (Software Developer Kit) zu. Dieses Tool erstellt die gesamte Liste der API-Aufrufe, die die ISE ausführen kann:
- Rufen Sie https://{ise-ip}/ers/sdk auf.
- Melden Sie sich mit Ihren ISE-Administratoranmeldeinformationen an.
- Erweitern der API-Dokumentation
- Blättern Sie nach unten, bis Sie Support Bundle Trigger Configuration gefunden haben, und klicken Sie darauf.
- Unter dieser Option finden Sie nun alle verfügbaren Operationen, die Sie für diese Option auf der ISE durchführen können. Wählen Sie Erstellen aus.
6. Sie können nun die erforderliche Konfiguration zum Durchführen des API-Aufrufs mit XML oder JSON auf einem beliebigen REST-Client sowie ein erwartetes Antwortbeispiel sehen.
7. Zurück zu Postman können die grundlegende Authentifizierung zu ISE konfigurieren. Wählen Sie auf der Registerkarte Autorisierung die Option Einfache Authentifizierung als Authentifizierungstyp aus, und fügen Sie die zuvor auf der ISE erstellten ISE ERS-Benutzeranmeldeinformationen hinzu.
Hinweis: Das Kennwort wird als Klartext angezeigt, es sei denn, die Variablen wurden auf Postman konfiguriert.
8. In Postman gehen Sie auf die Registerkarte Headers und konfigurieren Sie die benötigten Header für den API-Aufruf entweder mit XML oder JSON, wie im SDK zu sehen. In diesem Beispiel wird JSON verwendet. Die Header-Konfiguration muss wie folgt aussehen:
9. Navigieren Sie zur Kopfzeile des Hauptteils, und wählen Sie unformatiert aus. Auf diese Weise können wir die XML- oder JSON-Vorlage einfügen, die zum Auslösen des Support-Pakets erforderlich ist.
10. Fügen Sie die XML- oder JSON-Vorlage im Abschnitt Haupttext ein, und ändern Sie die Werte je nach Bedarf:
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. Wählen Sie als Methode POST aus, fügen Sie https://{ISE-ip}/ers/config/supportbundle ein, und klicken Sie auf Senden. Wenn alles korrekt konfiguriert wurde, müssen Sie die Meldung "201 Created" (201 erstellt) sehen und das Ergebnis leer lassen.
Status des Support-Pakets überprüfen
Sie können überprüfen, ob das Support-Paket durch eine Reihe von GET-Anrufen ausgelöst oder abgeschlossen wurde.
Hinweis: Die Bereitstellung des Support-Pakets muss je nach der Menge der in den Protokollen erfassten Informationen 5-20 Minuten in Anspruch nehmen.
- Wählen Sie auf dem SDK unter der Registerkarte Support Bundle Status die Option Get-All (Alle abrufen). Sie möchten die ID erhalten, damit Sie den nächsten GET-Anruf ausführen können. Wie bereits erwähnt, sind hier die Header aufgeführt, die für den Anruf erforderlich sind, sowie die erwartete Antwort.
2. Wechseln Sie zur Registerkarte Headers, und konfigurieren Sie die erforderlichen Header für den API-Aufruf, wie im SDK dargestellt. In diesem Beispiel wird JSON verwendet. Die Header-Konfiguration muss wie folgt aussehen:
3. Wählen Sie GET als Methode, fügen Sie https://{ISE-ip}/ers/config/supportbundlestatus ein, und klicken Sie auf Senden. Wenn alles korrekt konfiguriert wurde, müssen Sie eine "200 OK"-Meldung und das Ergebnis mit Informationen zum letzten ausgelösten Support-Paket sehen. Bei diesem Anruf werden wir nicht darüber informiert, ob das Support-Paket erfolgreich abgeschlossen wurde. Sammeln Sie bei diesem Anruf die ID, damit Sie sie beim nächsten GET-Anruf verwenden können.
4. Sobald die ID gesammelt wurde, gehen Sie zum SDK unter der Registerkarte Support Bundle Status und wählen Sie Get-By-Id. Wie bereits gezeigt, sind hier die Header, die für den Anruf erforderlich sind, sowie die erwartete Antwort.
5. Wechseln Sie zur Registerkarte Headers, und konfigurieren Sie die erforderlichen Header für den API-Aufruf, wie im SDK dargestellt. In diesem Beispiel wird JSON verwendet. Die Header-Konfiguration muss wie folgt aussehen:
6. Wählen Sie GET als Methode, fügen Sie https://{ISE-ip}/ers/config/supportbundlestatus/{id} und die aus Schritt 3 gesammelte ID ein, und klicken Sie abschließend auf Senden. Wenn alles korrekt konfiguriert wurde, müssen Sie eine "200 OK"-Meldung und das Ergebnis mit Informationen zur Fertigstellung oder Nichtauslösung des letzten ausgelösten Support-Pakets sehen. Notieren Sie sich den Dateinamen dieses Anrufs, da Sie ihn für den PUT-Anruf benötigen.
Support-Paket herunterladen
Wenn Sie sich vergewissern, dass das Support-Paket den Status "Abgeschlossen" aufweist. Sie können mit dem Herunterladen fortfahren.
- Wählen Sie auf dem SDK auf der Registerkarte Support Bundle Download (Support-Paket herunterladen) die Option Download SupportBundle (SupportBundle herunterladen). Wie bereits erwähnt, sind hier die für den Anruf erforderlichen Header, die XML- und JSON-Vorlagen sowie die erwartete Antwort aufgeführt.
2. Wechseln Sie zur Registerkarte Headers, und konfigurieren Sie die erforderlichen Header für den API-Aufruf, wie im SDK dargestellt. In diesem Beispiel wird JSON verwendet. Die Header-Konfiguration muss wie folgt aussehen:
3. Navigieren Sie zur Kopfzeile des Hauptteils, und wählen Sie unformatiert aus. Auf diese Weise können Sie die XML- oder JSON-Vorlage einfügen, die zum Herunterladen des Support-Pakets erforderlich ist.
4. Fügen Sie die XML- oder JSON-Vorlage im Body-Abschnitt ein, und ändern Sie die Werte nach Bedarf. Der Dateiname entspricht dem Namen der in Schritt 6 erfassten Datei (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. Wählen Sie PUT als Methode, fügen Sie https://{ISE-ip}/ers/config/supportbundledownload ein, und klicken Sie auf Senden. Wenn alles korrekt konfiguriert wurde, müssen Sie eine "200 OK"-Meldung sehen und die Datei heruntergeladen haben.
Überprüfung
Wenn Sie auf die GUI-Seite des API-Diensts zugreifen können, z. B. https://{iseip}:{port}/api/swagger-ui/index.html oder https://{iseip}:9060/ers/sdk, bedeutet dies, dass der API-Dienst wie erwartet funktioniert.
Fehlerbehebung
- Alle REST-Vorgänge werden überwacht, und die Protokolle werden in den Systemprotokollen protokolliert.
- Um Probleme zu beheben, die sich auf die offenen APIs beziehen, legen Sie die Protokollstufe für die apiservice-Komponente im Fenster Konfiguration des Debug-Protokolls auf DEBUG fest.
- Um Probleme im Zusammenhang mit den ERS APIs zu beheben, legen Sie die Protokollstufe für die ers-Komponente im Fenster zur Konfiguration des Debug-Protokolls auf DEBUG fest. Um dieses Fenster anzuzeigen, navigieren Sie zur Cisco ISE-Benutzeroberfläche, klicken Sie auf das Menüsymbol und wählen Sie Vorgänge > Fehlerbehebung > Debug-Assistent > Debug-Protokollkonfiguration aus.
- Sie können die Protokolle aus dem Fenster Download Logs (Protokolle herunterladen) herunterladen. Um dieses Fenster anzuzeigen, navigieren Sie zur Cisco ISE-GUI, klicken Sie auf das Menü-Symbol, und wählen Sie Operations > Troubleshoot > Download Logs.
- Sie können entweder ein Support-Paket von der Registerkarte Support Bundle herunterladen, indem Sie auf die Schaltfläche Download unter der Registerkarte klicken, oder Sie laden die api-service-Debug-Protokolle von der Registerkarte Debug Logs herunter, indem Sie auf den Wert Log File (Protokolldatei) für das api-service-Debug-Protokoll klicken.