Top Banner
www.icinga.org Why favour Icinga over Nagios OSDC Berlin - 23th April 2015
62

Why favour Icinga over Nagios @ OSDC 2015

Jul 18, 2015

Download

Technology

Icinga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Why favour Icinga over Nagios @ OSDC 2015

www.icinga.org

Why favour Icinga over Nagios

OSDC Berlin - 23th April 2015

Page 2: Why favour Icinga over Nagios @ OSDC 2015

•  Bernd Erk

•  Working @NETWAYS

•  Icinga Co-Founder

•  @gethash

Page 3: Why favour Icinga over Nagios @ OSDC 2015

THE ICINGA PROJECT

Page 4: Why favour Icinga over Nagios @ OSDC 2015

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.

Page 5: Why favour Icinga over Nagios @ OSDC 2015

•  Originally forked from Nagios in 2009

•  Independent version Icinga 2 since 2014

Page 6: Why favour Icinga over Nagios @ OSDC 2015

You?

Page 7: Why favour Icinga over Nagios @ OSDC 2015
Page 8: Why favour Icinga over Nagios @ OSDC 2015
Page 9: Why favour Icinga over Nagios @ OSDC 2015

Icinga Core

C-based source MySQL, PostgreSQL, Oracle

Icinga Quality, Testing and Community Support

Website and Open Source Ticketing System

Icinga Reports

based on Jasper Reports

Icinga Doc

based on Markdown

3rd Party Tools Icinga Web based on PHP using ExtJS, Agavi MVC

IDOUTILS

Icinga Web 2 Based on PHP / responsive design

Icinga 2

C++-based source with multiple components

IDO Livestatus Cluster …

Page 10: Why favour Icinga over Nagios @ OSDC 2015

ICINGA 2 - INTRODUCTION

Page 11: Why favour Icinga over Nagios @ OSDC 2015

•  Monitors everything

•  In a regular interval

•  Gathering status

•  Collect performance data

Page 12: Why favour Icinga over Nagios @ OSDC 2015

•  Notifies using any channel

•  Detects dependencies

•  Handles events in configured way

Page 13: Why favour Icinga over Nagios @ OSDC 2015

•  Forwards logs to Logstash and Graylog

•  Passes performance data to Graphite, OpenTSDB or InfluxDB

Page 14: Why favour Icinga over Nagios @ OSDC 2015

•  Based on C++ and Boost

•  Supports MySQL and PostgreSQL •  Includes a extensive template library

Page 15: Why favour Icinga over Nagios @ OSDC 2015

•  Version 2.3.4 is out since a couple of days

•  Puppet, Chef and Ansible support •  Packages and Vagrant Box available

Page 16: Why favour Icinga over Nagios @ OSDC 2015

WHY NAGIOS™ IS GOOD?

Page 17: Why favour Icinga over Nagios @ OSDC 2015

•  Monitoring things is very easy

•  Very simple software stack

•  No complex external dependencies

Page 18: Why favour Icinga over Nagios @ OSDC 2015

•  Active checks are powerful

•  Gathering performance data

•  Huge community

•  Thousands of Plugins

Page 19: Why favour Icinga over Nagios @ OSDC 2015

OK, BUT WHY ICINGA THEN?

Page 20: Why favour Icinga over Nagios @ OSDC 2015

NAGIOS DOES NOT SCALE

Page 21: Why favour Icinga over Nagios @ OSDC 2015

•  It is just a single loop

•  Limitations using external interfaces

Page 22: Why favour Icinga over Nagios @ OSDC 2015

•  Icinga 2 is a multithreaded C++ Core

•  Load is distributed automatically

•  Ability to monitor thousands of devices in second interval

Page 23: Why favour Icinga over Nagios @ OSDC 2015
Page 24: Why favour Icinga over Nagios @ OSDC 2015

ADDING MODULES IS HARD

Page 25: Why favour Icinga over Nagios @ OSDC 2015

#  tar  xzvf  mk-­‐livestatus-­‐1.2.4.tar.gz  

#  cd  mk-­‐livestatus-­‐1.2.4    

#  ./configure  -­‐-­‐prefix=/usr/local/icinga    

 -­‐-­‐exec-­‐prefix=/usr/local/icinga  

#  make  

#  cp  src/livestatus.o  /usr/local/icinga/bin  

Page 26: Why favour Icinga over Nagios @ OSDC 2015

 

 define  module  {  

               module_name          mklivestatus  

               path                        /usr/local/icinga/bin/livestatus.o  

               module_type          neb  

               args                        /usr/local/icinga/var/rw/live  

               }  

 

Page 27: Why favour Icinga over Nagios @ OSDC 2015

Checker

Notify

Gelf

Perfdata Graphite

IDO

Compat

Livestatus

Page 28: Why favour Icinga over Nagios @ OSDC 2015

•  We have a powerful CLI

•  Adding new features is easy

•  You can really really do sophisticated setups … but you don’t have too

Page 29: Why favour Icinga over Nagios @ OSDC 2015

# icinga2 feature enable livestatus

# icinga2 feature enable ido-mysql

Page 30: Why favour Icinga over Nagios @ OSDC 2015

DEMO

Page 31: Why favour Icinga over Nagios @ OSDC 2015

