osmc 2014: current state of icinga | icinga team

Post on 02-Jul-2015

379 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

WWW.ICINGA.ORG

Open Source Monitoring

Conference – 11/19/2014 State of Icinga

ABOUT US

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

#osmc

About us - People

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

#osmc

About us - Teams

Team Core

Team Web

Team Packages & Tools

Team Community

Team Q&A & Docs

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

THE COMMUNITY

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

#osmc

The Community - Users

You?

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

#osmc

The Community - Website

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

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

#osmc

The Community - Icinga Camp San Francisco

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

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

#osmc

The Community - Icinga Exchange

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

#osmc

The Community - Icinga Exchange - GitHub

ICINGA 1

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

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

#osmc

Icinga 1 - Overview

• 35 releases until today

• We’ll keep it in maintenance!

ICINGA 2 - INTRODUCTION

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!

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

#osmc

Icinga 2 - Install from source

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

#osmc

Icinga 2 - Install from source

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

#osmc

Icinga 2 - Install packages

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

#osmc

Icinga 2 - Install packages

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/>

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

#osmc

Icinga 2 - CLI - Demo

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

Checker

Statusdat

Gelf

Perfdata Graphite

IDO

Compat

Livestatus

#osmc

Icinga 2 - Architecture

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

Livestatus

#osmc

Icinga 2 - Enable Livestatus

ICINGA 2 - CONFIGURATION

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!

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 ...

}

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“

}

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

}

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)

}

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)

}

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

#osmc

Icinga 2 - One more thing

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 }

ICINGA 2 - CLUSTER

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

CA Zones API

#osmc

Icinga 2 - Cluster Overview

Cluster

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

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

#osmc

Icinga 2 - Cluster Distribution

Checker

Perfdata IDO

IDO

Checker

Graphite

Livestatus Checker

Statusdat

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

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

#osmc

Icinga 2 - Master setup

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

#osmc

Icinga 2 - Master setup - State

ICINGA 2 – REMOTE MONITORING

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

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

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

#osmc

Icinga 2 - Remote nodes

Checker

Perfdata IDO

Host

Checker

Perfdata IDO

Host Host

IDO

Checker

Graphite

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

#osmc

Icinga 2 - Remote node setup I

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

#osmc

Icinga 2 - Remote node setup II

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

#osmc

Icinga 2 - Remote node setup III

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

Demo

#osmc

Icinga 2 - Remote Client

ICINGA WEB 2

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!

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

Backends Authentication Installer

Framework / Icinga PHP Library Web 2

#osmc

Icinga Web 2 - Foundation

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

Web 2

Monitoring Docs

#osmc

Icinga Web 2 - Modules

BP Graphite PNP

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

#osmc

Icinga Web 2 - Installer

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

Demo

#osmc

Icinga Web 2 - Demo

ROADMAP

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

CONCLUSION

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!

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

top related