Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So verwenden Sie Docker für die Containerprotokollanalyse und Ausnahmeüberwachung

So verwenden Sie Docker für die Containerprotokollanalyse und Ausnahmeüberwachung

Nov 07, 2023 pm 02:09 PM
docker 日志分析 异常监测

So verwenden Sie Docker für die Containerprotokollanalyse und Ausnahmeüberwachung

Docker ist eine beliebte Containerisierungstechnologie, die eine Anwendung und ihre Abhängigkeiten in einen Container packen kann, um sie als einzelne tragbare Anwendungseinheit auszuführen. Diese Technologie ermöglicht Entwicklern die einfache Bereitstellung und Verwaltung von Anwendungen in verschiedenen Umgebungen. In praktischen Anwendungen sind Protokollanalyse und Ausnahmeüberwachung von Docker-Containern sehr wichtig. In diesem Artikel wird die Verwendung von Docker für die Protokollanalyse und Ausnahmeüberwachung von Containern vorgestellt, einschließlich der folgenden Aspekte:

  1. Docker-Containerprotokolle
  2. Verwenden Sie den Docker-Protokollbefehl, um Protokolle anzuzeigen.
  3. Verwenden Sie Logstash für die Protokollerfassung und -analyse.
  4. Verwenden Elasticsearch-Datenindizierung und -speicherung
  5. Verwendung von Kibana zur Datenvisualisierung

Zuerst müssen wir die Protokolle über den Docker-Container verstehen.

1. Docker-Containerprotokolle

Docker-Containerprotokolle zeichnen die Betriebsinformationen im Container auf, einschließlich: Anwendungsausgabeinformationen, Fehlerinformationen, Zugriffsprotokolle, Systemprotokolle usw. Diese Informationen sind für den Betrieb und die Wartung der Anwendung, die Nachverfolgung, die Ausnahmebehandlung usw. sehr wichtig. Daher müssen wir die Protokolle von Docker-Containern sammeln und analysieren.

2. Verwenden Sie den Docker-Protokollbefehl, um die Protokolle anzuzeigen.

Docker stellt den Protokollbefehl bereit, mit dem die vom Container ausgegebenen Protokollinformationen angezeigt werden können. Mit dem Befehl log können wir ganz einfach die Echtzeit-Ausgabeinformationen des laufenden Containers anzeigen und diese Informationen an die Konsole ausgeben oder in einer Datei speichern. Das Folgende ist ein Beispiel für die Verwendung des Protokollbefehls zum Anzeigen von Containerprotokollen:

// 查看容器ID为xxx的日志
docker logs xxx

// 查看容器ID为xxx的日志,输出到控制台并实时更新
docker logs -f xxx 

// 查看容器ID为xxx的最近10条日志
docker logs --tail 10 xxx 
Nach dem Login kopieren

Mithilfe des Protokollbefehls können Entwickler problemlos die Echtzeit-Ausgabeinformationen des Containers anzeigen und das Problem schnell ermitteln. Diese Methode eignet sich jedoch für Container Wenn die Größe des Containers auf einem einzelnen Host zunimmt, wird es schwierig, die Protokolle manuell anzuzeigen. Daher müssen Protokollerfassungstools verwendet werden, um die Protokolle automatisch zu sammeln und zu analysieren.

3. Verwenden Sie Logstash zur Protokollsammlung und -analyse.

Logstash ist ein Open-Source-Tool zum Sammeln, Filtern, Konvertieren und Senden von Protokollen. Daten werden über das Eingabe-Plug-in gesammelt, vom Filter verarbeitet und konvertiert und dann ausgegeben Das Plug-in verarbeitet die Daten an das Ziel, z. B. Elasticsearch, Kafka, Amazon S3 usw. Bei der Protokollsammlung von Docker-Containern können wir Logstash als Tool zum Sammeln und Analysieren von Protokollen verwenden. Das Folgende ist ein Beispiel für die Verwendung von Logstash zur Protokollerfassung und -analyse:

1 Installieren Sie Logstash

Laden Sie Logstash von der offiziellen Website herunter und entpacken Sie die Datei zur Verwendung. Der Befehl zum Starten von Logstash lautet wie folgt:

cd logstash-7.15.1/bin
./logstash -f logstash.conf
Nach dem Login kopieren

2. Logstash konfigurieren

Um Logstash als Protokollerfassungstool für den Container zu verwenden, müssen wir das Eingabe-Plug-in und das Ausgabe-Plug-in in Logstash konfigurieren. Das Folgende ist ein Beispiel für die Konfigurationsdatei logstash.conf:

