61
WWW.ICINGA.ORG Open Source Monitoring Conference 11/19/2014 State of Icinga

OSMC 2014: Current state of Icinga | Icinga Team

  • Upload
    netways

  • View
    378

  • Download
    2

Embed Size (px)

DESCRIPTION

Seit der ersten Preview auf der OSMC 2012 ist viel passiert und Icinga 2 ist seit einigen Monaten fertig. Neben verbesserter Performance und flexibler Architektur und zentrales und dezentrales Cluster, zeichnet sich Icinga 2 vor allem durch vereinfachte Konfiguration aus. Auch bei Icinga 1 sowie bei den verschiedenen Add-ons und Webinterfaces hat sich viel getan. Highlight des Vortrags wird die Vorstellung des neuen Webinterfaces Icinga Web 2. Neben einem aktuellen Status gibt der Vortrag einen Überblick über die kommenden Entwicklungen und zeigt die aktuellen Versionen in Live Demos.

Citation preview

Page 1: OSMC 2014: Current state of Icinga | Icinga Team

WWW.ICINGA.ORG

Open Source Monitoring

Conference – 11/19/2014 State of Icinga

Page 2: OSMC 2014: Current state of Icinga | Icinga Team

ABOUT US

Page 3: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

About us - People

Page 4: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

About us - Teams

Team Core

Team Web

Team Packages & Tools

Team Community

Team Q&A & Docs

Page 5: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

About us - Activity

#osmc

30 Day Summary

• Commits: 662

• Contributers: 16

12 Month Summary

• Commits: 5814

• Contributers: 71

Page 6: OSMC 2014: Current state of Icinga | Icinga Team

THE COMMUNITY

Page 7: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Users

You?

Page 8: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Website

Page 9: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Expansion

0

20000

40000

60000

80000

100000

120000

IN UK US DE

Unique sessions - January till November in given year

2010

2013

2014

Page 10: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Icinga Camp San Francisco

Page 11: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Icinga Camps 2015

Barcelona 2015

February 27th

New York 2015

June / July

Kuala Lumpur 2015

Summer

Portland 2015

October 10th

Page 12: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Icinga Exchange

Page 13: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

The Community - Icinga Exchange - GitHub

Page 14: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA 1

Page 15: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 1 - Changes

• Core

– Usability and security fixes

– Various IDO fixes for enhanced performance

• ClassicUI

– Improved downtime and comments view

– Enhanced filters for modified by attributes

– Support for compressed logfiles

• Icinga Web 1

– Rewritten session handling

– Updated ExtJS framework

Page 16: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 1 - Overview

• 35 releases until today

• We’ll keep it in maintenance!

Page 17: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA 2 - INTRODUCTION

Page 18: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Overview

• Based on C++ and Boost

– Supports all major *NIX and Windows platforms

• Included cluster stack

• Powerful CLI

• Supports multiple backends

– MySQL

– PostgreSQL

• Livestatus support included

• Packages and Vagrant Box available now!

Page 19: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Install from source

Page 20: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Install from source

Page 21: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Install packages

Page 22: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Install packages

Page 23: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - CLI - Overview

# icinga2 icinga2 - The Icinga 2 network monitoring daemon (version: v2.2) Usage: icinga2 <command> [<arguments>] Supported commands: * daemon (starts Icinga 2) * feature … * node … * object list (lists all objects) * pki … * repository … * variable get (gets a variable) * variable list (lists all variables) Global options: -h [ --help ] show this help message -V [ --version ] show version information --color use VT100 color codes even when stdout is not a terminal -D [ --define ] arg define a constant -l [ --library ] arg load a library -I [ --include ] arg add include search directory -x [ --log-level ] arg specify the log level for the console log Command options: Report bugs at <https://dev.icinga.org/> Icinga home page: <http://www.icinga.org/>

Page 24: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - CLI - Demo

Page 25: OSMC 2014: Current state of Icinga | Icinga Team

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

Checker

Statusdat

Gelf

Perfdata Graphite

IDO

Compat

Livestatus

#osmc

Icinga 2 - Architecture

Page 26: OSMC 2014: Current state of Icinga | Icinga Team

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

Livestatus

#osmc

Icinga 2 - Enable Livestatus

Page 27: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA 2 - CONFIGURATION

Page 28: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Configuration

• Different config format

– there is a conversion script!

– but you won’t miss the old config!

• It is really time for change

• Could be that you hate it now, but you’ll love it later!

• See it in action!

Page 29: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Assign a service to multiple hosts in the old world

define service{

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

service_description ssh-check

other service directives ...

}

Page 30: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Assign a service to multiple hosts in the new world

apply Service "ssh" {

import "generic-service"

check_command = "ssh“

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

}

Page 31: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Assign to Hostgroup in the old world

define hostgroup{

hostgroup_name linux-servers

alias Linux Servers

members linux1,linux2,linux3

}

