ใช้บริการ DataDog มา Monitor Docker กัน

หากใครที่ไม่ชอบ cAdvisor ของ Google ซึ่งดูหยาบไป ดูย้อนหลังไม่ได้ อยากได้ Dashboard ที่ปรับแต่งได้ตามแบบที่ชอบ แนะนำให้ใช้ DataDog ครับ DataDog เป็นบริการ Monitoring น้องใหม่ที่สามารถจับข้อมูลได้หลายระบบปฏิบัติการ รวมไปถึง Docker, CoreOS, Cloud Service อย่าง Amazon Web Service, OpenShift ได้อีกด้วย นอกจากนี้ยังมีส่วนเสริมที่เชื่อม DataDock กับ Service หรือ Application ต่างๆ เพื่อ Monitor ในระดับ Service ได้ เช่น Apache, PHP, MongoDB, NGinX เป็นต้น DataDog เปิดให้ทดลองใช้งานฟรี 14 วัน หากทดลองแล้วติดใจซื้อบริการต่อได้

ก่อนอื่นสมัครสมาชิก DataDog กันก่อน จากนั้นเพิ่ม DataDog Agent ซึ่งวิธี Monitor Docker นั้นง่ายมากๆ เราสามารถใช้ DataDog Agent Container มาใช้งานได้ ดังนี้
Continue reading ใช้บริการ DataDog มา Monitor Docker กัน

มาเล่น Zabbix กัน

Zabbix เป็น Monitoring System อีกตัวหนึ่งที่น่าสนใจ ซึ่งมีคุณสมบัติหลากหลาย ไม่ว่าจะเป็น Performance Monitoring, Availability Report, Trigger, Event และ Graphs เป็นต้น Zabbix มี Template เสริมหลายตัว สามารถติดตั้งเพิ่มเติมได้ง่าย แถมยังสามารถตั้ง Trigger เพื่อส่งการแจ้งเตือนผ่านทาง E-Mail, IM และ SMS ได้อีกด้วย ความสามารถเยอะขนาดนี้ มาลองเล่นกันดูครับ
ติดตั้งบน Ubuntu 12.04 ทำได้ง่ายมากเพราะ Zabbix มี Repository ให้บริการไว้แล้ว แค่ติดตั้ง repo package ดังนี้
wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
dpkg -i zabbix-release_2.2-1+precise_all.deb
apt-get update
ติดตั้ง Zabbix Server
apt-get install zabbix-server-mysql zabbix-frontend-php
แก้ date.timezone ใน /etc/apache2/conf.d/zabbix จากนั้น restart apache ดังนี้
service apache2 restart
ติด Zabbix Agent ในเครื่องที่ต้องการ Monitor
apt-get install zabbix-agent
ตั้งค่า Zabbix Server ให้ Agent โดยใช้คำสั่ง
dpkg-reconfigure zabbix-agent
ใส่ hostname หรือ ip address ของเครื่อง Zabbix Server ให้ถูกต้อง
เปิด browser ไปที่ http://YOUR-ZABBIX-SERVER/zabbix ตั้งค่าอีกนิดหน่อย






จากนั้นจะเข้าสู่หน้าจอ Login กรอก username = Admin และ password = zabbix

ก็จะเข้าหน้าหลักของ Zabbix แล้ว วิธีการใช้งานให้ติดตั้ง Zabbix Agent ไว้ที่เครื่องที่ต้องการ Monitor จากนั้น เพิ่ม Host ที่ Configuration > Hosts เลือก Create Host ใส่ข้อมูล Host ที่ต้องการ Monitor ลงไป

คลิกที่ Template เลือก Template ที่ต้องการ ตัวอย่างเช่น OS Linux ถ้าต้องการ Monitor Service เช่น HTTP, HTTPS, SMTP, SSH ก็สามารถเพิ่มเข้าไปได้

กด Save แล้ว เข้าไปดูที่ Monitoring > Lastest Data ว่ามีข้อมูลมาจาก Agent แล้วหรือยัง

เมื่อมีข้อมูลมาแล้วคุณสามารถดูข้อมูล System Status ผ่านหน้า Dashboard ได้ หรือจะดู Trigger หรือ Event ได้เช่นกัน





 

มาเล่น Cacti กัน

