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

Comment utiliser Docker pour la surveillance des conteneurs et l'analyse des journaux sous Linux ?

王林
Libérer: 2023-07-29 22:49:09
original
1386 Les gens l'ont consulté

Comment utiliser Docker pour la surveillance des conteneurs et l'analyse des journaux sous Linux ?

Introduction :
Docker est une technologie de conteneurisation populaire qui permet aux développeurs de créer, de distribuer et d'exécuter plus facilement des applications. Cependant, à mesure que le nombre d’applications augmente, la surveillance des conteneurs et l’analyse des journaux deviennent de plus en plus importantes. Cet article explique comment utiliser Docker pour la surveillance des conteneurs et l'analyse des journaux sur les systèmes Linux, et fournit des exemples de code correspondants.

1. Surveillance des conteneurs

  1. Utilisez cAdvisor pour la surveillance des conteneurs
    cAdvisor est l'outil de surveillance des conteneurs open source de Google, qui peut fournir des données de surveillance telles que le processeur, la mémoire, le réseau et le disque du conteneur. Voici les étapes pour utiliser cAdvisor pour surveiller les conteneurs :

Étape 1 : Installer et démarrer cAdvisor
cAdvisor peut être installé avec la commande suivante :

docker run --detach=true --name=cadvisor --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 gcr.io/cadvisor/cadvisor:latest
Copier après la connexion

Après le démarrage, vous pouvez afficher les données de surveillance en visitant http://localhost :8080.

Étape 2 : Surveiller le conteneur spécifié
Vous pouvez surveiller le conteneur spécifié via la commande suivante :

docker run --detach=true --name=cadvisor --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 gcr.io/cadvisor/cadvisor:latest -c docker_container_name
Copier après la connexion

où docker_container_name est le nom du conteneur à surveiller.

  1. Utilisation de Prometheus et Grafana pour la surveillance des conteneurs
    Prometheus est un système de surveillance basé sur des séries chronologiques qui peut être utilisé pour la surveillance des conteneurs. Grafana est un outil de visualisation de données open source qui peut afficher et analyser les données collectées par Prometheus. Voici les étapes pour utiliser Prometheus et Grafana pour la surveillance des conteneurs :

Étape 1 : Installer et configurer Prometheus
Prometheus peut être installé via la commande suivante :

docker run -d --name=prometheus -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
Copier après la connexion

L'exemple de contenu du fichier de configuration prometheus.yml est le suivant :

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']
Copier après la connexion

Après l'exécution, vous pouvez afficher les données de surveillance en accédant à http://localhost:9090.

Étape 2 : Installer et configurer Grafana
Grafana peut être installé via la commande suivante :

docker run -d --name=grafana -p 3000:3000 grafana/grafana
Copier après la connexion

Après l'installation, visitez http://localhost:3000 pour configurer Grafana et ajouter la source de données Prometheus. Des tableaux de bord peuvent ensuite être créés pour afficher et analyser les données collectées.

2. Analyse des journaux

  1. Utilisez ELK pour l'analyse des journaux de conteneurs
    ELK est une solution d'analyse de journaux couramment utilisée, composée d'Elasticsearch, Logstash et Kibana. Voici les étapes d'analyse des journaux de conteneur à l'aide d'ELK :

Étape 1 : Installer et configurer Elasticsearch
Elasticsearch peut être installé via la commande suivante :

docker run -d --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.15.1
Copier après la connexion

Après l'installation, vous pouvez vérifier qu'Elasticsearch fonctionne correctement en visitant http:/ /localhost : 9 200 exécutions.

Étape 2 : Installer et configurer Kibana
Kibana peut être installé via la commande suivante :

docker run -d --name=kibana -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" docker.elastic.co/kibana/kibana:7.15.1
Copier après la connexion

Après l'installation, Kibana peut être configuré en visitant http://localhost:5601 et en utilisant Elasticsearch comme source de données.

Étape 3 : Installer et configurer Logstash
Logstash peut être installé avec la commande suivante :

docker run -d --name=logstash -p 5000:5000 -v /path/to/logstash.conf:/usr/share/logstash/pipeline/logstash.conf docker.elastic.co/logstash/logstash:7.15.1
Copier après la connexion

L'exemple de contenu du fichier de configuration logstash.conf est le suivant :

input {
  beats {
    port => 5000
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
}
Copier après la connexion

Après l'installation, Logstash écoutera sur le port 5000 et enverra enregistrer les données sur Elasticsearch.

Étape 4 : Configurer la collecte des journaux du conteneur
Vous pouvez configurer la collecte des journaux du conteneur via la commande suivante :

docker run -it --name=your_container_name --log-driver=gelf --log-opt gelf-address=udp://localhost:5000 your_image_name
Copier après la connexion

où votre_nom_du_conteneur est le nom du conteneur pour collecter les journaux et votre_nom_image est le nom de l'image utilisée par le conteneur.

Conclusion :
En utilisant Docker pour la surveillance des conteneurs et l'analyse des journaux, nous pouvons mieux comprendre l'état d'exécution et les informations de journalisation du conteneur, améliorant ainsi la stabilité et la fiabilité de l'application. Cet article présente deux outils et méthodes couramment utilisés et fournit des exemples de code correspondants. J'espère qu'il sera utile aux lecteurs lors de l'utilisation de Docker pour la surveillance des conteneurs et l'analyse des journaux sur les systèmes Linux.

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!

Étiquettes associées:
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
Derniers numéros
Déployer l'environnement SNMP dans Docker
Depuis 1970-01-01 08:00:00
0
0
0
docker installer phpstudy
Depuis 1970-01-01 08:00:00
0
0
0
À propos de Docker
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal