Maison Opération et maintenance exploitation et maintenance Linux Comment utiliser Docker pour l'analyse des journaux de conteneurs et la surveillance des exceptions

Comment utiliser Docker pour l'analyse des journaux de conteneurs et la surveillance des exceptions

Nov 07, 2023 pm 02:09 PM
docker 日志分析 异常监测

Comment utiliser Docker pour lanalyse des journaux de conteneurs et la surveillance des exceptions

Docker est une technologie de conteneurisation populaire qui peut regrouper une application et ses dépendances dans un conteneur pour l'exécuter comme une seule unité d'application portable. Cette technologie permet aux développeurs de déployer et de gérer facilement des applications dans différents environnements. Dans les applications pratiques, l'analyse des journaux et la surveillance des exceptions des conteneurs Docker sont très nécessaires. Cet article explique comment utiliser Docker pour l'analyse des journaux et la surveillance des exceptions des conteneurs, y compris les aspects suivants :

  1. Journaux du conteneur Docker
  2. Utilisez la commande Docker log pour afficher les journaux
  3. Utilisez Logstash pour la collecte et l'analyse des journaux
  4. Utilisez Elasticsearch Indexation et stockage des données
  5. Utilisation de Kibana pour la visualisation des données

Nous devons d'abord comprendre les journaux concernant le conteneur Docker.

1. Journaux du conteneur Docker

Les journaux du conteneur Docker enregistrent les informations sur les opérations dans le conteneur, notamment : les informations de sortie de l'application, les informations sur les erreurs, les journaux d'accès, les journaux système, etc. Ces informations sont très importantes pour le fonctionnement et la maintenance des applications, le suivi, la gestion des exceptions, etc., nous devons donc collecter et analyser les journaux des conteneurs Docker.

2. Utilisez la commande Docker log pour afficher les journaux

Docker fournit la commande log, qui peut être utilisée pour afficher les informations de journal générées par le conteneur. À l'aide de la commande log, nous pouvons facilement afficher les informations de sortie en temps réel du conteneur en cours d'exécution et afficher ces informations sur la console ou les enregistrer dans un fichier. Voici un exemple d'utilisation de la commande log pour afficher les journaux du conteneur :

// 查看容器ID为xxx的日志
docker logs xxx

// 查看容器ID为xxx的日志,输出到控制台并实时更新
docker logs -f xxx 

// 查看容器ID为xxx的最近10条日志
docker logs --tail 10 xxx 
Copier après la connexion

En utilisant la commande log, les développeurs peuvent facilement afficher les informations de sortie en temps réel du conteneur et déterminer rapidement le problème, mais cette méthode convient aux conteneurs. sur un seul hôte, lorsque la taille du conteneur augmente, il devient difficile de visualiser manuellement les journaux, des outils de collecte de journaux doivent donc être utilisés pour collecter et analyser automatiquement les journaux.

3. Utilisez Logstash pour la collecte et l'analyse des journaux

Logstash est un outil open source pour la collecte, le filtrage, la conversion et l'envoi de journaux. Les données sont collectées via le plug-in d'entrée, traitées et converties par le filtre, puis sorties. Le plug-in traitera les données. Les données sont envoyées vers la destination, telle que Elasticsearch, Kafka, Amazon S3, etc. Dans la collection de journaux des conteneurs Docker, nous pouvons utiliser Logstash comme outil pour collecter et analyser les journaux. Voici un exemple d'utilisation de Logstash pour la collecte et l'analyse des journaux :

1. Installez Logstash

Téléchargez Logstash depuis le site officiel et décompressez le fichier à utiliser. La commande pour démarrer Logstash est la suivante :

cd logstash-7.15.1/bin
./logstash -f logstash.conf
Copier après la connexion

2. Configurer Logstash

Pour utiliser Logstash comme outil de collecte de journaux pour le conteneur, nous devons configurer le plug-in d'entrée et le plug-in de sortie dans Logstash. Voici un exemple du fichier de configuration logstash.conf :

input {
  docker {
    endpoint => "unix:///var/run/docker.sock"
    container_id => "ALL"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
  }
  stdout {
    codec => "json_lines"
  }
}
Copier après la connexion

Le fichier de configuration ci-dessus signifie que nous devons collecter les informations de journal de tous les conteneurs Docker, filtrer et analyser les données via le filtre grok, et enfin afficher les données traitées vers Recherche élastique.

4. Utilisez Elasticsearch pour l'indexation et le stockage des données

