Bagaimana untuk menggunakan Docker untuk pemantauan kontena dan analisis log di Linux?
Pengenalan:
Docker ialah teknologi kontena yang popular yang memudahkan pembangun membina, mengedar dan menjalankan aplikasi. Walau bagaimanapun, apabila bilangan aplikasi meningkat, pemantauan kontena dan analisis log menjadi semakin penting. Artikel ini akan memperkenalkan cara menggunakan Docker untuk pemantauan kontena dan analisis log pada sistem Linux, dan memberikan contoh kod yang sepadan.
1. Pemantauan kontena
Langkah 1: Pasang dan mulakan cAdvisor
cAdvisor boleh dipasang dengan arahan berikut:
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
Selepas bermula, anda boleh melihat data pemantauan dengan melawati http://localhost :8080.
Langkah 2: Pantau bekas yang ditentukan
Anda boleh memantau bekas yang ditentukan melalui arahan berikut:
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
di mana docker_container_name ialah nama bekas yang akan dipantau.
Langkah 1: Pasang dan konfigurasikan Prometheus
Prometheus boleh dipasang melalui arahan berikut:
docker run -d --name=prometheus -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
Contoh kandungan fail konfigurasi prometheus.yml adalah seperti berikut:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'cadvisor' static_configs: - targets: ['cadvisor:8080']
Selepas berjalan, anda boleh Melihat data pemantauan dengan mengakses http://localhost:9090.
Langkah 2: Pasang dan konfigurasi Grafana
Grafana boleh dipasang melalui arahan berikut:
docker run -d --name=grafana -p 3000:3000 grafana/grafana
Selepas pemasangan, lawati http://localhost:3000 untuk mengkonfigurasi Grafana dan menambah sumber data Prometheus. Papan pemuka kemudiannya boleh dibuat untuk memaparkan dan menganalisis data yang dikumpul.
2. Analisis log
Langkah 1: Pasang dan konfigurasikan Elasticsearch
Elasticsearch boleh dipasang melalui arahan berikut:
docker run -d --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.15.1
Selepas pemasangan, anda boleh mengesahkan bahawa Elasticsearch berfungsi dengan baik dengan melawati http:/ /localhost:9200 dijalankan.
Langkah 2: Pasang dan konfigurasi Kibana
Kibana boleh dipasang melalui arahan berikut:
docker run -d --name=kibana -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" docker.elastic.co/kibana/kibana:7.15.1
Selepas pemasangan, Kibana boleh dikonfigurasikan dengan melawati http://localhost:5601 dan gunakan Elasticsearch sebagai sumber data.
Langkah 3: Pasang dan konfigurasi Logstash
Logstash boleh dipasang dengan arahan berikut:
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
Contoh kandungan fail konfigurasi logstash.conf adalah seperti berikut:
input { beats { port => 5000 } } output { elasticsearch { hosts => ["http://localhost:9200"] } }
Selepas pemasangan, Logstash akan mendengar pada port 5000 dan menghantar log data ke Elasticsearch.
Langkah 4: Konfigurasi koleksi log kontena
Anda boleh mengkonfigurasi koleksi log kontena melalui arahan berikut:
docker run -it --name=your_container_name --log-driver=gelf --log-opt gelf-address=udp://localhost:5000 your_image_name
di mana nama_bekas anda ialah nama bekas untuk mengumpul log, dan nama_imej anda ialah nama imej yang digunakan oleh bekas.
Kesimpulan:
Dengan menggunakan Docker untuk pemantauan kontena dan analisis log, kami dapat memahami dengan lebih baik status larian dan maklumat log kontena, dengan itu meningkatkan kestabilan dan kebolehpercayaan aplikasi. Artikel ini memperkenalkan dua alat dan kaedah yang biasa digunakan, dan menyediakan contoh kod yang sepadan Saya harap ia akan membantu pembaca apabila menggunakan Docker untuk pemantauan kontena dan analisis log pada sistem Linux.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Docker untuk pemantauan kontena dan analisis log di Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!