Comment configurer la gestion des journaux de conteneurs à haute disponibilité sous Linux
Avec le développement rapide de la technologie des conteneurs, de plus en plus d'entreprises adoptent le déploiement conteneurisé pour améliorer l'évolutivité et la fiabilité du système. Dans un environnement conteneurisé, afin de faciliter la gestion et le suivi de l'état de fonctionnement des conteneurs, il est très important de gérer de manière centralisée les journaux des conteneurs.
Cet article expliquera comment configurer la gestion des journaux de conteneurs à haute disponibilité sous Linux et sera accompagné d'exemples de code pour aider les lecteurs à mieux comprendre et pratiquer.
1. Choisissez l'outil de gestion des journaux approprié
Lors du choix d'un outil de gestion des journaux de conteneur, vous devez prendre en compte les aspects suivants :
Les outils courants de gestion des journaux de conteneurs incluent ELK (Elasticsearch, Logstash, Kibana), Fluentd, Prometheus, etc.
2. Installez et configurez ELK (Elasticsearch, Logstash, Kibana)
ELK est un outil de gestion de journaux de conteneurs populaire, composé de trois composants : Elasticsearch, Logstash et Kibana. Ce qui suit utilise CentOS comme exemple pour présenter comment installer et configurer ELK.
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
Dans le fichier de configuration Logstash /etc/logstash/conf.d/log cachette.conf < /code>, ajoutez le contenu suivant : <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>
Dans le fichier de configuration de Kibana /etc/kibana/kibana.yml
, ajoutez le contenu suivant :
sudo systemctl restart td-agent
Redémarrez les services Logstash et Kibana :
rrreeeMaintenant qu'ELK a été installé et configuré, vous pouvez accéder et interroger les données des journaux du conteneur via l'interface Web de Kibana.
3. Utilisez Fluentd pour la gestion des journaux de conteneurs
/etc/td-agent/td-agent.conf
et ajoutez le contenu suivant : Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!