Elasticsearch est un moteur de recherche open source distribué qui peut être utilisé pour rechercher différents types de documents. Dans la collection de journaux des conteneurs Docker, nous utiliserons Elasticsearch comme index et stockage des données. Voici un exemple d'utilisation d'Elasticsearch pour l'indexation et le stockage des données :

1. Installez Elasticsearch

Téléchargez Elasticsearch depuis le site officiel et décompressez le fichier à utiliser. La commande pour démarrer Elasticsearch est la suivante :

cd elasticsearch-7.15.1/bin
./elasticsearch
Copier après la connexion

2. Configure Elasticsearch

Configurez le nom et le nom du nœud du cluster ES en modifiant le fichier elasticsearch.yml. Voici un exemple simple de fichier de configuration elasticsearch.yml :

cluster.name: docker-cluster
node.name: es-node1
network.host: 0.0.0.0
Copier après la connexion

La configuration ci-dessus signifie que nous créons un cluster nommé docker-cluster, où le nom du nœud est es-node1 et que le service ES est lié à toutes les interfaces réseau disponibles.

3. Créer un index

Dans Elasticsearch, nous devons d'abord créer un index pour les données et spécifier les champs dans les données. L'exemple de code est le suivant :

PUT /logstash-test
{
  "mappings": {
    "properties": {
      "host": {
        "type": "keyword"
      },
      "message": {
        "type": "text"
      },
      "path": {
        "type": "text"
      },
      "verb": {
        "type": "keyword"
      }
    }
  }
}
Copier après la connexion

Le code ci-dessus crée un index nommé "logstash-test" dans Elasticsearch et définit les champs et les types de champs inclus dans l'index.

5. Utilisez Kibana pour l'affichage de la visualisation des données

Kibana est un outil de visualisation de données open source qui peut être utilisé pour afficher les données obtenues à partir d'Elasticsearch. Pendant le processus de collecte de journaux des conteneurs Docker, nous utiliserons Kibana pour l'affichage de la visualisation des données. Voici un exemple d'utilisation de Kibana pour l'affichage de la visualisation des données :

1. Installez Kibana

Téléchargez Kibana depuis le site officiel et décompressez le fichier à utiliser. La commande pour démarrer Kibana est la suivante :

cd kibana-7.15.1/bin
./kibana
Copier après la connexion

2. Paramètres du modèle d'index

Dans Kibana, nous devons configurer le modèle d'index. Le modèle d'index contient des définitions de champs de données et des informations d'analyse de requête. L'exemple de code est le suivant :

PUT _index_template/logstash-template
{
  "index_patterns": ["logstash-*"],
  "template": {
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },
        "@version": { "type": "keyword" },
        "message": { "type": "text" },
        "path": { "type": "text" }
      }
    }
  }
}
Copier après la connexion

Le code ci-dessus signifie créer un modèle d'index nommé "logstash-template" et l'appliquer aux index dont les noms commencent par "logstash-*".

3. Visualisation des données

Dans le panneau des plug-ins de Kibana, vous pouvez choisir de définir et de gérer des modèles visuels. Nous pouvons facilement créer différents types de graphiques visuels via le panneau, tels que des graphiques linéaires, des graphiques à barres, des diagrammes circulaires, etc.

En résumé, cet article explique comment utiliser Docker pour l'analyse des journaux de conteneurs et la surveillance des exceptions, et donne des exemples de code spécifiques. Docker lui-même fournit la commande log pour afficher les journaux du conteneur, mais l'affichage manuel des journaux devient plus difficile à mesure que l'échelle du conteneur augmente. En utilisant des outils tels que Logstash, Elasticsearch et Kibana, nous pouvons collecter et analyser automatiquement les journaux du conteneur et afficher l'état d'exécution du conteneur, ce qui est très utile pour le fonctionnement et la maintenance des applications et la gestion des pannes.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Comment construire un référentiel privé par Docker Comment construire un référentiel privé par Docker Apr 15, 2025 am 11:06 AM

Vous pouvez créer des référentiels privés Docker pour stocker et gérer en toute sécurité les images de conteneurs, en fournissant un contrôle et une sécurité stricts. Les étapes incluent: la création d'un référentiel, l'accès, le déploiement d'un référentiel, la poussée d'une image et le tir d'une image. Les avantages incluent la sécurité, le contrôle des versions, la réduction du trafic réseau et la personnalisation.

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

See all articles