Detailstandard 44: Logging von Containern
Zusammenfassung
Dieses Dokument beschreibt im Kapitel „Anforderungen" die zu erfüllenden Anforderungen in diesem Standardisierungsbereich. Im Kapitel Standardisierung werden vorgegebene Architekturen und Realisierungen beschrieben. Diese stellen eine Konkretisierung der beschriebenen Anforderungen dar. Sind im Kapitel Standardisierung keine Vorgaben enthalten, werden keine Einschränkungen zur Erfüllung der Anforderungen definiert.
Abhängigkeiten
Dieser Detailstandard regelt das "Logging von Containern" (im Sinne von "Containerisierten Anwendungen"). Er ergänzt damit die Detailstandards 53 Vorgaben Logging für Kubernetes und 54 Vorgaben Monitoring für Kubernetes, die von den Plattformbetreibern aus der Sicht der bereitgestellten PaaS-Umgebungen ("Containerorchestrierung auf Basis Kubernetes") beschrieben werden. Diese Standards müssen perspektivisch abgestimmt weiterentwickelt werden, damit sie im Sinne eines durchgängigen Monitoring/Logging für betriebene Services auch synergetisch genutzt werden können.
Anforderung
In der DVC ist es notwendig das Logging zu standardisieren um die Fehlerverfolgung zu vereinheitlichen.
Standardisierung
Aus den Vorgaben ergeben sich folgende Detailanforderungen:
| ID | Rolle | Modalverb | Detailanforderung |
|---|---|---|---|
| WP_EC_4.3_1 | Softwarelieferant | MUSS | alle Protokolldaten der Anwendung im Container über die Standardausgabe ausgeben. Log-Daten MÜSSEN über STDOUT / STDERR ausgegeben werden (SYS.1.6.A7 B) (Vorgabe aus dem Whitepaper für die Erstellung von Containern Kapitel 4.3, siehe Referenzdokumente). |
| DS_44_A001 | Softwarelieferant | MUSS | die Vorgaben des BSI OPS.1.1.5 einhalten (siehe Referenzdokumente). |
| DS_44_A002 | Softwarelieferant | MUSS | die folgende Vorgabe für das Logging einhalten: - Datum- und Zeitangaben MÜSSEN im ISO 8601 Format in der Zeitzone GMT+01:00 geloggt werden. |
| DS_44_A003 | Softwarelieferant | SOLL | die folgende Vorgabe für das Logging einhalten: - Es SOLL ein JSON-Format für das Logging verwendet werden, welches für die Einheitlichkeit mindestens folgende Felder beinhaltet: timestamp, message, hostname, level, app-version |
| DS_44_A004 | Softwarelieferant | KANN | die folgende Vorgabe für das Logging einhalten: - Es KANN folgendes Feld benutzt werden, sofern es die Anwendung unterstützt: trace-id |
| DS_44_A005 | Softwarelieferant | KANN | die folgende Vorgabe für das Logging einhalten: - Es KÖNNEN durch die Anwendung seitens des Softwarelieferanten weitere Felder hinzugefügt werden, diese müssen allerdings mit dem prefix "app-" starten ( z.B.: app-prozessschritt) |
| DS_44_A006 | Softwarebetreiber | KANN | weitere Felder vorsehen für mit ihm arbeitende Softwarelieferanten für fachliche Zusatzaspekte |
| DS_44_A007 | Softwarelieferant | MUSS | für das Setzen des Log-Levels eine Konfiguration vorsehen, welche zur Laufzeit des Containers gesetzt werden kann. |
| DS_44_A008 | Softwarelieferant | SOLL | 16KB pro Logeintrag nicht überschreiten. |
Referenzdokumente
| Kapitel | Seite | Dokument | Link | |
|---|---|---|---|---|
| 4.3 | * | Whitepaper für die Erstellung von Containern | nur PDF | Whitepaper PDF |
| OPS.1.1.5 | 233 | BSI Kompendium | BSI Kompendium | |
| DVC Detailstandards - (53) Vorgaben Logging für Kubernetes | in Erstellung für Folgeversion der DVC-Dokumentation | in Erstellung für Folgeversion der DVC-Dokumentation | ||
| DVC Detailstandards - (54) Vorgaben Monitoring für Kubernetes | in Erstellung für Folgeversion der DVC-Dokumentation | in Erstellung für Folgeversion der DVC-Dokumentation |