Professional Documents
Culture Documents
WWW.ICINGA.ORG
Me
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Michael Friedrich
• @dnsmichi, 31, Austrian
• Application Developer @NETWAYS
• Icinga responsibilities
• Core 1.x & 2.x Developer
• Release Manager
• On the team since 2009
#icinga
Agenda
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Icinga Project
• Icinga 1.x
• Icinga 2
• Icinga Web 2
• Demo
• Conclusion & Vision
#icinga
THE ICINGA PROJECT
The Icinga Project – Introduction
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
The Icinga Project – About us
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
The Icinga Project - Icinga Exchange
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
The Icinga Project - Icinga Exchange - GitHub
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
The Icinga Project – Tools & Platform
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga Web 2
Based on PHP / responsive design
3rd Party Tools
Icinga Web 1.x
based on PHP using ExtJS, Agavi MVC
#icinga
ICINGA 1
Icinga 1 - Overview
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 1 – Changes 2014/2015
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Core
– Usability, security & performance fixes
– Recurring downtimes script
• Classic UI
– Enhanced filters for modified by attributes
– Support for compressed logfiles
• Icinga Web 1
– Rewritten session handling
– Custom variables in grids
#icinga
ICINGA 2 - INTRODUCTION
Icinga 2 – Use cases
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Monitors
OS Storage
Host Hardware
#icinga
Icinga 2 – Use cases
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Alerts
Mail
SMS
Voice
Ticket
#icinga
Icinga 2 – Use cases
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Reports
#icinga
Icinga 2 - Overview
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
https://dev.icinga.org/projects/i2/roadmap
#icinga
Icinga 2 - Overview
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Powerful CLI
• MySQL & PostgreSQL support
• New configuration format
• Includes a extensive template library
• Compatible with plugins, addons, UIs
#icinga
Icinga 2 – Vagrant
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 - Architecture
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Notify Compat
#icinga
Icinga 2 - Enable Livestatus
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Livestatus
#icinga
ICINGA 2 - CLUSTER
Icinga 2 - Cluster Overview
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Cluster
CA Zones API
#icinga
Icinga 2 - Cluster Architecture
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#osmc
Icinga 2 - Cluster Distribution
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
IDO Graphite
Perfdata GELF
Open
TSDB
Checker
Statusdat
Livestatus Checker
#icinga
Icinga 2 - Cluster Zones
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
IDO Graphite
Perfdata IDO
Checker
Checker
Host
Statusdat
Host Host
Livestatus Checker
#icinga
Icinga 2 – Resource optimization
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
30.000 Services
3000 800
700
Cycles in millions
2500
600
Megabyte
2000
500
1500 400
300
1000
200
500
100
0 0
CPU-Cycles Memory
#icinga
ICINGA 2 - CONFIGURATION
Icinga 2 - Configuration
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Syntax Highlighting
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
# PREFIX=~/.vim
# mkdir –p $PREFIX/{syntax,ftdetect}
# cp vim/syntax/icinga2.vim $PREFIX/syntax/
# cp vim ftdetect/icinga2.vim $PREFIX/ftdetect/
# vim /etc/icinga2/icinga2.conf
#icinga
Icinga 2 – Configuration: Console
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Value Types
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Constants
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Templates
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Custom Attributes
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Commands
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Hosts and Services
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Apply Services
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Apply For
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Notifications
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Dependencies
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
HOST
router
Reachable?
SERVICE
router-uplink
HOST
website-server
#icinga
Icinga 2 – Configuration: Conditionals
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• If-then-else
#icinga
Icinga 2 – Configuration: Loops
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration: Type methods & Object Accessors
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Object accessors
– get_host(), get_service(), etc
– Access config and runtime attributes
– e.g. get_host(NodeName).state
#icinga
Icinga 2 – Configuration: Functions
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration – Another cool thing
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Configuration – Time dependent thresholds
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
ICINGA 2 - MIGRATION
Icinga 2 - Migration
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/migration#migration
#icinga
Icinga 2 – Migration: Assign service to hosts in Icinga 1.x
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
define service{
host_name linux1,linux2,linux3,...,linux9
service_description ssh-check
other service directives ...
}
#icinga
Icinga 2 – Migration: Apply service to hosts in Icinga 2
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 – Migration – Assign members to Hostgroup in Icinga 1.x
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members linux1,linux2,linux3
}
#osmc
Icinga 2 – Migration – Assign members to Hostgroup in Icinga 1.x
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#osmc
ICINGA WEB 2
Icinga Web 2 - Motivation: Classic UI
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Not extendable
• Lacks real user management
– Authorization based on contacts - not enough for enterprise
needs
• Not usable on mobile devices
• Same machine as core
• Heavy I/O
#icinga
Icinga Web 2 – Motivation: Icinga Web 1.x
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2: Key features
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 - Overview
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
https://dev.icinga.org/projects/icingaweb2/roadmap
#icinga
Icinga Web 2 - Foundation
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 - Modules
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Business
Graphite PNP
Process
Monitoring Docs
Web 2
#icinga
Icinga Web 2 - Dashboard
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Detail View
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Event Grid
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Service Grid
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2: CLI
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2: Responsiveness
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Your dashboard
• Workstation
• Tablet
• Mobile
• …
#icinga
Icinga Web 2 – Modules: PNP
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Modules: Business Processes
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Modules: Ticketsystems
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga Web 2 – Modules: More, more, more
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Currently in development
– PNP (Graphing)
– Business Process
– Generic TTS (Ticket System Intergration)
• Coming
– Graphite (Graphing)
– Logstash as History Detail
– …
#icinga
Icinga Web 2 – Modules: Prototypes
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#icinga
Icinga 2 - Demo
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
DEMO
#icinga
Icinga 2 – Demo
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
$ cd icinga-vagrant
$ cd icinga2x-cluster
$ vagrant up
$> sudo –i
#icinga
THE COMMUNITY
The Community - Users
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
You?
#icinga
The Community - Icinga Camps 2015
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Kuala
Antwerp
Lumpur
2015
2015
April
June13th
9th
Portland 2015
October 10th
#icinga
CONCLUSION
Conclusion
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Download Icinga 2
– Use packages
– Play with Vagrant and VirtualBox
• Rethink you configuration strategy
– Follow extensive migration docs, it is time for a change!
• Install Icinga Web 2 and play with it
• Give us feedback
– dev.icinga.org
– IRC
– Twitter
#icinga
VISION
Vision
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• No enterprise edition
• Enterprise integration
#icinga
Questions & Answers
EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Web www.icinga.org
Git git.icinga.org
Development dev.icinga.org