Page 32: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Assign to Hostgroup in the new world

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 33: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Assign to Hostgroup in the extended new world

object Host “mysql-server1" {

address = "10.0.0.1“

check_command = "hostalive“

vars.test_server = true

}

object Host “mysql-server2" {

address = "10.0.0.1“

check_command = "hostalive“

}

object HostGroup "mysql-server" {

display_name = "MySQL Server"

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

ignore where host.vars.test_server

ignore where match("*internal", host.name)

}

Page 34: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - One more thing

Page 35: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Working with arrays

object Host "localhost" { check_command = "hostalive“ address = "127.0.0.1" vars.http_vhosts["http"] = { http_uri = "/“ } vars.http_vhosts["Icinga Web 2"] = { http_uri = "/icingaweb“ } } apply Service for (http_vhost => config in host.vars.http_vhosts) { check_command = "http“ vars += config assign where host.vars.http_vhosts }

Page 36: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA 2 - CLUSTER

Page 37: OSMC 2014: Current state of Icinga | Icinga Team

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

CA Zones API

#osmc

Icinga 2 - Cluster Overview

Cluster

Page 38: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Cluster Architecture

• API communication using SSL

• Bidirectional connections supported

• Zone support for logic splits in the configuration

• Hash-based load distribution

• “binlog” like retention for monitoring events and messages

• Distributed components throughout the cluster

• Automatic redistribution

• Integrated health check

Page 39: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Cluster Distribution

Checker

Perfdata IDO

IDO

Checker

Graphite

Livestatus Checker

Statusdat

Page 40: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Cluster Zones

Checker

Perfdata IDO

IDO

Checker

Graphite

Livestatus Checker

Statusdat

Host Host

Host

Checker

Perfdata IDO

Page 41: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Master setup

Page 42: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Master setup - State

Page 43: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA 2 – REMOTE MONITORING

Page 44: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Remote nodes

• Challenges in remote monitoring

– Configuration format

– Different software stack and libraries

– Various platforms

– Deployment and configuration

– Used resources

– Insecure

Page 45: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 – Core resources

0

100

200

300

400

500

600

700

800

0

500

1000

1500

2000

2500

3000

30.000 Services

CPU-Cycles Memory

Megabyte

Cycle

s in m

illio

ns

Page 46: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Remote nodes

Checker

Perfdata IDO

Host

Checker

Perfdata IDO

Host Host

IDO

Checker

Graphite

Page 47: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Remote node setup I

Page 48: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Remote node setup II

Page 49: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga 2 - Remote node setup III

Page 50: OSMC 2014: Current state of Icinga | Icinga Team

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

Demo

#osmc

Icinga 2 - Remote Client

Page 51: OSMC 2014: Current state of Icinga | Icinga Team

ICINGA WEB 2

Page 52: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga Web 2 - Introduction

• Lightweight like Icinga classic and flexible like Icinga Web

• Easy to extend and embed into other projects

• Support for multiple authentication providers

– Internal DB

– LDAP

• Support for multiple backends

– Database

– Livestatus

• Supports Icinga 1.x and Icinga 2.x

• Responsive layout

• FAST!

Page 53: OSMC 2014: Current state of Icinga | Icinga Team

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

Backends Authentication Installer

Framework / Icinga PHP Library Web 2

#osmc

Icinga Web 2 - Foundation

Page 54: OSMC 2014: Current state of Icinga | Icinga Team

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

Web 2

Monitoring Docs

#osmc

Icinga Web 2 - Modules

BP Graphite PNP

Page 55: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga Web 2 - Installer

Page 56: OSMC 2014: Current state of Icinga | Icinga Team

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

Demo

#osmc

Icinga Web 2 - Demo

Page 57: OSMC 2014: Current state of Icinga | Icinga Team

ROADMAP

Page 58: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Icinga Roadmap

• Icinga 2

– Integrate with more third party tools

– API for everything

• Icinga Web 2

– Configuration frontend

– Provide more and more modules

– Health status for core and cluster

• Improve and get better

Page 59: OSMC 2014: Current state of Icinga | Icinga Team

CONCLUSION

Page 60: OSMC 2014: Current state of Icinga | Icinga Team

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

Conclusion

• Download Icinga 2

– Use the packages

– Play with Vagrant and VirtualBox

– You can download the sources but we prefer the packages

• Rethink you configuration

– You can use the migration, but it is time for a change

• Install Icinga Web 2 and play with it

• Give us feedback

– dev.icinga.org

– IRC

– Twitter

• Enjoy the evening event!

Page 61: OSMC 2014: Current state of Icinga | Icinga Team

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

#osmc

Questions & Answers

Web www.icinga.org

Git git.icinga.org

Development dev.icinga.org

Wiki wiki.icinga.org

Support support.icinga.org

Twitter twitter.com/icinga

Facebook facebook.com/icinga Get support

Get involved

Get heard