input {
  docker {
    endpoint => "unix:///var/run/docker.sock"
    container_id => "ALL"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
  }
  stdout {
    codec => "json_lines"
  }
}
Nach dem Login kopieren

Die obige Konfigurationsdatei bedeutet, dass wir Protokollinformationen von allen Docker-Containern sammeln, die Daten über den Grok-Filter filtern und analysieren und schließlich die verarbeiteten Daten ausgeben müssen Elasticsearch.

4. Verwenden Sie Elasticsearch zur Datenindizierung und -speicherung.

Elasticsearch ist eine verteilte Open-Source-Suchmaschine, mit der verschiedene Arten von Dokumenten durchsucht werden können. In der Protokollsammlung von Docker-Containern verwenden wir Elasticsearch als Index und Speicherung von Daten. Das Folgende ist ein Beispiel für die Verwendung von Elasticsearch zur Datenindizierung und -speicherung:

1. Installieren Sie Elasticsearch

Laden Sie Elasticsearch von der offiziellen Website herunter und entpacken Sie die zu verwendende Datei. Der Befehl zum Starten von Elasticsearch lautet wie folgt:

cd elasticsearch-7.15.1/bin
./elasticsearch
Nach dem Login kopieren

2. Konfigurieren Sie Elasticsearch

Konfigurieren Sie den Namen und den Knotennamen des ES-Clusters, indem Sie die Datei elasticsearch.yml ändern. Das Folgende ist ein einfaches Beispiel für eine Elasticsearch.yml-Konfigurationsdatei:

cluster.name: docker-cluster
node.name: es-node1
network.host: 0.0.0.0
Nach dem Login kopieren

Die obige Konfiguration bedeutet, dass wir einen Cluster mit dem Namen Docker-Cluster erstellen, dessen Knotenname es-node1 ist und der ES-Dienst an alle verfügbaren Netzwerkschnittstellen gebunden ist.

3. Erstellen Sie einen Index

In Elasticsearch müssen wir zunächst einen Index für die Daten erstellen und die Felder in den Daten angeben. Der Beispielcode lautet wie folgt:

PUT /logstash-test
{
  "mappings": {
    "properties": {
      "host": {
        "type": "keyword"
      },
      "message": {
        "type": "text"
      },
      "path": {
        "type": "text"
      },
      "verb": {
        "type": "keyword"
      }
    }
  }
}
Nach dem Login kopieren

Der obige Code erstellt in Elasticsearch einen Index mit dem Namen „logstash-test“ und definiert die im Index enthaltenen Felder und Feldtypen.

5. Verwenden Sie Kibana zur Datenvisualisierungsanzeige.

Kibana ist ein Open-Source-Datenvisualisierungstool, mit dem von Elasticsearch erhaltene Daten angezeigt werden können. Während des Protokollerfassungsprozesses von Docker-Containern verwenden wir Kibana zur Datenvisualisierungsanzeige. Das Folgende ist ein Beispiel für die Verwendung von Kibana zur Datenvisualisierung:

1 Installieren Sie Kibana

Laden Sie Kibana von der offiziellen Website herunter und entpacken Sie die Datei zur Verwendung. Der Befehl zum Starten von Kibana lautet wie folgt:

cd kibana-7.15.1/bin
./kibana
Nach dem Login kopieren

2. Einstellungen der Indexvorlage

In Kibana müssen wir die Indexvorlage einrichten. Die Indexvorlage enthält Datenfelddefinitionen und Informationen zur Abfrageanalyse. Der Beispielcode lautet wie folgt:

PUT _index_template/logstash-template
{
  "index_patterns": ["logstash-*"],
  "template": {
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },
        "@version": { "type": "keyword" },
        "message": { "type": "text" },
        "path": { "type": "text" }
      }
    }
  }
}
Nach dem Login kopieren

Der obige Code bedeutet, eine Indexvorlage mit dem Namen „logstash-template“ zu erstellen und diese auf Indizes anzuwenden, deren Namen mit „logstash-*“ beginnen.

3. Datenvisualisierung

Im Plug-in-Panel von Kibana können Sie visuelle Vorlagen festlegen und verwalten. Über das Panel können wir problemlos verschiedene Arten von visuellen Diagrammen erstellen, z. B. Liniendiagramme, Balkendiagramme, Kreisdiagramme usw.

