Comment configurer la gestion des journaux de conteneurs sous Linux

王林
Libérer: 2023-07-07 21:42:05
original
865 Les gens l'ont consulté

Comment configurer la gestion des journaux de conteneurs sous Linux

Introduction :
Avec le développement continu de la technologie des conteneurs, de plus en plus d'applications sont déployées dans des conteneurs. L'une des caractéristiques des conteneurs est leur légèreté, mais cela pose également des défis dans la gestion des journaux des conteneurs. Cet article explique comment configurer la gestion des journaux de conteneurs sous Linux pour réaliser la collecte, le stockage et l'analyse des journaux.

1. Installer Docker
Tout d'abord, nous devons installer Docker sur Linux. Docker est une plate-forme de conteneurisation populaire qui nous aide à créer, empaqueter et déployer rapidement des applications.

  1. Installer Docker
    Exécutez la commande suivante dans le terminal pour installer Docker :
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Copier après la connexion
  1. Démarrez Docker
    Une fois l'installation terminée, utilisez la commande suivante pour démarrer le service Docker :
$ sudo systemctl start docker
Copier après la connexion
Copier après la connexion

Maintenant, nous avons installé Docker et peut démarrer Configurer la gestion des journaux du conteneur.

2. Configurer le pilote de journal du conteneur
Par défaut, Docker utilise le fichier json comme pilote de journal par défaut. Mais pour les environnements de production, nous pouvons avoir besoin d'outils de gestion des journaux plus puissants, tels qu'Elasticsearch, Fluentd, etc.

  1. Arrêtez le service Docker
    Avant de changer le pilote de journal, nous devons d'abord arrêter le service Docker :
$ sudo systemctl stop docker
Copier après la connexion
  1. Configurer le pilote de journal
    Modifier le fichier de configuration Docker, modifier le "/etc/docker/daemon.json " et ajoutez le contenu suivant :
{
  "log-driver": "fluentd",
  "log-opts": {
    "fluentd-address": "192.168.1.100:24224"
  }
}
Copier après la connexion

Où, fluentd-address est l'adresse IP et le port du serveur Fluentd.

  1. Redémarrez Docker
    Après la mise à jour de la configuration, redémarrez le service Docker pour que les modifications prennent effet :
$ sudo systemctl start docker
Copier après la connexion
Copier après la connexion

Maintenant, les journaux du conteneur seront collectés via Fluentd, et nous pourrons les envoyer à des outils tels que Elasticsearch pour le stockage et analyse.

3. Configurer Fluentd
Afin d'envoyer les logs du conteneur à Fluentd, nous devons effectuer la configuration correspondante sur le serveur Fluentd.

  1. Installer Fluentd
    Exécutez la commande suivante sur le serveur Fluentd pour installer Fluentd :
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
Copier après la connexion
  1. Configurer Fluentd
    Editer le fichier de configuration Fluentd, modifier le fichier "/etc/td-agent/td-agent.conf", et ajoutez le contenu suivant :
<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>
Copier après la connexion

Où, hôte et port sont l'adresse IP et le port du serveur Elasticsearch.

  1. Redémarrez Fluentd
    Après la mise à jour de la configuration, redémarrez le service Fluentd pour que les modifications prennent effet :
$ sudo systemctl restart td-agent
Copier après la connexion

Maintenant, Fluentd est prêt à recevoir les journaux du conteneur.

4. Collecte des journaux de test
Afin de tester si notre configuration est efficace, nous créons une simple application Hello World et la conditionnons dans une image Docker.

  1. Créer une application
    Exécutez la commande suivante dans le terminal pour créer une application Python nommée "app.py":
$ echo 'print("Hello World!")' > app.py
Copier après la connexion
  1. Créer un Dockerfile
    Créez un fichier nommé "Dockerfile" dans le même répertoire avec le contenu suivant :
FROM python:3
COPY app.py .
CMD [ "python", "./app.py" ]
Copier après la connexion
  1. Créez l'image
    Exécutez la commande suivante dans le terminal pour créer l'image Docker :
$ docker build -t myapp .
Copier après la connexion
  1. Exécutez le conteneur
    Exécutez la commande suivante pour démarrer le conteneur et voyez si vous avez reçu des journaux du conteneur dans le Service Fluentd :
$ docker run myapp
Copier après la connexion

Si tout est configuré correctement, vous verrez un message de journal similaire à "Hello World!"

Résumé : 
Grâce aux étapes ci-dessus, nous avons configuré avec succès la gestion des journaux de conteneurs sur Linux. À l'aide d'outils tels que Fluentd et Elasticsearch, nous pouvons facilement collecter, stocker et analyser les journaux des conteneurs afin de mieux surveiller et maintenir nos applications. J'espère que cet article vous aidera à configurer la gestion des journaux de conteneurs sous Linux.

Liens de référence :

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

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!