11th May 2017
State of the Open Source
Monitoring landscape
Introduction
• Open Source since “2007”
• CEO NETWAYS and Icinga
• Core-Organizer DevOpsDays
• Contact me via @gethash
Introduction Bernd Erk
• Founded 1995
• German based service company
• Open Source since 1997
• Open Source Datacenter Solutions
Introduction NETWAYS
13th of May – Icinga Camp Bangalore
www.icinga.com
Monitoring
Availability | Function
Availability | Function
Metrics &
Time Series
Availability | Function
Metrics &
Time Series
Logs & Events
User experience
Availability | Function
Metrics &
Time Series
Logs & Events
What to monitor?
Focus on your business
Top down approach
Business logic
Business logic
Applications
Business logic
Applications
Services
Business logic
Applications
Services
Infrastructure
How to monitor?
Push and Pull
No Auto-Discovery
Infrastructure as Code
Provide monitoring as a service
Let‘s talk about
the tools
Availability and
Functional Monitoring
kartar.net/2015/08/monitoring-survey-2015---tools/
0
50
100
150
200
250
300
350
400
450
Monitoring Survey - James Turnbull
• Nagios
• Icinga
• Sensu
• Zabbix
• Riemann
• OpenNMS
Availability and functional monitoring tools
nagios.org
• Rewritten from scratch
• Built in integrations
• Command-line interface
• Application based cluster stack
• Setup could be complex
• REST API
Icinga 2
icinga.com
• Similar scope to Nagios and Icinga
• Standalone and Subscription Checks
• Several external dependencies
• Lack of historical data
• Cool stuff is enterprise only
Sensu
sensuapp.org
• Full featured open source solution
• Agend based approach
• Integrated Logging and Graphing
• Hard to orchestrate and automate
• Scale out limitations
Zabbix
zabbix.com
• Streaming processor
• Real time monitoring
• Based on Clojure
• Riemann tools provide the data
• Stateless
• There is not so much going on
Riemann
riemann.io
• Full featured open source solution
• Based on Java
• Great of homogenous environments
• Native SNMP support
• Built in Auto-Discovery
OpenNMS
opennms.org
Metrics & Time Series
• Storage engine similar to RRDtool
• Started the metrics revolution
• Advantage
• Flexible architecture
• Disadvantage
• Flexible architecture
Graphite
graphiteapp.org
• Based on Hadoop and Hbase
• Overall complexity is huge
• You can keep the raw data forever
• Easy to scale (if you can make it)
OpenTSDB
opentsdb.org
• Highly dimensional data model
• Powerful query language
• Designed for web services
• OS Metrics require node exporter
• Rule based alerting
Prometheus
prometheus.io
• Similar scope to Graphite
• Easier to install
• SQL-like query language
• Scale out requires enterprise
• Full featured solution – TICK Stack
InfluxDB (InfluxData)
influxdata.com
• Very powerful analytics
• Timelion as Kibana extension
• Beats provide metrics
• Statsd could be used
• Different model approach
Elastic (Stack)
elastic.co
Visualization
Grafana
grafana.com
Grafana - Annotations
Logs & Events
Flow of unstructured data with timestamp and message
May 4 16:57:24 web sshd[25828]: Received disconnect from 10.10.0.31: 11: disconnected by user
Logs
Flow of structured data with identifiable attributes
Event {
Time: May 4 16:57:24
Process: sshd
State: Received disconnect from 10.10.0.31
Client: 10.10.0.31
}
Events
Log > Event > Analyze > Action
• Kind of the standard in logging
• Powered by Apache Lucene
• Highly integrated solution
• Extensible using X-Pack
• Logstash API is very powerful
• By far the largest community
Elastic Stack
elastic.co
Graylog
• Based on Elasticsearch
• Powerful graphical configuration
• Additional MongoDB to maintain
• Build in authentication an
authorization
• Could be used with Logstash
graylog.org
• Unified log layer
• Based on other storage engines
• An alternative to Logstash
• Built-in Reliability
• Alternative for custom architecture
Fluentd
fluentd.org
User experience
• Both standards in their field
…. a long time ago
Webinject and AutoIT
webinject.org and autoitscript.com
• Combination of Sahi und Sikulix
• Mainly for Nagios compatible systems
• Prebuild Docker containers available
• Cool features in Shahi are enterprise
only
Sakuli
github.com/ConSol/sakuli
• End-to End Monitoring
• Based on a Python module
• Text and object recognition
• IDE to create test cases
• Audit trail and notification system
Alyvix
alyvix.com
Conclusion
I am sorry, but there is no best
tool for everyone 
• Monolithic
• If all-in-one gets the job
done, then perfect
• Good for smaller scale and
non-tech-focused companies
• Modular
• Agile and DevOps requires
flexibility and innovation
• Good for tech driven and
ops-focused companies
Monolithic vs. Modular
Michael Merideth - @victorops
I prefer the modular approach
based on a tool chain
Setup a real life use case
Play (with integrations)
Choose your favorite
Flip a coin
netways
netways
netways
www.netways.de
blog.netways.de
git.netways.de
Thank You

Rootconf 2017 - State of the Open Source monitoring landscape

Editor's Notes

  • #35 Dependancy – Filter is enterprise only Authentification is enterprise only
  • #41 Whisper Carbon – Relay Graphite Web carbonzipper - proxy to transparently merge graphite carbon backends.
  • #43 Member of the Cloud Native Computing Foundation
  • #44 Telegraf InfluxDB Chronograf Kapacitor
  • #48 Member of the Cloud Native Computing Foundation
  • #49 Member of the Cloud Native Computing Foundation
  • #56 File and in memory based buffering Member of the Cloud Native Computing Foundation
  • #59 Autoit 18 September, 2015 - Autoit Jan 4, 2006 - Webinject
  • #61 Web applications Applications via terminal server Citrix VDI VNC Native Windows Applications Mainframe Terminal Emulator Java Applets