NO CLUSTERING AND DISTRIBUTION

Page 32: Why favour Icinga over Nagios @ OSDC 2015

•  There is no integrated failover mechanism

•  Configuration is not distributed

•  No shared monitoring information

Page 33: Why favour Icinga over Nagios @ OSDC 2015

•  Zones for multitenancy environments

•  Support for logic splits in the config

•  Availability and scaling zones

•  Automatic redistribution of checks

Page 34: Why favour Icinga over Nagios @ OSDC 2015

IDO

Config

Checker

Livestatus Checker

IDO

Checker

Perfdata GELF

Page 35: Why favour Icinga over Nagios @ OSDC 2015

SECURITY IS A MESS

Page 36: Why favour Icinga over Nagios @ OSDC 2015

•  NSCA works, but not in a good way

•  NRPE has a couple of security issues

•  You can make it secure … by hand

Page 37: Why favour Icinga over Nagios @ OSDC 2015

•  Bidirectional communication using SSL

•  “binlog” like retention for events

•  Distributed features throughout the cluster

Page 38: Why favour Icinga over Nagios @ OSDC 2015

CONFIGURATION LIMITS

Page 39: Why favour Icinga over Nagios @ OSDC 2015

define  service{  

 host_name        linux1,linux2,linux3,...,linux9  

 service_description    ssh-­‐check  

 other  service  directives  ...  

 }  

Page 40: Why favour Icinga over Nagios @ OSDC 2015

apply  Service  "ssh"  {  

 import  "generic-­‐service”  

check_command  =  "ssh”  

assign  where  host.address  &&  host.vars.os  ==  "Linux”  

}  

Page 41: Why favour Icinga over Nagios @ OSDC 2015

apply  Service  "ssh"  {  

 import  "generic-­‐service”  

check_command  =  "ssh”  

assign  where  host.address  &&  host.vars.os  ==  "Linux”  

ignore  where  host.vars.test  ==  true  

}  

Page 42: Why favour Icinga over Nagios @ OSDC 2015

define  hostgroup{  

 hostgroup_name                    linux-­‐servers  

 alias                                      Linux  Servers  

 members                                  linux1,linux2,linux3  

 }  

Page 43: Why favour Icinga over Nagios @ OSDC 2015

object  Host  “mysql-­‐server1"  {  

 address  =  "10.0.0.1“  

 check_command  =  "hostalive“  

}  

 

object  HostGroup  "mysql-­‐server"  {  

 display_name  =  "MySQL  Server“  

 assign  where  match("*mysql*",  host.name)  

}  

Page 44: Why favour Icinga over Nagios @ OSDC 2015

ONE MORE THING …

Page 45: Why favour Icinga over Nagios @ OSDC 2015

object  Service  ”webservice"  {  

   import  "generic-­‐service”  

   check_command  =  ”load”  

   host_name  =  “a  really  great  server”  

   vars.load_wload1  =  {{  

       if  (get_time_period(“9to5”).is_inside)  {  

           return  40  

       }  else  {  

           return  60  

       }  

   }}  

 }  

Page 46: Why favour Icinga over Nagios @ OSDC 2015

•  Different config format

•  Won’t miss the old config!

•  It is really time for change

•  You will love it!

Page 47: Why favour Icinga over Nagios @ OSDC 2015

WHAT YOU SEE IS WHAT YOU GET

Page 48: Why favour Icinga over Nagios @ OSDC 2015

HOPEFULLY NOT!

Page 49: Why favour Icinga over Nagios @ OSDC 2015
Page 50: Why favour Icinga over Nagios @ OSDC 2015
Page 51: Why favour Icinga over Nagios @ OSDC 2015

•  Parsing status.dat is not really cool

•  Executing commands is hard

•  Very inflexible architecture

Page 52: Why favour Icinga over Nagios @ OSDC 2015

•  Limitations in current Icinga interfaces

•  Really hard to extend and integrate

•  No unified interface so far

Page 53: Why favour Icinga over Nagios @ OSDC 2015

•  Easy to extend and embed

•  Multiple authentication providers

•  Support for db and livestatus

•  Responsive

Page 54: Why favour Icinga over Nagios @ OSDC 2015

Web 2

Monitoring Docs

BP Graphite PNP

Page 55: Why favour Icinga over Nagios @ OSDC 2015

Demo

Page 56: Why favour Icinga over Nagios @ OSDC 2015

THE COMMUNITY

Page 57: Why favour Icinga over Nagios @ OSDC 2015

You?

Page 58: Why favour Icinga over Nagios @ OSDC 2015

Portland 2015

October 10th

Kuala Lumpur 2015

June 9th

Page 59: Why favour Icinga over Nagios @ OSDC 2015

CONCLUSION

Page 60: Why favour Icinga over Nagios @ OSDC 2015
Page 61: Why favour Icinga over Nagios @ OSDC 2015

•  Download Icinga 2

•  Rethink you configuration

•  Install Icinga Web 2 and play with it

•  Give us feedback

#icinga  

Page 62: Why favour Icinga over Nagios @ OSDC 2015

THANK YOU! www.icinga.org

dev.icinga.org

git.icinga.org

@icinga

/icinga

+icinga