Docker 1.8 ออกมาพร้อมกับการรองรับการใช้งานร่วมกับ Graylog ทำให้เราสามารถทำ Centralized Log และ Log Analized ของ Container บน Graylog ได้เลย เพียงแค่กำหนด —log-driver และ –log-opt ตอนสั่ง run เท่านั้น เรียกได้ว่าง่ายมากๆ มาลองเล่นกันดีกว่า ท่านที่ไม่มี Graylog สามารถใช้ Docker Image จาก Docker Hub มาทดลองกันได้

มาติดตั้ง Graylog ดังนี้

docker run -t -p 9000:9000 -p 12201:12201 graylog2/allinone

Graylog web จะทำงานบน port 9000 และส่ง log message ผ่านทาง udp port 12201 เมื่อสั่ง run Graylog เรียบร้อยแล้วก็มาลองกับ busybox ง่ายๆ กันก่อนดังนี้

docker run --log-driver=gelf --log-opt gelf-address=udp://graylog:12201 busybox echo Hello Graylog

จากนั้นเข้าไปหน้า Web UI ตั้งค่า input เป็น GELF-UDP

เมื่อตั้งค่าแล้วเราก็สามารถดู log message ที่เกิดจาก Container ได้เลย ดูจาก message ที่เราสั่ง Hello Graylog

มาลองดูใหม่ ให้ run ngninx container ขึ้นมาเพิ่ม

docker run -d -P --log-driver=gelf --log-opt gelf-address=udp://graylog:12201 nginx

เราจะพบว่ามี message เพิ่มเข้ามาใน Graylog แล้ว

จากนั้นก็ใช้งาน Graylog ตามปกติ เช่น ตั้งค่า filter สำหรับ message ที่เราสนใจ

ทำ dashboard เอาไว้ monitor

Comments are closed.