icinga2 in the middle of your toolstack

54
www.icinga.org London FLOSSUK March 16th 2016 ICINGA2 IN THE MIDDLE OF YOUR TOOLSTACK

Upload: icinga

Post on 23-Jan-2018

9.093 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Icinga2 in the middle of your toolstack

www.icinga.org

London – FLOSSUK – March 16th 2016

ICINGA2

IN THE MIDDLE

OF YOUR TOOLSTACK

Page 2: Icinga2 in the middle of your toolstack

• Bernd Erk

• Icinga co-founder

• Working @netways

• @gethash

Page 3: Icinga2 in the middle of your toolstack

www.icinga.org

ICINGA – OPEN SOURCE

MONITORING

Page 4: Icinga2 in the middle of your toolstack

ICINGA - COMMUNITY

Page 5: Icinga2 in the middle of your toolstack
Page 6: Icinga2 in the middle of your toolstack

You?

Page 7: Icinga2 in the middle of your toolstack

ICINGA - INTRODUCTION

Page 8: Icinga2 in the middle of your toolstack

Quick Poll

Page 9: Icinga2 in the middle of your toolstack

Open Source Monitoring

Icinga is a scalable and extensible monitoring system which

checks the availability of your resources, notifies users of

outages and provides extensive BI data.

Page 10: Icinga2 in the middle of your toolstack

Icinga Web 2

Icinga 2

Icinga

Icinga Quality, Testing and Community Support

Icinga.org, dev.icinga.org, social media channels

Icinga Reports Icinga Doc

3rd Party Tools

Icinga Web

Icinga Classic (CGI)

Page 11: Icinga2 in the middle of your toolstack

ICINGA2

Page 12: Icinga2 in the middle of your toolstack

Checker

Notify

Gelf

Perfdata Graphite

IDO

Compat

Livestatus• Multithreaded

• Modular Features

• Zone support

• Secure Agent

• No Nagios®

Page 13: Icinga2 in the middle of your toolstack

• Availability and scaling zones

• Automatic redistribution of checks

• Zones for multitenancy environments

Page 14: Icinga2 in the middle of your toolstack

High Availability

Checker

Notify

Gelf

Perfdata Graphite

IDO

Compat

Livestatus

Checker

Notify

Gelf

Perfdata Graphite

IDO

Compat

Livestatus

Page 15: Icinga2 in the middle of your toolstack

Checker

Notify

Perfdata

Gelf IDO

Graphite

Compat

Livestatus

Distributed Features

Page 16: Icinga2 in the middle of your toolstack

Zone A

Zoning

Zone B

Page 17: Icinga2 in the middle of your toolstack

Advanced Zoning

Zone CZone A Zone B

Page 18: Icinga2 in the middle of your toolstack

ICINGA2 - GRAPHITE

Page 19: Icinga2 in the middle of your toolstack

New Graphite Schema

icinga2.$host.name$.host.$host.check_command$

icinga2.$host.name$.services.$service.name$.$service.check_command$

Page 20: Icinga2 in the middle of your toolstack

Threshold metrics

enable_send_thresholds

<prefix>.perfdata.<perfdata-label>.min

<prefix>.perfdata.<perfdata-label>.max

<prefix>.perfdata.<perfdata-label>.warn

<prefix>.perfdata.<perfdata-label>.crit

Page 21: Icinga2 in the middle of your toolstack

Metadata metrics

enable_send_metadata

<prefix>.metadata.current_attempt

<prefix>.metadata.downtime_depth

<prefix>.metadata.execution_time

<prefix>.metadata.latency

<prefix>.metadata.max_check_attempts

<prefix>.metadata.reachable

<prefix>.metadata.state

<prefix>.metadata.state_type

Page 22: Icinga2 in the middle of your toolstack

Demo

Page 23: Icinga2 in the middle of your toolstack

ICINGA2 - CONFIGURATION

Page 24: Icinga2 in the middle of your toolstack
Page 25: Icinga2 in the middle of your toolstack

Enhanced configuration language

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

