Introduction into Icinga

  • View
    450

  • Download
    0

Embed Size (px)

Text of Introduction into Icinga

PowerPoint Presentation

#IcingaCamp San Francisco 02/15/2016Welcome to Icinga Camp San Francisco 2016

www.icinga.org

1

THANK YOU VERY MUCH

Thanks to our sponsors

Timetable

Round of introductions

Bernd ErkIcinga co-founderProject organizer@gethash

ICINGa Open Source Monitoring

www.icinga.org

8

Icinga - NEWS

Icinga - NEWS - Exchange

Icinga - NEWS - Community

You?

Icinga - Events

Icinga Camp Berlin 2016

March 1st

https://www.icinga.org/community/events/icinga-camp-berlin/

Icinga - Introduction

Quick Poll

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.

Icinga Web 2Icinga 2IcingaIcinga Quality, Testing and Community Support

Icinga.org, dev.icinga.org, social media channels Icinga ReportsIcinga Doc3rd Party ToolsIcinga WebIcinga Classic (CGI)

ICinga2

CheckerNotifyGelfPerfdata

GraphiteIDOCompatLivestatusMultithreadedModular FeaturesZone supportSecure AgentNo Nagios

Demo

23

ICinga2 - Configuration

25

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) {

Icinga Studio

ICinga2 - API

We had APIs

HTTP with RESTful Url Schema ApiUser config objectX.509 and/or Basic Auth

ApiUser Object

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

object ApiUser "root" { password = "icinga permissions = [ "*" ]}

PERMISSIONSURL ENDPOINTSUPPORTS FILTERSactions//v1/actionsYesconfig/query/v1/configNoconfig/modify/v1/configNoobjects/query//v1/objectsYesobjects/create//v1/objectsNoobjects/modify//v1/objectsYesobjects/delete//v1/objectsYesstatus/query//v1/statusYesevents//v1/eventsNoconsole/v1/consoleNo

31

ApiUser Permissions

permissions = [ { permission = "objects/query/Host" filter = {{ regex("^Linux", host.vars.os) }} }, { permission = "objects/query/Service" filter = {{ regex("^Linux", service.vars.os) }} }]

create, modify and delete objectsretrieve information and run actionssubscribe to eventsmanage configuration packages

Configuration managementNew standard config API Support for Packages and StagesSupport for Zones

Event StreamsBased on Types and FiltersCheckResult, StateChange, Notification, AcknowledgementSet, AcknowledgementCleared, CommentAdded, CommentRemoved, DowntimeAdded, DowntimeRemoved, DowntimeTriggeredExample/v1/events?queue=osmc&types=CheckResult

Status, Objects, Actions and EventsSimple filterservices?service=localhost!ping6Advanced filtertype=Service&filter=service.name==%22ping6%22

Demo

37

Icinga Web 2

Easy to extend and embedJSON and CSV exportSupport for MySQL and PostgreSQLResponsive layout

Developed in PHP 5.3 Multiple authentication methodsActive Directory, LDAP and DBVia Webserver, e.g. KerberosMay be chained

Web 2

MonitoringDocsBPNagVisPNP

Demo

get_host("c1-web-1").last_check_result

42

Icinga Web 2 - Director

Icinga Roadmap Whats nEXT?

We plan to release more modules for Icinga Web 2 in the next months

Well release a web based configuration module on the 1st March

Icinga 2.4.2 / 2.5 is planned for Q1 2016Icinga Web 2.2 is planned for Q1 2016

Our VISION

52

Conclusion

Download Icinga 2 and Icinga Web 2 Or play with the Vagrant boxesRethink your configurationGive us feedback

Thank You!www.icinga.orgdev.icinga.orggit.icinga.org

@icinga/icinga+icinga

55