Überwachen der Logs des Daten-API-Servers
Die Logs des Daten-API-Servers auf der Remote Engine Gen2 werden standardmäßig angezeigt und können über den Befehl docker logs verarbeitet werden.
Die Logs weisen das Format json auf und entsprechen dem ECS-Standardformat (Elastic Common Schema). Da das Lesen von JSON-strukturierten Rohzeilen nicht wirklich hilfreich ist, kann eine Log-Management-Plattform die Aufnahme und Indizierung der Logs übernehmen, um deren Visualisierung zu erleichtern.
Diese Dokumentation illustriert die Verwendung der ELK-Plattform (Elasticsearch, Logstash, Kibana) für das Abrufen und Visualisieren der dataset-api-server-Logs.
Der Container dataset-api-server verfolgt die verschiedenen Typen von Logs:
- Die Zugriffslogs der OData-APIs. Verwenden Sie den Filter /apis im Suchfeld, um ausschließlich die Zugriffslogs auszufiltern.
- Die Probes, mit deren Hilfe Docker ermitteln kann, ob der Container wirklich aktiv und betriebsbereit ist. Verwenden Sie den Filter /environment im Suchfeld, um ausschließlich die Probe-Logs auszufiltern.
- Die Synchronisationslogs mit dem Daten-API-Backend. Verwenden Sie den Filter /synchronization im Suchfeld, um ausschließlich die Synchronisationslogs auszufiltern.
Vorbereitende Schritte
dataset-api-server:
[...]
labels:
autoheal: 'true'
filebeat_ingest: 'true' # Send container logs to ELK
ELK-Stack
In dieser Dokumentation wird davon ausgegangen, dass der gesamte ELK-Stack in der eigenen Docker-Multicontainer-Anwendung auf demselben Gerät wie Remote Engine Gen2 ausgeführt wird. Darüber hinaus werden die Logs aus Remote Engine Gen2 von einer anderen Komponente namens Filebeat ausgelesen, die ebenfalls von der Elastic-Firma entwickelt wurde ud die Logs an den ELK-Stack per Push überträgt.
Diese Dokumentation basiert auf der Version 7.7.0 des ELK-Stacks.
Rufen Sie das Archiv api-server-monitoring.zip mit allen benötigten Dateien über die Registerkarte Downloads der Dokumentationsseite ab.
- Extrahieren Sie das Archiv api-server-monitoring.zip in den von Ihnen bevorzugten Speicherpfad.
- Führen Sie im Hauptverzeichnis den Befehl docker-compose up -d aus.
- Navigieren Sie zu folgender URL: http://localhost:5601.
- Gehen Sie zu filebeat-*. Verwenden Sie @timestamp für die Zeiteinstellung. und erstellen Sie das Kibana-Indexmuster
- Die Logs für dataset-apis-server sind im Kibana-Bereich Discover unter folgender URL verfügbar: http://localhost:5601/app/kibana#/discover.
Wenn der ELK-Stack angehalten werden soll, führen Sie den Befehl docker-compose down -v im Hauptverzeichnis aus.
Filtern und Suchen von Logs
Der Container dataset-api-server verfolgt die verschiedenen Typen von Logs:
- Die Zugriffslogs der OData-APIs. Verwenden Sie den Filter /apis im Suchfeld, um ausschließlich die Zugriffslogs auszufiltern.
- Die Probes, mit deren Hilfe Docker ermitteln kann, ob der Container wirklich aktiv und betriebsbereit ist. Verwenden Sie den Filter /environment im Suchfeld, um ausschließlich die Probe-Logs auszufiltern.
- Die Synchronisationslogs mit dem Daten-API-Backend. Verwenden Sie den Filter /synchronization im Suchfeld, um ausschließlich die Synchronisationslogs auszufiltern.
- Legen Sie fest, wie die Log-Daten direkt in Kibana angezeigt werden sollen.
So können Sie beispielsweise die anzuzeigenden Spalten sortieren und die Informationen zu potenziellen Fehlern oder zum Schweregrad bzw. die entsprechenden Zeitstempel optisch hervorheben.