เนื่องจากจำไม่ได้ว่าเคยเขียน How to เรื่อง Cacti ไปหรือยังและพยายามค้นดูแล้วหาไม่เจอ ก็เลยเอามาเขียนใหม่อีกรอบครับ Cacti เป็น Performance Monitoring System ตัวหนึ่งที่ใช้งานง่าย เน้นการจับข้อมูลจาก SNMP เป็นหลัก ทำให้การตั้งค่าการใช้งาน Cacti ง่ายตามไปด้วย อีกอย่างมี Plugin เสริมน่าที่สนใจหลายตัว มาลงมือกันเลย
apt-get update
apt-get install snmpd cacti cacti-spine
ตัวติดตั้งเริ่มให้คุณตั้งค่ารหัสผ่านให้กับ MySQL และ Config Cacti 🙂 ง่ายป่าว จากนั้นเรามา config เจ้า SNMP เพิ่มอีกนิดหน่อย แก้ไขที่ไฟล์ /etc/snmp/snmpd.conf แก้ให้ snmpd listen connection on all interfaces
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161
แก้ไข ACCESS CONTROL uncomment ตรง rocommunity แก้ ip address ให้เป็น ip address ของ Cacti
rocommunity secret Cacti-IP-Address
แก้ไขข้อมูล SYSTEM INFORMATION ให้สื่อความให้สักหน่อย
sysLocation Some Sererver
sysContact some@example.org
จากนั้น restart service ของ snmpd ดังนี้
service snmpd restart
จากนั้นมาตั้งค่า Cacti กัน เปิด browser ไปที่ http://your-cacti-server/cacti ล็อกอินด้วยผู้ใช้ admin รหัสผ่าน admin

จากนั้นโปรแกรมจะให้ตั้งรหัสผ่านใหม่

เมื่อตั้งรหัสผ่านเสร็จก็จะเข้าหน้า Cacti โล่งๆ แบบนี้

เปิดหน้า setting ที่ Configuration > Settings ตั้งค่า SNMP Version เป็น 2 และ SNMP Community เป็น secret

คลิกไปที่ Tab Poller เลือก Poller Type เป็น spine กำหนด Poller Inteval เป็น Every Minute กด Save

เพิ่ม Host ของเราเข้าไป ไปที่ Management > Devices กด Add ใส่ข้อมูล ระบุชื่อ hostname หรือ ip address เลือก Template เป็น Local Linux Machine กด Save

เพิ่ม Template เพิ่มเติม Unix – Ping Latency, SNMP – Get Mounted Partitions, SNMP – Get Processor Information, SNMP – Interface Statistics กด Save

กด Create Graphs for this Host เลือกกราฟทั้งหมด กด Create

นั่งรอไปสักพัก เลือก Tab Graphs ก็จะพบกราฟที่ดึงมาจาก SNMP สวยงาม 🙂

ถ้าต้องการทำ report โดยเลือกเฉพาะบางกราฟ ให้ไปที่ Console > Management > Graph Trees เลือกสร้างรายงานที่คุณต้องการได้ 😉

มาใช้ OpenShift Metrics Cartridge กัน

ผมกลับมาใช้ OpenShift อีกรอบเนื่องจากมีโครงการเฉพาะกิจ พัฒนาเกมส์บวกเลขเก็บสถิติบน Cloud ซึ่งตอนแรกคิดว่าจะใช้ GREE แต่เนื่องจากติดปัญหาเรื่อง Build Package บน GREE เลยล้มเลิกไปและกลับมาใช้ OpenShift อีกรอบพัฒนา RESTFul Web Services เก็บข้อมูล High Score เอาเอง ปัญหาของคนที่ใช้ OpenShift มักจะถามบ่อยครั้งมาที่ผมและทีม OpenShift ที่ RedHat คือ จะวัดได้อย่างไรว่า App ที่พัฒนาใช้ Resource มากน้อยแค่ไหน สมควรที่จะเพิ่ม Gear เพื่อทำ horizontal Scaling หรือไม่ จากที่ได้ใช้บริการ Cloud ของหลายที่ จะมีเครื่องมือ Monitoring และ Auto Scaling ให้เสมอแต่ OpenShift ยังไม่มี เพิ่งจะมีออกมาเป็น Experimental (รุ่นทดลอง) ชื่อ OpenShift Metrics ครับ เป็น Cartridge เพิ่มเข้าไปใน Gear ได้โดยตรง วิธีการเพิ่มก็เข้าไปที่หน้า Add Catridge ดังนี้

จากนั้นเลือก OpenShift Metrics Cartridge เมื่อติดตั้งเรียบร้อยแล้ว เราจะสามารถเข้าไปดูส่วน Monitoring ได้โดยใช้ URL ดังนี้
https://appname-namespace.rhcloud.com/metrics
อยากดูของจริงก็เข้าไปดูของผมได้ครับที่?https://rest-redlinemobi.rhcloud.com/metrics/?ยังไม่มีรายงานสรุป แต่มี Graph แบบ real time ซึ่งดูแล้วงงนิดหน่อย เพราะดูไม่ค่อยทัน แต่ก็ยังดีกว่าไม่มีครับ 😛



ใครที่ใช้ OpenShift อยู่ก็ไปลองกดเล่นๆ ดูได้ครับ