apply Notification "notify-customer" to Service { …

apply Service "ssh” { …

apply Service for (identifier => oid in host.vars.oids) { …

if (get_time_period(“9to5”).is_inside) { …

Page 26: Icinga2 in the middle of your toolstack

Icinga Studio

Page 27: Icinga2 in the middle of your toolstack

ICINGA WEB 2

Page 28: Icinga2 in the middle of your toolstack

• Easy to extend and embed

• JSON and CSV export

• Support for MySQL and PostgreSQL

• Responsive layout

Page 29: Icinga2 in the middle of your toolstack

• Developed in PHP 5.3

• Multiple authentication methods

• Active Directory, LDAP and DB

• Via Webserver, e.g. Kerberos

• May be chained

Page 30: Icinga2 in the middle of your toolstack

Web 2

Monitoring Docs

BP NagVis PNP

Page 31: Icinga2 in the middle of your toolstack

Demo

Page 32: Icinga2 in the middle of your toolstack

ICINGA2 - API

Page 33: Icinga2 in the middle of your toolstack

We had “APIs”

Page 34: Icinga2 in the middle of your toolstack

• HTTP with RESTful Url Schema

• ApiUser config object

• X.509 and/or Basic Auth

Page 35: Icinga2 in the middle of your toolstack

ApiUser Object

# vim /etc/icinga2/conf.d/api-users.conf

object ApiUser "root" {

password = "icinga”

permissions = [ "*" ]

}

Page 36: Icinga2 in the middle of your toolstack

ApiUser Permissions

permissions = [

{

permission = "objects/query/Host"

filter = {{ regex("^Linux", host.vars.os) }}

},

{

permission = "objects/query/Service"

filter = {{ regex("^Linux", service.vars.os) }}

}

]

Page 37: Icinga2 in the middle of your toolstack

• create, modify and delete objects

• retrieve information and run actions

• subscribe to events

• manage configuration packages

Page 38: Icinga2 in the middle of your toolstack

• Configuration management

• New standard config API

• Support for Packages and Stages

• Support for Zones

Page 39: Icinga2 in the middle of your toolstack

• Event Streams

• Based on Types and Filters

CheckResult, StateChange, Notification,

AcknowledgementSet, AcknowledgementCleared,

CommentAdded, CommentRemoved, DowntimeAdded,

DowntimeRemoved, DowntimeTriggered

• Example

/v1/events?queue=osmc&types=CheckResult

Page 40: Icinga2 in the middle of your toolstack

• Status, Objects, Actions and Events

• Simple filter

• services?service=localhost!ping6

• Advanced filter

• type=Service&filter=service.name==%22ping6%22

Page 41: Icinga2 in the middle of your toolstack

Demo

Page 42: Icinga2 in the middle of your toolstack

ICINGA WEB 2 - DIRECTOR

Page 43: Icinga2 in the middle of your toolstack
Page 44: Icinga2 in the middle of your toolstack
Page 45: Icinga2 in the middle of your toolstack
Page 46: Icinga2 in the middle of your toolstack

ICINGA ROADMAP – WHAT’S

NEXT?

Page 47: Icinga2 in the middle of your toolstack

We plan to release more modules for Icinga

Web 2 in the next months

Page 48: Icinga2 in the middle of your toolstack

We’ll release a web based configuration

module on the 1st March

Page 49: Icinga2 in the middle of your toolstack

• Icinga 2.4.4 was released today!

• Icinga Web 2.2 was released on March 1st

Page 50: Icinga2 in the middle of your toolstack

OUR VISION

Page 51: Icinga2 in the middle of your toolstack
Page 52: Icinga2 in the middle of your toolstack

CONCLUSION

Page 53: Icinga2 in the middle of your toolstack

• Download Icinga 2 and Icinga Web 2

• Or play with the Vagrant boxes

• Rethink your configuration

• Give us feedback

Page 54: Icinga2 in the middle of your toolstack

THANK YOU!

www.icinga.org

dev.icinga.org

git.icinga.org

@icinga

/icinga

+icinga