Upload
icinga
View
4.434
Download
2
Embed Size (px)
DESCRIPTION
Icinga presentation from the FlossUK 2014 spring event in Brighton. Introduction into Icinga and Icinga 2 and Demo of all Systems.
Citation preview
WWW.ICINGA.ORG
CURRENT STATE OF ICINGAFlossUK 2014 | Brighton20th March - TEAM ICINGA
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
• Introduction
• Tools & Platform
• Icinga project update
• New in Icinga 1.x
• Icinga 2
• Icinga Web 2
• What‘s next
• Questions & Answers
Agenda
INTRODUCTION
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Me
• Bernd Erk• Working @NETWAYS • Icinga responsibilities
– Project orga– “Reporting”– Community
• In the Icinga game since 2009
• @gethash (100% senseless)• [email protected]
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
About Icinga
• Forked from Nagios in April 2009• Different teams with independent responsibilities
– Icinga Core– Icinga Packaging– Icinga Web & Reporting– Icinga Q&A & Docs– Icinga VMs– Icinga Community
• 24 “active” members on the team – Still searching!
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Icinga Team
Core Packaging
Web & Reporting Docs & QA VMs
Community
We want you!
TOOLS & PLATFORM
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Icinga Core
C-based sourceMySQL, PostgreSQL,
Oracle
TOOLS AND PLATFORM
Icinga Quality, Testing and Community Support
Website and Open Source Ticketing System
Icinga Reports
based on Jasper Reports
Icinga Doc
based on Markdown
IDOUTILS
Icinga 2
C++-based source with multiple components
3rd Party ToolsIcinga 2 WebBased on PHP / responsive design
Icinga Webbased on PHP using ExtJS, Agavi MVC
IDO
Livestatus
Cluster
…
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Current Architecture
IDO Database
Icinga Web
Icinga Core
IDOUtils
Classic UI
REST API Mobile
Icinga Reporting
SOAP Provider
Icinga 2 Icinga Web 2
ICINGA PROJECT UPDATE
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Statistics – Solved issues last year
2009 2010 2011 2012 20130
200
400
600
800
1000
1200
1400
150
656
9961085
1225
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Quality
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Continous Integration
• Jenkins Server – build.icinga.org
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Operating System Support
• Global package repository – packages.icinga.org• Snapshot and release builds• Builds for major platforms
– RHEL– SLES– Fedora– OpenSuse– Debian
• Supplement (not replacement) for official repos like RepoForge or Debian Backports
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Documentation
• We had DocBook
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Documentation – Future
• DocBook Pros– You can generate hundreds of different formats out of
one Docbook • DocBook Cons
– We didn’t!– Updating DocBook files is time-consuming and
complicated– It sucks!
• Switch from DocBook to Markdown• Icinga 2 doc is available in Markdown from day one• We‘ll migrate the 1.x documentation to Markdown
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Documentation – Markdown
• How it will look like### Installation Paths
By default Icinga 2 uses the following files and directories:
Path | Description ------------------------|------------------------------------ /etc/icinga2 | Contains Icinga 2 configuration files. /etc/init.d/icinga2 | The Icinga 2 init script. /usr/share/doc/icinga2 | Documentation files that come with Icinga 2. /usr/share/icinga2/itl | The Icinga Template Library. /var/run/icinga2 | PID file.
...
NEW IN ICINGA 1.x
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Changes in Icinga 1.10 and 1.11
• Icinga Core– Add check source to check result / status data– Chance to add more than one IDO module to Core– Commands for freshness checks
• Classic UI– Added filter modification– New live search– Custom variables in extended info– Standalone version available
• IDO– Performance improvements using transactions and bulk
updates– Config option for custom variable dump
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Changes in Icinga Web 1.10 and 1.11
• Updated cronk list design in menu– New icon design– New categories
• Additional unhandled views in updated categories• Updated instance cronk• State type as default in all cronks• Updated time zone handling• Deletion of all comments for service or host• Various UI tweaks• ExtJS Upgrade
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Demo – Icinga 1.x
DEMO
ICINGA 2
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 - Overview
• Based on C++ and Boost– Supports all major *NIX and Windows platforms
• Different config format– there is a conversion script!
• Included cluster stack• Functions by component• icinga2-disable-feature / icinga2-enable-feature• Components can run anywhere in a cluster• MySQL, PostgreSQL and Livestatus support included• Packages and Vagrant Box available now!
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Components
• Checker• Cluster• Compat
– Command Pipe– Compat Log– Status.dat
• Livestatus• Perfdata• Notification• ido_mysql• ido_postgresql
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differences
• There is no host check -> Use the check attribute• Global macros• Contact and Contactgroup -> User and UserGroup
– no notification-specific attributes for services -> Notification Object
• Freely definable macros for commands define command { command_name ping4 command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5}
define service { use local-service host_name localhost service_description PING check_command ping4!100.0,20%!500.0,60%}
object CheckCommand "ping4" { command = "$plugindir$/check_ping -H $HOSTADDRESS$ -w $wrta$,$wpl%$ -c $crta$,$cpl%$", macros = { wrta = 100, wpl = 20, crta = 500, cpl = 60 }}
object Host ”localhost" { services[“PING“] = { check_command = “ping4”, //macros[“wrta”] = 250 }}
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differences
• New notification object– Icinga 1
– Icinga 2
• No fixed macro for IP address(es)• Escalations act as notification with defined begin and end
#FLOSSUK
service -> (contact, contactgroup) -> notification command
notification_options w,u,c,r,f,s
service -> notification -> notificationCommand -> user, userGroup
notification_state_filter = (StateFilterWarning | StateFilterUnknown | StateFilterCritical),notification_type_filter = (NotificationProblem | NotificationRecovery | NotificationFlappingStart | NotificationFlappingEnd | NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)
start = notification start + (notification_interval * first_notification)end = notification start + (notification_interval * last_notification)
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Icinga 2 – Cluster
• Cluster-based communication using SSL• Bidirectional connections supported• Domain support for logic splits in the configuration• Hash-based load distribution• “binlog” like retention for monitoring events and messages• Distributed components throughout the cluster
compat
replication
perfdatalivestatus
checker
ido
checker Icinga2
notification
Icinga2
IDO Database
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Demo – Icinga 2
DEMO
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – What’s next
• Apply– apply template Service ”flossuk-ping" to Host where host !=
"localhost”– apply template Service "flossuk-ping" to Host where "linux-
server" in hostgroups– apply template Service "flossuk-ping" to Host where "linux-
server" in hostgroups || host in [ "localhost" ] apply template Service "flossuk-ping" to Host where "linux-server" in hostgroups && host in [ "localhost2" ]
– apply template Service ”flossuk-ping" to Host where regex("e", host)
• Works with constants and variables• Match and Regex-Support
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – What’s next
• Business Process Integration– Coming later this year– Basic user story in dev-tracker– Rule based configuration– Nested business project objects– Different levels and priorities– Expression/Wildcard/RegExp
• Puppet Modules• More Documentation• See Roadmap!
#FLOSSUK
ICINGA WEB 2
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga Web 2
Different Interfaces for Icinga
#FLOSSUK
Icinga WebIcinga Classic Icinga Mobile
Thruk, …
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Why another Interface
• We want a solution for all platforms– Simple and lightweight– Responsive for desktop, tablet, phone
• Icinga-Classic doesn’t fit enterprise needs• Icinga-Web is hard to extend• CLI-Support for cronjobs, plugins and shell• Support for multiple backends
• All existing versions will be in active maintenance!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Icinga Web 2
• Lightweight like Icinga classic and flexible like Icinga Web• Easy to extend and embed into other projects• Support for multiple backends
– Status.dat– Database– Livestatus
• Supports multiple backends simultaneously, as failover backend
• Supports Icinga 1.x and Icinga 2.x• Responsive actions• FAST!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Demo – Icinga Web 2
DEMO
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Demo – Icinga Web 2
What else?
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
Demo – Icinga Web 2 - CLI
WHAT’S NEXT
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Roadmap
• Roadmap Icinga– https://dev.icinga.org/projects/icinga-development/
roadmap• Roadmap Icinga 2
– https://dev.icinga.org/projects/i2/roadmap• Roadmap Icinga Web 2
– https://dev.icinga.org/projects/icinga-2-web/roadmap• Roadmap based on
– Bugs– Sponsors– Feedback (feedback.icinga.org, Twitter, etc.)– Team members’ interests
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Releases & Events
• Releases Icinga & Web– 1.11 (Spring) – 3/13/2014– 1.12 (Fall)
• Releases Icinga Web 2– April / May 2014
• Releases Icinga 2– 0.0.9 – 3/31/2014– 2.0 – 5/5/2014– Many new releases in 2014
• Events– Oscon Portland 2014 – Portland (July)– PuppetConf 2014 – San Francisco (September)
#FLOSSUK
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
#FLOSSUK
QUESTIONS & ANSWERS
Web www.icinga.org
Development dev.icinga.org
Feedback feedback.icinga.org
Wiki wiki.icinga.org
Support support.icinga.org
Twitter twitter.com/icinga
Facebook facebook.com/icinga
……..
Everywhere!
?Questions & Answers