Coding defines Monitoring Jirayut Nimsaeng (Dear) Founder Opsta Code Mania 100 : Coding Defines Anything Faculty of Engineering, Chulalongkorn University | November 6, 2016 How developer do monitoring as a code
#whoami Jirayut Nimsaeng (Dear) ● Founder of Opsta https://facebook.com/opstacloud ● Senior DevOps at Kaidee ● Focus on building scale with Cloud Automation ● Open Source Contributor https://github.com/opsta OpenStack Contributor
Monitoring Stacks Network Physical Devices OS and Application Development Application Business
Network ● Bandwidth In/Out ● Connection ● Error/Loss ● Load on devices ● Traffic breakdown ● Latency
Physical Devices ● Hardware ● Temperature ● Fans ● Voltages ● Power Consumption
OS and Application Operating System ● CPU ● Memory ● Hard Disk ● Network ● Load Application ● Process ● Memory/Network footprint ● Logging ● Connection ● Specific value
Development Application ● Response time ○ Function ○ API ● Connection ○ Database ○ Other services ● Success/Error ● Counting ● Logging ● Application Specific
Business
Type of monitoring data Log Metric Check
Check
Metric
Log
Traditional Monitoring Tools
Modern Monitoring Features ● Dashboard ● Scaling ● Alert ● High Availability ● API ● Monitor as a Code ● Automated ● Developer Self Service
Modern Monitoring Tools
Monitor Components Database Analysis Alert Visualize Collector Sensor
Monitor Components
Graylog
Prometheus
Elasticsearch
Sensu
Sensu check configuration { "checks": { "sensu-website": { "command": "check-http.rb -u https://sensuapp.org", "subscribers": [ "production" ], "interval": 60, "contact": "ops" } } }
Client Client Sensu self-deploy monitor Server Clients Trigger Deploy Run Check
InfluxDB + Grafana
Application Monitor with StatsD
Demo
QA

DevOps: Coding Defines Monitoring