41
WWW.ICINGA.ORG CURRENT STATE OF ICINGA FlossUK 2014 | Brighton 20th March - TEAM ICINGA

Current State of Icinga - FlossUK 2014

  • 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

Page 1: Current State of Icinga - FlossUK 2014

WWW.ICINGA.ORG

CURRENT STATE OF ICINGAFlossUK 2014 | Brighton20th March - TEAM ICINGA

Page 2: Current State of Icinga - FlossUK 2014

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

Page 3: Current State of Icinga - FlossUK 2014

INTRODUCTION

Page 4: Current State of Icinga - FlossUK 2014

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

Page 5: Current State of Icinga - FlossUK 2014

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

Page 6: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Icinga Team

Core Packaging

Web & Reporting Docs & QA VMs

Community

We want you!

Page 7: Current State of Icinga - FlossUK 2014

TOOLS & PLATFORM

Page 8: Current State of Icinga - FlossUK 2014

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

Page 9: Current State of Icinga - FlossUK 2014

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

Page 10: Current State of Icinga - FlossUK 2014

ICINGA PROJECT UPDATE

Page 11: Current State of Icinga - FlossUK 2014

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

Page 12: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Quality

Page 13: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Continous Integration

• Jenkins Server – build.icinga.org

Page 14: Current State of Icinga - FlossUK 2014

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

Page 15: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Documentation

• We had DocBook

Page 16: Current State of Icinga - FlossUK 2014

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

Page 17: Current State of Icinga - FlossUK 2014

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.

...

Page 18: Current State of Icinga - FlossUK 2014

NEW IN ICINGA 1.x

Page 19: Current State of Icinga - FlossUK 2014

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

Page 20: Current State of Icinga - FlossUK 2014

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

Page 21: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Demo – Icinga 1.x

DEMO

Page 22: Current State of Icinga - FlossUK 2014

ICINGA 2

Page 23: Current State of Icinga - FlossUK 2014

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

Page 24: Current State of Icinga - FlossUK 2014

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

Page 25: Current State of Icinga - FlossUK 2014

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

Page 26: Current State of Icinga - FlossUK 2014

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)

Page 27: Current State of Icinga - FlossUK 2014

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

Page 28: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Demo – Icinga 2

DEMO

Page 29: Current State of Icinga - FlossUK 2014

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

Page 30: Current State of Icinga - FlossUK 2014

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

Page 31: Current State of Icinga - FlossUK 2014

ICINGA WEB 2

Page 32: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

Icinga Web 2

Different Interfaces for Icinga

#FLOSSUK

Icinga WebIcinga Classic Icinga Mobile

Thruk, …

Page 33: Current State of Icinga - FlossUK 2014

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!

Page 34: Current State of Icinga - FlossUK 2014

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!

Page 35: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Demo – Icinga Web 2

DEMO

Page 36: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Demo – Icinga Web 2

What else?

Page 37: Current State of Icinga - FlossUK 2014

DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG

#FLOSSUK

Demo – Icinga Web 2 - CLI

Page 38: Current State of Icinga - FlossUK 2014

WHAT’S NEXT

Page 39: Current State of Icinga - FlossUK 2014

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

Page 40: Current State of Icinga - FlossUK 2014

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

Page 41: Current State of Icinga - FlossUK 2014

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