Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Pemantauan kontena docker di Linux: Bagaimana untuk memantau status berjalan kontena dalam masa nyata?

Pemantauan kontena docker di Linux: Bagaimana untuk memantau status berjalan kontena dalam masa nyata?

WBOY
WBOYasal
2023-07-28 21:09:211833semak imbas

Pemantauan kontena docker di Linux: Bagaimana untuk memantau status berjalan kontena dalam masa nyata?

Pengenalan:
Dengan aplikasi teknologi kontena yang meluas, Docker telah menjadi salah satu platform kontena yang paling popular. Walau bagaimanapun, hanya mencipta dan menjalankan bekas tidak mencukupi untuk memastikan operasi yang stabil adalah penting. Artikel ini akan memperkenalkan cara memantau status berjalan kontena Docker dalam masa nyata pada platform Linux dan memberikan contoh kod yang sepadan.

1. Kepentingan Pemantauan Kontena Docker
Dengan memantau bekas Docker, kami boleh menjejaki penggunaan CPU, penggunaan memori, trafik rangkaian, IO cakera dan penunjuk kontena lain dalam masa nyata, untuk menemui dan menyelesaikan masalah yang berpotensi dalam cara yang tepat pada masanya. Pada masa yang sama, pemantauan juga boleh membantu kami mengoptimumkan penggunaan sumber dan meningkatkan prestasi keseluruhan sistem.

2. Gunakan cAdvisor untuk memantau bekas Docker
cAdvisor ialah alat sumber terbuka yang khusus digunakan untuk memantau penggunaan sumber bekas. Ia boleh berkomunikasi dengan enjin Docker melalui API Docker pada hos Docker dan mengumpul pelbagai penunjuk dalam bekas.

  1. Memasang cAdvisor
    Memasang cAdvisor pada sistem Linux adalah sangat mudah. Kita boleh memasangnya menggunakan arahan berikut:
docker run 
  --volume=/:/rootfs:ro 
  --volume=/var/run:/var/run:rw 
  --volume=/sys:/sys:ro 
  --volume=/var/lib/docker/:/var/lib/docker:ro 
  --publish=8080:8080 
  --detach=true 
  --name=cadvisor 
  google/cadvisor:latest

Arahan ini akan memulakan bekas cAdvisor secara setempat dan memetakannya ke port 8080 hos.

  1. Lihat hasil pemantauan
    Lawati http://localhost:8080 dalam penyemak imbas untuk melihat antara muka pemantauan cAdvisor. Antara muka ini boleh memaparkan pelbagai penunjuk bekas, termasuk CPU, memori, rangkaian, cakera, dsb. http://localhost:8080即可查看cAdvisor的监控界面。该界面能够显示容器的各项指标,包括CPU、内存、网络、磁盘等。

三、使用Docker API监控容器
除了使用cAdvisor外,我们还可以通过Docker API来监控容器的运行状态。Docker API提供了一系列接口,可以查询和管理容器的信息。

  1. 安装Docker SDK for Python
    首先,我们需要安装Docker SDK for Python,它是Docker官方提供的Python库,用于与Docker API进行交互。我们可以使用以下命令进行安装:
pip install docker
  1. 使用代码监控容器
    下面是一个使用Docker SDK for Python来监控容器的示例代码:
import docker

def monitor_container(container_id):
    client = docker.from_env()
    container = client.containers.get(container_id)
    
    stats = container.stats(stream=True)
    for stat in stats:
        # 处理容器的统计数据
        print(stat)

该代码首先使用docker.from_env()创建了一个Docker客户端实例,然后通过client.containers.get(container_id)获取指定的容器对象。接着,通过container.stats(stream=True)

3. Gunakan Docker API untuk memantau kontena
Selain menggunakan cAdvisor, kami juga boleh memantau status berjalan kontena melalui Docker API. Docker API menyediakan satu siri antara muka untuk bertanya dan mengurus maklumat kontena.

Pasang Docker SDK untuk Python
    Pertama, kita perlu memasang Docker SDK untuk Python, iaitu perpustakaan Python yang disediakan secara rasmi oleh Docker untuk berinteraksi dengan API Docker. Kita boleh memasangnya menggunakan arahan berikut:
  • rrreee
  • Memantau bekas menggunakan kod
Berikut ialah contoh kod untuk memantau bekas menggunakan Docker SDK untuk Python:🎜🎜rrreee🎜Kod pertama kali menggunakan docker.from_env() Mencipta instance klien Docker, dan kemudian memperoleh objek kontena yang ditentukan melalui <code>client.containers.get(container_id). Kemudian, dapatkan data statistik masa nyata bekas melalui container.stats(stream=True) dan proseskannya dengan sewajarnya. 🎜🎜4 Ringkasan🎜Artikel ini memperkenalkan cara memantau status berjalan kontena Docker dalam masa nyata di Linux. Dengan menggunakan API cAdvisor dan Docker, kami boleh mendapatkan pelbagai penunjuk kontena dengan mudah dan melaksanakan pengoptimuman prestasi dan penyelesaian masalah dengan sewajarnya. Saya harap artikel ini akan membantu anda memahami pemantauan kontena Docker. 🎜🎜Sampel kod dan dokumentasi API boleh didapati di pautan berikut: 🎜🎜🎜cAdvisor: https://github.com/google/cadvisor 🎜🎜Docker SDK untuk Python: https://docker-py.readthedocs.io/ 🎜🎜

Atas ialah kandungan terperinci Pemantauan kontena docker di Linux: Bagaimana untuk memantau status berjalan kontena dalam masa nyata?. 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