Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana untuk menggunakan Docker untuk pemantauan kontena dan analisis log di Linux?

Bagaimana untuk menggunakan Docker untuk pemantauan kontena dan analisis log di Linux?

王林
王林asal
2023-07-29 22:49:091319semak imbas

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

  1. Gunakan cAdvisor untuk pemantauan kontena
    cAdvisor ialah alat pemantauan kontena sumber terbuka Google, yang boleh menyediakan data pemantauan seperti CPU, memori, rangkaian dan cakera bekas. Berikut ialah langkah untuk menggunakan cAdvisor untuk memantau bekas:

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.

  1. Menggunakan Prometheus dan Grafana untuk pemantauan kontena
    Prometheus ialah sistem pemantauan berasaskan siri masa yang boleh digunakan untuk pemantauan kontena. Grafana ialah alat visualisasi data sumber terbuka yang boleh memaparkan dan menganalisis data yang dikumpul oleh Prometheus. Berikut ialah langkah-langkah untuk menggunakan Prometheus dan Grafana untuk pemantauan kontena:

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

  1. Gunakan ELK untuk analisis log kontena
    ELK ialah penyelesaian analisis log yang biasa digunakan, terdiri daripada Elasticsearch, Logstash dan Kibana. Berikut ialah langkah-langkah untuk analisis log kontena menggunakan ELK:

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn