งาน Google I/O 2014 ที่ผ่านมาทาง Google เปิดโค้ดโครงการ Kubernetes ทำหน้าที่เป็น Orchestration, Health Monitoring, HA เบื้องต้นใช้กับ lmctfy ซึ่งเป็น container ของ Google เอง และ cAdvisor เป็น resources และ performance monitor ของ lmctfy เช่นกัน แต่สามารถใช้งานร่วมกับ Docker ได้ ก็ขอเอาเรื่องนี้มาเขียน Blog ไว้ก่อน ส่วน Kubernetes ค่อย Blog อีกทีครับ

cAdvisor หรือ Container Advisor ไม่ได้ทำหน้าที่ Lease Monitoring เหมือนกับ Haizea แต่ทำหน้าที่แต่ Resource / Performance Monitoring เท่านั้น สามารถบอกได้ว่า Docker ใช้ Resource ไปเท่าไร เช่น CPU, RAM, Network ฯลฯ และสามารถบอกรายละเอียดการใช้ resource ของแต่ละ Container ได้ การดูข้อมูลสามารถดูผ่านหน้าเว็บหรือใช้ REST API ดูได้ แนวทางของการใช้ cAdvisor จะเอาไปประกอบกับ Kubernetes เพื่อทำ HA ให้กับ Container ได้ หรือเอาไปทำ Performance Monitor ดูกราฟแบบ real time ได้ หรืออาจจะเอาไปประยุกต์ใช้ทำ Charge back ได้อีกด้วย เพราะสถิติการใช้ Resource เก็บไว้เป็นรายวินาทีทีเดียว

มาลงมือกัน ก่อนอื่นคุณต้องมี Docker Host ก่อน ถ้าใครไม่มีก็จัดการ ติดตั้ง Docker ให้เรียบร้อยก่อน ถ้าใช้ Ubuntu 14.04 ติดตั้ง Docker ง่ายๆ ดังนี้

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

จากนั้นติดตั้ง cAdvisor จาก Docker Hub ดังนี้

sudo docker run \
--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

เปิดเว็บเบราเซอร์ ไปที่ Docker Host ของคุณ ใช้ port 8080 เพื่อดูสถิติผ่านเว็บ

ใช้ REST API ดูข้อมูลได้เช่นกัน ใช้ URI ดังนี้

  • http://your-docker-host:8080/api/v1.0/containers/
  • http://your-docker-host:8080/api/v1.0/containers/user
  • http://your-docker-host:8080/api/v1.0/containers/user/USER-ID
  • http://your-docker-host:8080/api/v1.0/containers/docker
  • http://your-docker-host:8080/api/v1.0/containers/docker/DOCKER-ID

Comments are closed.