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.
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.
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提供了一系列接口,可以查询和管理容器的信息。
pip install docker
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.
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!