Maison  >  Article  >  Opération et maintenance  >  Comment configurer la gestion des journaux de conteneurs hautement disponibles sous Linux

Comment configurer la gestion des journaux de conteneurs hautement disponibles sous Linux

王林
王林original
2023-07-06 15:42:18705parcourir

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 :

  1. Prise en charge des environnements conteneurisés : choisissez un outil de gestion des journaux qui peut prendre en charge les environnements conteneurisés et peut facilement collecter et analyser les données du journal du conteneur.
  2. Haute disponibilité : afin de garantir la disponibilité continue des journaux de conteneur, vous devez choisir un outil de gestion des journaux qui prend en charge la haute disponibilité pour éviter la perte ou l'interruption des données des journaux.
  3. Facile à utiliser et à déployer : choisir un outil de gestion des journaux facile à utiliser et à déployer peut réduire la pression de travail des administrateurs système.

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.

  1. Installez Elasticsearch
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
  1. Installez Logstash
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
  1. Installez Kibana
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
  1. Configurez Logstash

Dans le fichier de configuration Logstash /etc/logstash/conf.d/log cachette.conf , 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}"
  }
}
  1. 配置Kibana

在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。

  1. 安装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
  1. 配置Fluentd

编辑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>

    Configurer Kibana

    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 :

    rrreee

    Maintenant 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

    Fluentd est un autre outil populaire de gestion des journaux de conteneurs. Son concept de conception est simple, léger et évolutif. Ce qui suit utilise Ubuntu comme exemple pour présenter comment installer et configurer Fluentd.
  • Installez Fluentd
  • rrreee
  • Configurez Fluentd
  • Modifiez le fichier de configuration Fluentd /etc/td-agent/td-agent.conf et ajoutez le contenu suivant :
rrreee🎜Redémarrez le Service Fluentd :🎜rrreee🎜Maintenant, Fluentd a été installé et configuré pour collecter et stocker les données des journaux de conteneurs. 🎜🎜Conclusion🎜🎜La gestion des journaux de conteneurs est très importante pour garantir le fonctionnement stable et le dépannage de l'environnement du conteneur. Cet article décrit comment configurer la gestion des journaux de conteneurs hautement disponibles sous Linux et fournit des exemples d'installation et de configuration d'ELK et Fluentd. Les lecteurs peuvent choisir l'outil approprié pour la gestion des journaux de conteneurs en fonction de leurs propres besoins, et le configurer et l'utiliser selon les exemples. 🎜🎜Référence : 🎜🎜🎜https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html🎜🎜https://www.elastic.co/guide/en / logstash/current/installing-logstash.html🎜🎜https://www.elastic.co/guide/en/kibana/current/rpm.html🎜🎜https://fluentbit.io/🎜🎜https://docs . fluentd.org/v1.0/articles/docker-logging-efk-compose🎜🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn