4. Open Source Enterprise Monitoring
Icinga is a scalable and extensible monitoring system
which checks the availability of your resources, notifies
users of outages and provides extensive BI data.
6. • originally forked from Nagios in 2009
• focus on improvements and scalability
• independent version Icinga 2 since 2014
• web interfaces and addons
7. Icinga Core
Nagios based C-source
MySQL, PostgreSQL, Oracle
Icinga Core
Nagios based C-source
MySQL, PostgreSQL, Oracle
Icinga Quality, Testing and Community Support
Website and Open Source Ticketing System
Icinga Quality, Testing and Community Support
Website and Open Source Ticketing System
3rd
Party Tools3rd
Party Tools
Icinga Web
based on PHP using ExtJS, Agavi MVC
Icinga Web
based on PHP using ExtJS, Agavi MVC
IDOUTILSIDOUTILS
Icinga Web 2
Based on PHP / responsive design
Icinga Web 2
Based on PHP / responsive design
Icinga 2
C++-based source
with multiple components
Icinga 2
C++-based source
with multiple components
IDOIDO LivestatusLivestatus ClusterCluster APIAPI ……
9. • monitors everything
• in a regular interval
• preferring active checks
• gathering status
• collect performance data / metrics
10. • notifies using any channel
• detects dependencies
• handles events in configured way
11. • forwards logs to Logstash and Graylog
• passes performance data to Graphite,
OpenTSDB or InfluxDB
• integrate with other tools?
12. Icinga 2
• release 2.3.8 (2015-07-20)
• new code base on C++ and Boost
• similar ideas to Nagios
• Puppet, Chef and Ansible integration
• Packages and Vagrant Box available
17. Nagios™ does not scale
✗ it's just a single loop
✗ limitations using external interfaces
✗ large installations are difficult
18. Icinga 2 on the other hand
✔ provides a multithreaded engine
✔ distributes load in cluster automatically
✔ is able to monitor thousands of devices
every few seconds
25. How about high available Nagios™?
✗ there is no integrated failover mechanism
✗ configuration is not distributed
✗ no shared monitoring information
26. What Icinga 2 provides you
✔ zones for multitenancy environments
✔ support for logic splits in the config
✔ availability and scaling zones
✔ automatic redistribution of checks
✔ master / satellite / agent
42. Easy to use
apply Service "fancy-vendor test" {
import "generic-service"
check_command = "fancy-vendor-check"
vars.snmp_community = "isthissecure"
vars.vendor_mode = "proprietary-magic"
vars.vendor_warning = "80"
vars.vendor_warning = "90"
assign where host.type = "fancy-vendor-node"
}
43. Using commands
●
safe against shell injections
●
clean interface, easy to write
●
just set a var in service or host
●
check our ITL template library
50. ✗ limitations in current Icinga interfaces
✗ parsing the status.dat is not fast
✗ executing commands is tedious
✗ really hard to extend and integrate
✗ no unified interface so far
51. Icingaweb 2
• easy to extend and embed
• multiple authentication providers
• reads from IDO database
• responsive
release soon
TM
57. Where to start?
• Go to docs.icinga.org
• Try our Vagrant VMs
• Use Icinga 2 packages
• Rethink you configuration
• Install Icinga Web 2 and play with it
• Give us feedback
#icinga