Icinga2 in the middle of your toolstack

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

Transcript of Icinga2 in the middle of your toolstack

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