So konfigurieren Sie die hochverfügbare Containerprotokollverwaltung unter Linux
Mit der rasanten Entwicklung der Containertechnologie setzen immer mehr Unternehmen auf die Bereitstellung von Containern, um die Skalierbarkeit und Zuverlässigkeit des Systems zu verbessern. In einer Containerumgebung ist es sehr wichtig, Containerprotokolle zentral zu verwalten, um die Verwaltung und Überwachung des Betriebsstatus von Containern zu erleichtern.
In diesem Artikel wird erläutert, wie die hochverfügbare Containerprotokollverwaltung unter Linux konfiguriert wird, und er enthält Codebeispiele, die den Lesern das Verständnis und die Übung erleichtern.
1. Wählen Sie das geeignete Protokollverwaltungstool
Bei der Auswahl eines Containerprotokollverwaltungstools müssen Sie die folgenden Aspekte berücksichtigen:
Zu den gängigen Tools zur Verwaltung von Containerprotokollen gehören ELK (Elasticsearch, Logstash, Kibana), Fluentd, Prometheus usw.
2. Installieren und konfigurieren Sie ELK (Elasticsearch, Logstash, Kibana)
ELK ist ein beliebtes Container-Log-Management-Tool, das aus drei Komponenten besteht: Elasticsearch, Logstash und Kibana. Im Folgenden wird CentOS als Beispiel verwendet, um die Installation und Konfiguration von ELK vorzustellen.
sudo yum install java-1.8.0-openjdk -y sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF [elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install elasticsearch -y sudo systemctl enable elasticsearch sudo systemctl start elasticsearch
sudo tee /etc/yum.repos.d/logstash.repo <<EOF [logstash] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install logstash -y sudo systemctl enable logstash sudo systemctl start logstash
sudo tee /etc/yum.repos.d/kibana.repo <<EOF [kibana] name=Kibana repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install kibana -y sudo systemctl enable kibana sudo systemctl start kibana
In der Logstash-Konfigurationsdatei /etc/log stash/conf.d/log stash.conf < /code>, fügen Sie den folgenden Inhalt hinzu: <code>/etc/logstash/conf.d/logstash.conf
中,添加以下内容:
input { beats { port => 5044 } } output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
在Kibana的配置文件/etc/kibana/kibana.yml
中,添加以下内容:
server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]
重启Logstash和Kibana服务:
sudo systemctl restart logstash sudo systemctl restart kibana
现在,ELK已经安装完成并配置好了,可以通过Kibana的Web界面访问和查询容器日志数据。
三、使用Fluentd进行容器日志管理
Fluentd是另一个流行的容器日志管理工具,它的设计理念是简单、轻量级和可扩展的。下面以Ubuntu为例,介绍如何安装和配置Fluentd。
curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-focal-td-agent4.sh | sh sudo systemctl enable td-agent sudo systemctl start td-agent
编辑Fluentd的配置文件/etc/td-agent/td-agent.conf
<source> @type tail path /var/log/containers/*.log pos_file /var/log/td-agent/td-agent.log.pos tag kube.* format json time_format %Y-%m-%dT%H:%M:%S.%NZ read_from_head true </source> <match label1.**> @type elasticsearch host localhost port 9200 logstash_format true flush_interval 5s </match>
Fügen Sie in der Konfigurationsdatei von Kibana /etc/kibana/kibana.yml
den folgenden Inhalt hinzu :
sudo systemctl restart td-agent
Logstash- und Kibana-Dienste neu starten:
rrreeeNachdem ELK installiert und konfiguriert wurde, können Sie über die Weboberfläche von Kibana auf Container-Protokolldaten zugreifen und diese abfragen.
3. Verwenden Sie Fluentd für die Container-Log-Verwaltung.
/etc/td-agent/td-agent.conf
und fügen Sie den folgenden Inhalt hinzu: Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die hochverfügbare Containerprotokollverwaltung unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!