cAdvisor เป็นโปแกรมที่ไว้ใช้ตรวจสอบการใช้ทรัพยาการณ์ของ Docker และ เครื่อง Host ที่มีการแสดงผลแบบกราฟที่เข้าใจง่ายและสะดวกในการใช้งาน
ติดตั้ง curl ด้วยคำสั่ง
sudo apt-get install curl

ติดตั้ง Docker ด้วยคำสั่ง

curl -sSL https://get.docker.com/ubuntu/ | sudo sh

ติดตั้ง cAdvisor ด้วยคำสั่ง

sudo 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

สร้าง Containers ที่มีการทำงานของ MySQL เพื่อให้เห็นการทำงานของ cAdvisor ได้มากขึ้นด้วยคำสั่ง

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
ไปที่เว็บเบราว์เซอร์เข้าไปที่ http://127.0.0.1:8080 จะพบกับหน้าแรกของ cAdvisor หน้านี้จะไว้ใช้คตรวจสอบการทำงานของเครื่อง Host ที่ได้ทำการลง Docker ดังนี้
Isolation

  • CPU
    • Shares : จำนวน Memory (RAM) ที่เครื่อง Host แบ่งให้ Docker ใช้งานมีหน่วยเป็น Megabyte
    • Allowed Cores 0 1 : หมายเลขและจำนวน Cores ของ CPU ที่ Docker สามารถใช้งานได้ (ในภาพสามารถใช้งานได้ 2 Cores คือ 0 กับ 1)

  • Memory
    • Limit : จำนวน Memory ที่แต่ละ Container สามารถนำไปใช้ได้ ( ในภาพ กำหนดให้ไม่มีจำกัด )

    Usage

    • Overview : ปริมาณการใช้งาน CPU และ Memory ที่เครื่อง Host ใช้
    • CPU
      • Total Usage : ปริมาณการใช้งาน CPU ทั้งหมดแสดงผลเป็นกราฟเส้นทุก 10 วินาที
      • Usage per Core : ปริมาณการใช้งาน CPU แบ่งแยกแต่ละ Core โดยใช้กราฟเส้นแยกสีแต่ละ Core แตกต่างกัน
      • Usage Breakdown : ปริมาณการใช้งาน CPU แบ่งแยกตามการใช้งานของ User และ Kernel

    Memory

    • Total Usage : ปริมาณการใช้งาน Memory โดยรวม

    Filesystem

    • Partition : ตำแหน่งและปริมาณการใช้งานพื้นที่เก็บข้อมูลของเครื่อง Host

    วิธีการตรวจสอบปริมาณการใช้ทรัพยากรณ์ของแต่ละ Container สามารถตรวจสอบได้โดยไปที่ Docker Containers

    จะพบกับรายการ Containers ที่ทำงานอยู่ในหัวข้อ Subcontainers เลือกที่ Container ที่ต้องการตรวจสอบในตัวอย่างเลือก cadvisor

    เมื่อเลือกเข้ามาแล้วจะพบกับรายงานผลการใช้งานทรัพยกรณ์ของ Container ซึ่งมีการรายงานผลที่เหมือนกันแต่มีการเพิ่มการรายงานผลดังนี้
    Network

    • Throughput : ปริมาณการใช้งานข้อมูลบนระบบเครือข่ายทั้งรับ (Rx) และ ส่ง (Tx) ข้อมูลมีหน่วยเป็น byte
    • Errors : ปริมาณข้อมูลที่มีความผิดพลาดระหว่างกระบวนการรับและส่งข้อมูล

    วิธีการเรียกดูค่าจาก REST API สามารถเรียดูได้จากเว็บเบราว์เซอร์ด้วยการโครงสร้าง URL ดังนี้

    http://:/api//

    เรียกดูข้อมูลของเครื่อง Host

    http://127.0.0.1:8080/api/v1.2/machine

    เรียกดูข้อมูลของ Container ทั้งหมด

    http://127.0.0.1:8080/api/v1.2/docker/

    เรียกดูโดยระบุ Container ที่ต้องการ

    http://127.0.0.1:8080/api/v1.2/docker/container_name
    โดยทำการเปลี่ยนค่า container_name เป็นชื่อ Container ที่ต้องการเช่น

    http://127.0.0.1:8080/api/v1.2/docker/some-mysql

    Comments are closed.