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 ?
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
É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
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
où docker_container_name est le nom du conteneur à surveiller.
É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
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']
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
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
É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
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
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
L'exemple de contenu du fichier de configuration logstash.conf est le suivant :
input { beats { port => 5000 } } output { elasticsearch { hosts => ["http://localhost:9200"] } }
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
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!