Beispiel: REST-API Log Management
Dieses Beispiel zeigt, wie Sie die REST-API Log Management für Cloudoperationen verwenden, um Protokolle von den Workflow-Servern in Ihrer Cloudsubskription anzufordern und abzurufen.
Am Beispiel wird veranschaulicht, wie eine Liste der Protokollanforderungen abgerufen wird, wie die verfügbaren Protokolltypen ermittelt werden, wie ein Protokoll angefordert und heruntergeladen wird und wie schließlich Protokollanforderungen und die ihnen zugeordneten Protokolldateien gelöscht werden.
- Vorbereitende Schritte
- Alle API-Aufrufe erfordern ein gültiges CSRF-Token (Cross Site Forgery Request) im IBM® -CSRF-TOKEN-Header des Aufrufs. Sie können ein CSRF-Token mithilfe von
POST /instance/services/csrf_tokenabrufen. Weitere Informationen finden Sie unter Cross Site Request Forgery verhindern. - Liste der Anforderungen für Protokollabrufe einer Subskription anzeigen
- Verwenden Sie den folgenden Aufruf, um die Anforderungen abzurufen:
Sie können die Anforderungen nach Umgebung filtern, zum Beispiel unter Verwendung der Entwicklungsumgebung, und hierbei den Seitenwechsel einbeziehen:GET /instance/services/logsGET /instance/services/logs/?environment=dev&offset=5&size=10 - Verfügbare Protokolltypen ermitteln
- Es werden unterschiedliche Protokolltypen unterstützt. Verwenden Sie den folgenden Aufruf, um eine Liste der Protokolltypen abzurufen, die für die Subskription aktiviert sind:
Die Liste umfasst den übersetzbaren Anzeigenamen für jeden Protokolltyp und eine Liste der verfügbaren Eigenschaften.GET /instance/services/log_types - Speziellen Protokolltyp für Umgebung anfordern
- Verwenden Sie den folgenden Aufruf zum Anfordern eines Protokolls:
Die Details der Protokollanforderung werden als JSON-Objekt im Anforderungshauptteil des Aufrufs übergeben. Beispiel: Damit die Protokolle des Anwendungsclusters in der Entwicklungsumgebung angefordert werden, müssen im Hauptteil des Aufrufs die Umgebung und der Protokolltyp enthalten sein:POST /instance/services/logs
Abhängig von den Eigenschaften, die für den Protokolltyp unterstützt werden, können Sie weitere Filterkriterien im Hauptteil des Aufrufs hinzufügen; legen Sie hierzu die entsprechenden Eigenschaften im JSON-Objekt fest. Beispiel: Wenn Sie ein Protokoll für einen Anwendungscluster anfordern möchten, in dem alle protokollierten Ereignisse zwischen 13:07 und 13:17 am 16. August 2019 mit der Protokollebene 'Alle' enthalten sind, verwenden Sie den folgenden Aufruf:POST /instance/services/logs ... { "environment": "dev", "log_type": "AppCluster" }
Die Antwort enthält die Protokoll-ID sowie Status und Details der Protokollanforderung. Mit der Protokoll-ID können Sie den Status, die Details der Protokollanforderung und die Protokolldatei abrufen. Wenn Sie für einen Protokolltyp eine nicht unterstützte Eigenschaft angeben, wird von der API ein Fehler zurückgegeben. Wenn Sie nicht alle unterstützten Eigenschaften einschließen, werden für die fehlenden Eigenschaften Standardwerte verwendet.POST /instance/services/logs ... { "environment": "dev", "log_type": "AppCluster", "start_time": "2019-08-16T13:17:22.421Z", "duration": 10, "min_log_level": "all" } - Angefordertes Protokoll abrufen
- Überprüfen Sie den Status einer Protokollabrufanforderung, indem Sie den Parameter log_id zum Aufruf GET hinzufügen:
Wenn die zurückgegebene Protokollanforderung den Status „verfügbar“ enthält, können Sie den folgenden Aufruf mit dem Inhaltstyp „application/zip“ verwenden, um die .zip Datei mit den Protokollen abzurufen:GET /instance/services/logs/8015GET /instance/services/logs/8015/file - Protokollanforderungen und zugeordnete Protokolldateien löschen
- Verwenden Sie den folgenden Aufruf, um die Protokollanforderung und die Protokolldateien zu löschen:
DELETE /instance/services/logs/8015