Zusammenfassend stellt dieser Artikel die Verwendung von Docker für die Containerprotokollanalyse und Ausnahmeüberwachung vor und enthält spezifische Codebeispiele. Docker selbst stellt den Protokollbefehl zum Anzeigen der Protokolle des Containers bereit. Mit zunehmender Größe des Containers wird es jedoch schwieriger, die Protokolle manuell anzuzeigen. Durch die Verwendung von Tools wie Logstash, Elasticsearch und Kibana können wir Containerprotokolle automatisch sammeln und analysieren und den Betriebsstatus des Containers anzeigen, was für den Anwendungsbetrieb und die Wartung sowie die Fehlerbehandlung sehr hilfreich ist.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker für die Containerprotokollanalyse und Ausnahmeüberwachung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Architektur und Praxis verteilter PHP-Systeme Architektur und Praxis verteilter PHP-Systeme May 04, 2024 am 10:33 AM

Die verteilte PHP-Systemarchitektur erreicht Skalierbarkeit, Leistung und Fehlertoleranz durch die Verteilung verschiedener Komponenten auf mit dem Netzwerk verbundene Maschinen. Die Architektur umfasst Anwendungsserver, Nachrichtenwarteschlangen, Datenbanken, Caches und Load Balancer. Zu den Schritten zur Migration von PHP-Anwendungen auf eine verteilte Architektur gehören: Identifizieren von Dienstgrenzen, Auswählen eines Nachrichtenwarteschlangensystems, Einführung eines Microservices-Frameworks, Bereitstellung für die Containerverwaltung, Diensterkennung

Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Apr 26, 2024 am 10:19 AM

Übersicht LLaMA-3 (LargeLanguageModelMetaAI3) ist ein groß angelegtes Open-Source-Modell für generative künstliche Intelligenz, das von Meta Company entwickelt wurde. Im Vergleich zur Vorgängergeneration LLaMA-2 gibt es keine wesentlichen Änderungen in der Modellstruktur. Das LLaMA-3-Modell ist in verschiedene Maßstabsversionen unterteilt, darunter kleine, mittlere und große, um unterschiedlichen Anwendungsanforderungen und Rechenressourcen gerecht zu werden. Die Parametergröße kleiner Modelle beträgt 8 B, die Parametergröße mittlerer Modelle beträgt 70 B und die Parametergröße großer Modelle erreicht 400 B. Beim Training besteht das Ziel jedoch darin, multimodale und mehrsprachige Funktionalität zu erreichen, und die Ergebnisse werden voraussichtlich mit GPT4/GPT4V vergleichbar sein. Ollama installierenOllama ist ein Open-Source-Großsprachenmodell (LL

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Apr 29, 2024 pm 03:09 PM

Die Containerisierung verbessert die Leistung von Java-Funktionen auf folgende Weise: Ressourcenisolation – Gewährleistung einer isolierten Computerumgebung und Vermeidung von Ressourcenkonflikten. Leicht – beansprucht weniger Systemressourcen und verbessert die Laufzeitleistung. Schneller Start – reduziert Verzögerungen bei der Funktionsausführung. Konsistenz – Entkoppeln Sie Anwendungen und Infrastruktur, um ein konsistentes Verhalten in allen Umgebungen sicherzustellen.

Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Jun 05, 2024 pm 08:29 PM

Stellen Sie Java EE-Anwendungen mithilfe von Docker-Containern bereit: Erstellen Sie eine Docker-Datei, um das Image zu definieren, erstellen Sie das Image, führen Sie den Container aus, ordnen Sie den Port zu und greifen Sie dann im Browser auf die Anwendung zu. Beispiel für eine JavaEE-Anwendung: Die REST-API interagiert mit der Datenbank und ist nach der Bereitstellung über Docker auf localhost zugänglich.

Wie verwende ich PHP CI/CD für eine schnelle Iteration? Wie verwende ich PHP CI/CD für eine schnelle Iteration? May 08, 2024 pm 10:15 PM

Antwort: Verwenden Sie PHPCI/CD, um eine schnelle Iteration zu erreichen, einschließlich der Einrichtung von CI/CD-Pipelines sowie automatisierten Test- und Bereitstellungsprozessen. Richten Sie eine CI/CD-Pipeline ein: Wählen Sie ein CI/CD-Tool aus, konfigurieren Sie das Code-Repository und definieren Sie die Build-Pipeline. Automatisierte Tests: Schreiben Sie Unit- und Integrationstests und verwenden Sie Test-Frameworks, um das Testen zu vereinfachen. Praktischer Fall: Verwendung von TravisCI: Installieren Sie TravisCI, definieren Sie die Pipeline, aktivieren Sie die Pipeline und sehen Sie sich die Ergebnisse an. Implementieren Sie Continuous Delivery: Wählen Sie Bereitstellungstools aus, definieren Sie Bereitstellungspipelines und automatisieren Sie die Bereitstellung. Vorteile: Verbessern Sie die Entwicklungseffizienz, reduzieren Sie Fehler und verkürzen Sie die Lieferzeit.

See all articles