Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie die Containerprotokollverwaltung unter Linux

So konfigurieren Sie die Containerprotokollverwaltung unter Linux

王林
王林Original
2023-07-07 21:42:05857Durchsuche

So konfigurieren Sie die Containerprotokollverwaltung unter Linux

Einführung:
Mit der kontinuierlichen Weiterentwicklung der Containertechnologie werden immer mehr Anwendungen in Containern bereitgestellt. Eines der Merkmale von Containern ist ihr geringes Gewicht, was jedoch auch Herausforderungen bei der Containerprotokollverwaltung mit sich bringt. In diesem Artikel wird erläutert, wie Sie die Containerprotokollverwaltung unter Linux konfigurieren, um die Protokollerfassung, -speicherung und -analyse zu erreichen.

1. Docker installieren
Zuerst müssen wir Docker unter Linux installieren. Docker ist eine beliebte Containerisierungsplattform, die uns hilft, Anwendungen schnell zu erstellen, zu verpacken und bereitzustellen.

  1. Docker installieren
    Führen Sie den folgenden Befehl im Terminal aus, um Docker zu installieren:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Starten Sie Docker
    Nachdem die Installation abgeschlossen ist, verwenden Sie den folgenden Befehl, um den Docker-Dienst zu starten:
$ sudo systemctl start docker

Jetzt haben wir installiert Docker und kann mit der Konfiguration der Containerprotokollverwaltung beginnen.

2. Container-Protokolltreiber konfigurieren
Standardmäßig verwendet Docker die JSON-Datei als Standardprotokolltreiber. Für Produktionsumgebungen benötigen wir jedoch möglicherweise leistungsfähigere Protokollverwaltungstools wie Elasticsearch, Fluentd usw.

  1. Stoppen Sie den Docker-Dienst
    Bevor Sie den Protokolltreiber ändern, müssen wir zuerst den Docker-Dienst stoppen:
$ sudo systemctl stop docker
  1. Konfigurieren Sie den Protokolltreiber
    Bearbeiten Sie die Docker-Konfigurationsdatei und ändern Sie die Datei „/etc/docker/daemon.json "-Datei und fügen Sie den folgenden Inhalt hinzu:
{
  "log-driver": "fluentd",
  "log-opts": {
    "fluentd-address": "192.168.1.100:24224"
  }
}

Wobei fluentd-address die IP-Adresse und der Port des Fluentd-Servers ist.

  1. Docker neu starten
    Nach dem Aktualisieren der Konfiguration starten Sie den Docker-Dienst neu, damit die Änderungen wirksam werden:
$ sudo systemctl start docker

Jetzt werden die Protokolle des Containers über Fluentd gesammelt und wir können sie zur Speicherung und Speicherung an Tools wie Elasticsearch senden Analyse.

3. Fluentd konfigurieren
Um die Protokolle des Containers an Fluentd zu senden, müssen wir die entsprechende Konfiguration auf dem Fluentd-Server durchführen.

  1. Fluentd installieren
    Führen Sie den folgenden Befehl auf dem Fluentd-Server aus, um Fluentd zu installieren:
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
  1. Konfigurieren Sie Fluentd
    Bearbeiten Sie die Fluentd-Konfigurationsdatei, ändern Sie die Datei „/etc/td-agent/td-agent.conf“, und fügen Sie den folgenden Inhalt hinzu:
<source>
  @type forward
  port 24224
  bind 0.0.0.0
</source>

<match docker.**>
  @type elasticsearch
  host 192.168.1.200
  port 9200
  index_name fluentd
  type_name docker
</match>

Wobei Host und Port die IP-Adresse und der Port des Elasticsearch-Servers sind.

  1. Fluentd neu starten
    Nach dem Aktualisieren der Konfiguration starten Sie den Fluentd-Dienst neu, damit die Änderungen wirksam werden:
$ sudo systemctl restart td-agent

Jetzt ist Fluentd bereit, Protokolle aus dem Container zu empfangen.

4. Protokollsammlung testen
Um zu testen, ob unsere Konfiguration effektiv ist, erstellen wir eine einfache Hello World-Anwendung und packen sie in ein Docker-Image.

  1. Anwendung erstellen
    Führen Sie im Terminal den folgenden Befehl aus, um eine Python-Anwendung mit dem Namen „app.py“ zu erstellen:
$ echo 'print("Hello World!")' > app.py
  1. Dockerfile erstellen
    Erstellen Sie im selben Verzeichnis eine Datei mit dem Namen „Dockerfile“ mit folgendem Inhalt:
FROM python:3
COPY app.py .
CMD [ "python", "./app.py" ]
  1. Erstellen Sie das Image.
    Führen Sie den folgenden Befehl im Terminal aus, um das Docker-Image zu erstellen:
$ docker build -t myapp .
  1. Führen Sie den Container aus.
    Führen Sie den folgenden Befehl aus, um den Container zu starten und zu prüfen, ob Sie Protokolle vom Container erhalten haben Fluentd-Dienst:
$ docker run myapp

Wenn alles richtig konfiguriert ist, wird auf dem Fluentd-Server eine Protokollmeldung ähnlich „Hello World!“ angezeigt.

Zusammenfassung:
Durch die oben genannten Schritte haben wir die Containerprotokollverwaltung unter Linux erfolgreich konfiguriert. Mit Tools wie Fluentd und Elasticsearch können wir problemlos Protokolle aus Containern sammeln, speichern und analysieren, um unsere Anwendungen besser zu überwachen und zu warten. Ich hoffe, dieser Artikel hilft Ihnen bei der Konfiguration der Containerprotokollverwaltung unter Linux.

Referenzlinks:

  • Offizielle Dokumentation von Docker: https://docs.docker.com/
  • Offizielle Dokumentation von Fluentd: https://www.fluentd.org/
  • Offizielle Dokumentation von Elasticsearch: https://www. elastic.co/guide/en/elasticsearch/reference/current/index.html

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Containerprotokollverwaltung unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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