33
WWW.ICINGA.ORG WWW.ICINGA.ORG Icinga 1, Icinga 2 News about the Icinga Project Icinga 1, Icinga 2 News about the Icinga Project FroSCon 2014 24 th August – Team Icinga FroSCon 2014 24 th August – Team Icinga

Icinga 1, Icinga 2 @ FrOSCon 2014

  • Upload
    icinga

  • View
    10.522

  • Download
    1

Embed Size (px)

DESCRIPTION

News about the Icinga project, Icinga 2 and Icinga Web2. Held on FrOSCon 2014 (www.froscon.de)

Citation preview

Page 1: Icinga 1, Icinga 2 @ FrOSCon 2014

WWW.ICINGA.ORGWWW.ICINGA.ORG

Icinga 1, Icinga 2News about the Icinga ProjectIcinga 1, Icinga 2News about the Icinga Project

FroSCon 201424th August – Team Icinga

FroSCon 201424th August – Team Icinga

Page 2: Icinga 1, Icinga 2 @ FrOSCon 2014

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

• Introduction

• Tools & Platform

• Icinga project update

• Icinga 2

• Icinga Web 2

• What‘s next

• Questions & Answers

AgendaAgenda

FroSCon 2014

Page 3: Icinga 1, Icinga 2 @ FrOSCon 2014

INTRODUCTIONINTRODUCTION

Page 4: Icinga 1, Icinga 2 @ FrOSCon 2014

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

MeMe

• Markus Frosch @lazyfrosch• Forked 1984• Working @NETWAYS • Icinga responsibilities

– Web Q&A

– Packaging

• Debian Member• In the Icinga Team since 2012

FroSCon 2014

Page 5: Icinga 1, Icinga 2 @ FrOSCon 2014

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

About IcingaAbout Icinga

• Icinga 1.x core forked from Nagios in April 2009• Icinga 2.x started from scratch

• 100 % Free Software - GPL

• Different teams with independent responsibilities – Icinga Core– Icinga Packaging– Icinga Web & Reporting– Icinga Q&A & Docs

• 26 “active” members on the team – Still searching!

FroSCon 2014

Page 6: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Icinga TeamIcinga Team

Core Packaging

Web & Reporting Docs & QACommunity

We want you!

Page 7: Icinga 1, Icinga 2 @ FrOSCon 2014

Tools & PlatformTools & Platform

Page 8: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga Core

C-based sourceMySQL, PostgreSQL, Oracle

Icinga Core

C-based sourceMySQL, PostgreSQL, Oracle

FroSCon 2014

TOOLS AND PLATFORMTOOLS AND PLATFORM

Icinga Quality, Testing and Community Support

Website and Open Source Ticketing System

Icinga Quality, Testing and Community Support

Website and Open Source Ticketing System

Icinga Reports

based on Jasper Reports

and the IDOdatabase

Icinga Reports

based on Jasper Reports

and the IDOdatabase

Icinga Doc

based on Markdown

Icinga Doc

based on Markdown

IDOUTILSIDOUTILS

Icinga 2

C++-based source with multiple components

Icinga 2

C++-based source with multiple components

3rd Party Tools3rd Party ToolsIcinga 2 WebBased on PHP / responsive designIcinga 2 WebBased on PHP / responsive design

Icinga Webbased on PHP using ExtJS, Agavi MVCIcinga Webbased on PHP using ExtJS, Agavi MVC

IDOIDO LivestatusLivestatus ClusterCluster ……

Page 9: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Current ArchitectureCurrent Architecture

IDO DatabaseIDO Database

Icinga WebIcinga Web

Icinga CoreIcinga Core

IDOUtilsIDOUtils

Classic UIClassic UI

REST APIREST API MobileMobile

Icinga Reportingwith JasperServerIcinga Reportingwith JasperServer

SOAP Provider

SOAP Provider

Icinga 2Icinga 2 Icinga Web 2Icinga Web 2

heavy development

Page 10: Icinga 1, Icinga 2 @ FrOSCon 2014

Icinga Project UpdateIcinga Project Update

Page 11: Icinga 1, Icinga 2 @ FrOSCon 2014

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

5 years Icinga5 years Icinga

FroSCon 2014

Page 12: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Latest releasesLatest releases

• Icinga 1.11.5 (2014-06-20)• Icinga 1.11.6 (2014-08-06)• Icinga Web 1.11.2 (2014-08-13)

• Icinga 2• First stable release 2.0.0 on 16th June 2014

• 2.0.1 minor release on 10th July

• 2.0.2 minor release on 7th August

• In other news: Monitoring Plugins 2.0 is out http://monitoring-plugins.org

Page 13: Icinga 1, Icinga 2 @ FrOSCon 2014

Icinga 2Icinga 2

Page 14: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 - OverviewIcinga 2 - Overview

• Based on C++ and Boost– Supports all major *NIX and Windows platforms

• Different config format– There is a convertion tool, but...

• Included cluster stack• Modular components / features• icinga2-disable-feature / icinga2-enable-feature• Components can run anywhere in a cluster• MySQL, PostgreSQL and Livestatus support included

FroSCon 2014

Page 15: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – ComponentsIcinga 2 – Components

• Checker• Cluster / API• Compat

– Command Pipe– Compat Log– Status.dat

• Livestatus• Perfdata• Graphite• Notification• ido_mysql• ido_postgresql

FroSCon 2014

Page 16: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – Major config differencesIcinga 2 – Major config differences

• Completely new code style syntax• based on the old ideas

• Global macros• Contact and Contactgroup -> User and UserGroup

– no notification-specific attributes for services -> Notification Object

