Docker-Containerüberwachung und Protokollverwaltung – Implementierungsprozessanalyse

Docker-Containerüberwachung und Protokollverwaltung – Implementierungsprozessanalyse

Wenn der Umfang der Docker-Bereitstellung zunimmt, ist es notwendig, den Container zu überwachen. Im Allgemeinen verfügt Docker über mehrere Überwachungsunterbefehle wie ps, top und stats. Dann gibt es noch das beliebte Open-Source-Überwachungstool Prometheus.

Dockers eigener Überwachungsunterbefehl ps

docker ps, listet Container auf, praktisch zum Anzeigen aktuell ausgeführter Container. Im Folgenden finden Sie die Befehlssyntax und die Parametersyntax

docker ps [OPTIONEN]

OPTIONS-Beschreibung:

  • -a: Alle Container anzeigen, auch die, die nicht ausgeführt werden.
  • -f: Filtern Sie den angezeigten Inhalt entsprechend den Bedingungen.
  • --format: Geben Sie die Vorlagendatei für den Rückgabewert an.
  • -l: Zeigt kürzlich erstellte Container an.
  • -n: Listet die n zuletzt erstellten Container auf.
  • --no-trunc: Ausgabe nicht abschneiden.
  • -q: Stiller Modus, zeigt nur die Containernummer an.
  • -s: Zeigt die gesamte Dateigröße an.

Ausgabedetails:

  • CONTAINER-ID: Container-ID.
  • BILD: Das zu verwendende Bild.
  • BEFEHL: Der beim Starten des Containers auszuführende Befehl.
  • ERSTELLT: Der Zeitpunkt, zu dem der Container erstellt wurde.
  • STATUS: Containerstatus.

Es gibt 7 Zustände:

  • erstellt
  • Neustart
  • läuft
  • Entfernen
  • pausiert
  • beendet
  • tot

PORTS: Die Portinformationen des Containers und der verwendete Verbindungstyp (TCP\UDP).

NAMEN: Automatisch zugewiesene Containernamen.

Die neue Version von Docker bietet einen neuen Befehl „Docker-Container ls“, der dieselbe Funktion und Verwendung wie „Docker-Container ps“ hat. Die Bedeutung von „ls“ ist jedoch möglicherweise genauer als die von „ps“, daher wird es empfohlen.

Spitze

Wenn Sie wissen möchten, welche Prozesse in einem Container laufen, können Sie den Befehl „docker container top“ wie folgt ausführen:

Dem Befehl können auch Parameter des Linux-Betriebssystembefehls ps folgen, um spezifische Informationen anzuzeigen, z. B. -au. Das Ausführungsergebnis von docker container top [Containername] -au lautet wie folgt:

Statistiken

Docker-Containerstatistiken werden verwendet, um die Nutzung verschiedener Ressourcen für jeden Container anzuzeigen.


Standardmäßig wird eine Echtzeitliste angezeigt, die die CPU-Auslastung, den Arbeitsspeicher und den verfügbaren Speicherplatz jedes Containers zeigt.

Wenn beim Starten des Containers kein Speicherlimit angegeben ist, zeigt der Befehl stats die Gesamtmenge des Hostspeichers an. Dies bedeutet jedoch nicht, dass jeder Container so viel Speicher verwenden kann. Darüber hinaus zeigt der Befehl docker container stats auch die Containernetzwerk- und Festplatten-E/A-Daten an. Sie können den Namen des Containers nach dem Befehl stats angeben, um Daten für bestimmte Container anzuzeigen.

Docker-Protokolle

Die Protokollierungsfunktion von Docker ist standardmäßig konfiguriert.

Bei einem laufenden Container sendet Docker Protokolle an das Standardausgabegerät (STDOUT) und das Standardfehlergerät (STDERR) des Containers. STDOUT und STDERR sind eigentlich das Konsolenterminal des Containers.

Wenn Sie die Containerprotokolle anzeigen möchten, gibt es zwei Möglichkeiten:

An diesen Container anhängen.

Verwenden Sie den Befehl „Docker Logs“, um die Protokolle anzuzeigen.

Die ttach-Methode ist in der Praxis aus folgenden Gründen nicht sehr praktisch:

Es können nur die Protokolle nach dem Anhängen angezeigt werden, die Protokolle davor sind nicht sichtbar.

Das Verlassen des Anfügezustands ist problematischer (Tastenkombination Strg+P und dann Strg+Q) und es besteht die Möglichkeit, den Container leicht versehentlich zu beenden (beispielsweise durch Drücken von Strg+C).

Zum Anzeigen von Containerprotokollen wird die Verwendung des Befehls „Docker Logs“ empfohlen.

Wie unten dargestellt:

Docker-Protokolle können die vollständigen Protokolle seit dem Start des Containers drucken, und der Parameter -f kann weiterhin die neu generierten Protokolle drucken, was dasselbe ist wie tail -f in Linux.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Golang implementiert Heartbeat-Überwachungsfunktion für Docker-Container
  • Implementieren Sie dynamisches Management und Monitoring von Docker-Containern basierend auf Spring-Boot und Docker-Java [mit vollständigem Quellcode-Download]
  • Zabbix überwacht den Status von Docker-Containern [empfohlen]
  • Detaillierte Erläuterung des Aufbaus des visuellen Überwachungszentrums für Docker-Container
  • Verwenden Sie Grafana, um Überwachungsdiagramme von Docker-Containern anzuzeigen und E-Mail-Benachrichtigungsregeln festzulegen (Abbildung)
  • Prinzip und Anwendung der Speicherüberwachung von Docker-Containern
  • Python-Skript zum Überwachen von Docker-Containern

<<:  Vue implementiert eine kleine Countdown-Funktion

>>:  Wie melde ich mich per Remote-Zugriff bei der MySql-Datenbank an?

Artikel empfehlen

Beispielcode zum Ändern des Textstils der Eingabeaufforderung in HTML

Auf vielen Websites wird im Eingabefeld Hinweiste...

Beispielcode zum Mischen von Float und Margin in CSS

Bei meinen letzten Studien habe ich einige Layout...

Detaillierte Erklärung unsichtbarer Indizes in MySQL 8.0

Wort Seit der ersten Version von MySQL 8.0 liegen...

Detaillierte Erklärung des Unterschieds zwischen run/cmd/entrypoint in Docker

In Dockerfile können run, cmd und entrypoint zum ...

Zusammenfassung der relevanten Wissenspunkte zu Ajax in jQuery

Vorwort Studenten, die JavaScript lernen, wissen,...

Ändern Sie die MySQL-Datenbank-Engine in InnoDB

PS: Ich verwende hier PHPStudy2016 1. Stoppen Sie...

Grafisches Installationstutorial für MySQL 8.0.17

In diesem Artikel finden Sie das grafische Tutori...

Detaillierte Erläuterung des Befehls zum Bereinigen des MySQL-Datenbank-Binlogs

Überblick Heute werde ich hauptsächlich erklären,...

Erfahrung in der Lösung von Tomcat-Speicherüberlaufproblemen

Vor einiger Zeit habe ich Testern eine Produktver...

Eine kurze Diskussion zum Problem von Daten mit Nullwerten in der MySQL-Datenbank

Standardmäßig akzeptiert MySQL das Einfügen von 0...

Anfänger verstehen das MySQL-Deadlock-Problem anhand des Quellcodes

Nach vielen schwierigen Einzelschritt-Debuggings ...