Monitoring Casual in Kyoto 11/30
Sensu & GraphiteModen Monitoring Tool.POJUPSJOH$BTVBM5BML*O,ZPUPJEZ@VVLJ
View Slide
id:y_uuki
2011 / 08ͯͳΠϯλʔϯ
2012 / 09ΞϧόΠτࢯ
2013 / 07
2013 / 09
2013 / 11
2013 / 12
In Kyoto
Monitoring
NFUSJDTDPMMFDUJPOTodayNFUSJDTWJTVBMJTBUJPOhealth checkalert notification
Monitoring Tool
Monitoring Tool Requirement✓ Scalable & Robust✓ Pluggable✓ Programmable✓ Friendly to immutable infrastructure✓ Simple
Case 1
? Scalable & Robust- Munin 2.0 ?✓ Pluggable- munin-node plugin✗ Programmable- API ͳ͠✗ Friendly to immutable infrastructure- ઃఆϑΝΠϧʹࢹϊʔυͷϦετ͕ඞཁ (serf ͰͳΜͱ͔ͳΔ)✗ Simple- because of RRDtool
Case 2
Collectd + Cacti + RRDtool
✗ Scalable & Robust- because of RRDtool (cannot replicate)✓ Pluggable- collectd input / output plugin (like fluentd)✗ Programmable- Cacti API ͳ͠✗ Friendly to immutable infrastructure- Must configure node list✗ Simple- because of RRDtool
Case 3
Graduate from
(SBQIJUFScalable Realtime Graphing
Graphite Data FlowGraphiteWebappCarbonWhisperCollectorTCPHTTPmetricsGraphJSONStoreGetGraphite
3&45"1*- Graph rendering- JSON!)JHI*OEFQFOEFODZ"SDIJUFDUVSF- Webapp Frontend- Storage
Replication / ShardingCarbon RelayWhispermetricsCarbonWhisperCarbonWhisperCarbon
Many Better DashboardsGraphiteWebappCarbonWhisperCollectorTCPHTTPmetricsJSONStoreGetGraphiteDashboardGraphiti, Gdash, Pencil, Graphene…
4FOTVA monitoring framework that aims!to be simple, malleable, and scalable
.POJUPSJOH3PVUFS- Checks plugin: ex. Apache is up or down- Handlers plugin: ex. sending alert e-mails!)JHI*OEFQFOEFODZ"SDIJUFDUVSF- RabbitMQ- Redis- JSON
Sensu Data Flowsensu-clientsensu-clientRabbitMQsensuserverRedissensu-clientrun checkschecksrun handlersstorenotificationcheckscheck request
More Detail• https://speakerdeck.com/joemiller/introduction-to-sensu• http://www.slideshare.net/jeremy_carroll/sensu-14485155• https://speakerdeck.com/joemiller/practical-examples-with-sensu-monitoring-framework
(SBQIJUF 4FOTV
Sensu & GraphiteData Flowsensu-clientsensu-clientsensu-clientRabbitMQsensuserverRedisGraphiteWebappCarbonWhisper
✓ Scalable & Robust- Maybe✓ Pluggable- sensu plugin & sensu handler✓ Programmable- Graphite: REST API & Carbon TCP API!- Sensu: Events API & Checks API … etc✓ Friendly to Immutable Infrastructure- ࢹϊʔυͷઃఆ͍Βͣ✓ Simple- Sensu: Ruby, Redis, RabbitMQ, JSON!- Graphite: REST API
Graphite & RabbitMQIntegration
StackVisualisationStorageCollectorCollector Agent.VOJO$BDUJ$PMMFDUE(SBQIJUF4FOTV33%UPPM
Other SolutionStorage
OpenTSDBKairosInfluxDB
Other SolutionCollector
fluentd?
Integration with other tools
log healthInfrastructure InformationmetricsDynamicStatic Host, Service, Role, Network, Location …
log healthIntegration ViewermetricsDynamicStaticIntegrationViewHost, Service, Role, Network, Location …
log healthHost, Service, Role, Network, Location …Integration with APImetricsDynamicStaticIntegrationViewJSON
ҟৗͳྗ͕ඞཁͳπʔϧʹݻࣥͤͣʹےͷྑ͍πʔϧΛબΜͰ͍͖͍ͨ
Sensu & GraphiteModen Monitoring ToolMonitoring Casual Talk In Kyotoid:y_uuki
Thanks