• Freely definable macros for commands • Intelligent variables• Assign rules for services

FroSCon 2014

Page 17: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – Major config differencesIcinga 2 – Major config differences

• Macros and variables for checksdefine 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%}

template CheckCommand "ping-common" { import "plugin-check-command" command = [ PluginDir + "/check_ping" ] arguments = { "-H" = "$ping_address$" "-w" = "$ping_wrta$,$ping_wpl$%" "-c" = "$ping_crta$,$ping_cpl$%" "-p" = "$ping_packets$" "-t" = "$ping_timeout$" } vars.ping_wrta = 100 vars.ping_wpl = 5 vars.ping_crta = 200 vars.ping_cpl = 15}

object CheckCommand "ping4" { import "ping-common" command += [ "-4" ] vars.ping_address = "$address$"}

FroSCon 2014

Page 18: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – Major config differencesIcinga 2 – Major config differences

• Assign rules for servicesobject Host "web01.company.com" {

import "generic-host"

address = "192.168.10.101"address6 = "2001:db8::101”

vars.os = "Linux"}object Host "calamity.company.com" {

import "generic-host"

groups = [ "webserver" ]

address = "192.168.10.66"address6 = "2001:db8::666”

vars.os = "Linux"}

apply Service "http" {import "generic-service"

check_command = "check_http"

assign where match("web*", host.name) }

FroSCon 2014

apply Service "ping4" { import "generic-service" check_command = "ping4" assign where "generic-host" in host.templates ignore where !host.address}

object HostGroup "webserver" {display_name = "Web Servers"assign where match("web*", host.name)

}

apply Service "https-cert" {import "generic-service"

check_command = "check_https_cert"

assign where "webserver" in host.groups }

object Service "tomcat" {import "generic-service"

check_command = "tomcat"

host_name = "calamity.company.com" }

Page 19: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – Major config differencesIcinga 2 – Major config differences

• New notification object– Icinga 1–

– Icinga 2–

• Escalations act as notification with defined begin and end

FroSCon 2014

service -> (contact, contactgroup) -> notification command

notification_options w,u,c,r,f,s

service -> notification -> notificationCommand -> user, userGroup

apply Notification "linux-admins" { interval = 15m command = "mail-service-notification" users = [ "icingaadmin" ]

states = [ Warning, Critical, Unknown ] types = [ Problem, Acknowledgement, Recovery, Custom, FlappingStart, FlappingEnd, DowntimeStart,DowntimeEnd, DowntimeRemoved ] period = "24x7"}

times = { begin = 1h end = 2h }

Page 20: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Icinga 2 – ClusterIcinga 2 – Cluster

• Cluster-based communication using TLS• Bidirectional connections supported• Zone / 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

IDO Database

Page 21: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Demo – Icinga 2Demo – Icinga 2

DEMO

Page 22: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Get Icinga 2Get Icinga 2

• Getting started http://docs.icinga.org/icinga2

• Snapshots and release builds http://packages.icinga.org Builds for: Debian, Ubuntu, SuSE, Fedora, EL based systems

• Natively available on– Debian testing (Jessie) and Wheezy (via backports)– Ubuntu (use PPA by formorer)– OpenSuSE (see buildserver)– Fedora (soon)

Page 23: Icinga 1, Icinga 2 @ FrOSCon 2014

Icinga Web 2Icinga Web 2

Page 24: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga Web 2

Different Interfaces for IcingaDifferent Interfaces for Icinga

FroSCon 2014

Icinga WebIcinga Classic Icinga Mobile

Thruk, …

Page 25: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Why another InterfaceWhy another Interface

• We want a solution for all platforms– Simple and lightweight– Responsive for desktop, tablet, phone

• Icinga-Classic doesn’t fit large environments• 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 26: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Icinga Web 2Icinga 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 27: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Demo – Icinga Web 2Demo – Icinga Web 2

DEMO

Page 28: Icinga 1, Icinga 2 @ FrOSCon 2014

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

FroSCon 2014

Demo – Icinga Web 2Demo – Icinga Web 2

What else?

Page 29: Icinga 1, Icinga 2 @ FrOSCon 2014

What’s nextWhat’s next

Page 30: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Future of Icinga 1.xFuture of Icinga 1.x

• Bugfixes• Smaller features• Compatibility to Icinga 2

• No fixed release schedule

• Keep quality and allow users to migrate!

FroSCon 2014

Page 31: Icinga 1, Icinga 2 @ FrOSCon 2014

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

Icinga 2 – What’s nextIcinga 2 – What’s next

• Icinga 2.1 (very soon)– Cluster improvements

– Logging and documentation

• Planned features– Business Process Integration, join the discussion!– Agent for remote checks– your idea?

• Modules for Puppet, Ansible, …

• See DEV tracker

FroSCon 2014

Page 32: Icinga 1, Icinga 2 @ FrOSCon 2014

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

RoadmapRoadmap

• 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 (dev.icinga.org, Twitter, etc.)– Team members’ interests

FroSCon 2014

Page 33: Icinga 1, Icinga 2 @ FrOSCon 2014

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

QUESTIONS & ANSWERSQUESTIONS & ANSWERS

FroSCon 2014

Web + Blog www.icinga.org

Docs docs.icinga.org

Development dev.icinga.org

Sourcecode git.icinga.org

Releases github.com/Icinga

Wiki wiki.icinga.org

IRC #icinga on FreeNode

Mailing lists lists.icinga.org

Support support.icinga.org

Twitter twitter.com/icinga

Facebook facebook.com/icinga

…….. Everywhere!

?Questions & Answers