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.
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ 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.
$ sudo systemctl stop docker
{ "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.
$ 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.
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
<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.
$ 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.
$ echo 'print("Hello World!")' > app.py
FROM python:3 COPY app.py . CMD [ "python", "./app.py" ]
$ docker build -t myapp .
$ 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:
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!