ICINGA2 OPEN SOURCE MONITORING



Similar documents
SIG-NOC Meeting - Stuttgart 04/08/2015 Icinga - Open Source Monitoring

CURRENT STATE OF ICINGA

Open Source Monitoring

Open Source Monitoring

Open Source Monitoring

Bernd Ahlers Michael Friedrich. Log Monitoring Simplified Get the best out of Graylog2 & Icinga 2

Icinga Open Source Monitoring

How To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint

About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.

Evaluation of standard monitoring tools(including log analysis) for control systems at Cern

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

NSi Mobile Installation Guide. Version 6.2

Tonido Cloud Admin Guide

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with the Nagios Open Source Network Monitoring System

OpenAM. 1 open source 1 community experience distilled. Single Sign-On (SSO) tool for securing your web. applications in a fast and easy way

NOCTUA by init.at THE FLEXIBLE MONITORING WEB FRONTEND

Installing buzztouch Self Hosted

Comodo Web Application Firewall for Plesk Software Version 2.11

Secure Messaging Server Console... 2

How to Configure Captive Portal

OpenITSM - IT Service Management with Open Source Software

VMware Identity Manager Connector Installation and Configuration

TIBCO Spotfire Platform IT Brief

NRPE Documentation CONTENTS. 1. Introduction... a) Purpose... b) Design Overview Example Uses... a) Direct Checks... b) Indirect Checks...

OpenITSM - IT Service Management with Open Source Software

Bubble Code Review for Magento

How To Run A Powergen On A Network With Nagios (Networking) On A Microsoft Powergen (Netware) On Your Computer Or Network With A Network (Network) On An Ipnet (

EZcast technical documentation

SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION

Active Directory - User, group, and computer account management in active directory on a domain controller. - User and group access and permissions.

Setting up VMware Server v1 for 2X VirtualDesktopServer Manual

ZCP trunk (build 51762) Z-Admin Manual. The Z-Admin Manual

Postgres Enterprise Manager Installation Guide

Configuring Thunderbird with UEA Exchange 2007:

OnCommand Performance Manager 1.1

Password Management Guide

Icinga and Puppet Dominik Schulz Head of Datacenter and Operations Magic Internet / MyVideo

Adobe Marketing Cloud Using FTP and sftp with the Adobe Marketing Cloud

Parallels Plesk Automation

Monitoring Software Services registered with science.canarie.ca

Open Source Business Service/Process Management

Configuring Single Sign-on for WebVPN

PZVM1 Administration Guide. V1.1 February 2014 Alain Ganuchaud. Page 1/27

nitrobit update server

Installation and Control in Linux

Kaspersky Endpoint Security 8 for Linux INSTALLATION GUIDE

SolarWinds Log & Event Manager

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

SOA Software API Gateway Appliance 7.1.x Administration Guide

depl Documentation Release depl contributors

CHEF IN THE CLOUD AND ON THE GROUND

insync Installation Guide

Active Directory Sync (AD) How to Setup

Installing an open source version of MateCat

ULTEO OPEN VIRTUAL DESKTOP OVD WEB APPLICATION GATEWAY

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

HIPAA Compliance Use Case

Pre-authentication XXE vulnerability in the Services Drupal module

Configure Single Sign on Between Domino and WPS

Novell Identity Manager

NOC PS manual. Copyright Maxnet All rights reserved. Page 1/45 NOC-PS Manuel EN version 1.3

NetIQ Sentinel Quick Start Guide

Integration of Nagios monitoring tools with IBM's solutions

Onset Computer Corporation

PANDORA FMS OFFICIAL TRAINING

NetIQ Identity Manager Setup Guide

Nevepoint Access Manager 1.2 BETA Documentation

13.1 Backup virtual machines running on VMware ESXi / ESX Server

What s New in Propalms VPN 3.5?

Extending Remote Desktop for Large Installations. Distributed Package Installs

Configuration Manual

AWS Schema Conversion Tool. User Guide Version 1.0

Acronis Backup & Recovery 10 Server for Linux. Quick Start Guide


UFTP AUTHENTICATION SERVICE

fåíéêåéí=péêîéê=^çãáåáëíê~íçêûë=dìáçé

Backing Up and Restoring Data

The Beginner s Guide to G-Lock WPNewsman Plugin for WordPress: Installation and Configuration

CN=Monitor Installation and Configuration v2.0

JobScheduler. Architecture and Mode of Operation. Software for Open Source

Secure Linux Administration Conference Bernd Strößenreuther

Configuring User Identification via Active Directory

Introducing ZENworks 11 SP4. Experience Added Value and Improved Capabilities. Article. Article Reprint. Endpoint Management

Installing and Configuring vcloud Connector

OpenMind: Know Your Customer

FreeIPA Cross Forest Trusts

syslog-ng 3.0 Monitoring logs with Nagios

Active Directory Sync (AD) How it Works in WhosOnLocation

TIBCO Spotfire Web Player 6.0. Installation and Configuration Manual

Magento Search Extension TECHNICAL DOCUMENTATION

How To Backup A Database On A Microsoft Powerpoint 3.5 (Mysqldump) On A Pcode (Mysql) On Your Pcode On A Macbook Or Macbook (Powerpoint) On

Eylean server deployment guide

TIBCO Spotfire Statistics Services Installation and Administration Guide

Applying Patches to SUSE Linux

Integrating EJBCA and OpenSSO

MySQL quick start guide

Manage Licenses and Updates

Transcription:

www.icinga.org ICINGA2 OPEN SOURCE MONITORING backspace 08.12.2015

Blerim Sheqa Systems Engineer Open Source @bobapple

ICINGA2 INTRODUCTION

Icinga Nagios fork Icinga2 rewrite rethink

Server Network Windows

Everything is a feature

Perfdata Graphite Livestatus Multithreaded Notify Compat Modular Features Zone support Secure Agent Checker Gelf IDO

Run CheckCommands basically scripts Retreive result React

Server Notify IDO Checker Network Graphite Windows

ICINGA2 INSTALLATION

packages.icinga.org Repositories SUSE / opensuse Debian Ubuntu Raspbian Fedora Epel Windows Chocolatey icinga2.exe

ICINGA2 OBJECTS

Everything is an object Objects reference other objects

CheckCommands Tell Icinga how to use your plugin Icinga Template Library (ITL)

object CheckCommand "check_http" { } import "plugin-check-command" command = [ PluginDir + "/check_http" ] arguments = { "-H" = "$http_vhost$" "-S" = { set_if = "$http_ssl$" } "-a" = { value = "$http_auth_pair$" description = "Basic auth username and password" } }

Hosts No further explanation

object Host webserver-1 { display_name = "Webserver 1" address = "127.12.3.87" address6 = "2001:db8:0:1" groups = [ "all-hosts" ] check_command = "hostalive" } vars.os = Linux vars.oncall = true

Services Running your CheckCommands

object Service "http" { } host_name = "webserver-1" display_name = "HTTP" check_command = "check_http" check_interval = 60s vars.http_vhost = "hackerspace-bamberg.de"

check_http webserver-1

ICINGA2 EXCHANGE

Notifications Run a notification script

object Notification "webserver-http-notification" { } host_name = "webserver-1" service_name = "http" command = "mail-notification" users = [ "herp", "derp" ] types = [ Problem, Recovery ]

ICINGA2 IDO

Icinga Data Output Export configuration and status information Used by webinterfaces MySQL / PostgreSQL

ICINGA2 APPLY RULES

Apply Rules Assign objects based on rule expressions

assign where host.vars.os == Linux assign where service.vars.oncall == true assign where match("webserver-*", host.name) ignore where host.vars.test_server == true ignore where match("*internal", host.name)

apply Service "ssh" { import "generic-service" check_command = "ssh" assign where host.vars.os == "Linux" }

apply Notification "oncall-sms" to Service { import "sms-service-notification" user_groups = [ "noc" ] assign where service.vars.oncall }

assign where match("*has gold support 24x7*", service.notes) && (host.vars.customer == "customer-xy" host.vars.always_notify == true) ignore where match("*internal", host.name) (service.vars.priority < 2 && host.vars.is_clustered == true)

ICINGA2 INTERACT

Downtimes Set services to maintanance mode Suppress notifications Don't show up on webinterface

Acknowledgement I know it's broken, leave me alone Ok... But tell me if it breaks again

Eventhandler Run a command when the state of a service changes

ICINGA2 ZONES

Zones High availability Distributed setups Load distribution Remote clients

Zone Server Network Windows

object Endpoint "icinga2a" { host = "icinga2a.icinga.org" } object Endpoint "icinga2b" { host = "icinga2b.icinga.org" } object Zone "config-ha-master" { endpoints = [ "icinga2a", "icinga2b" ] }

Zones communication SSL CLI tools for simplification Config distribution Accept config Accept commands

/etc/icinga2 - icinga2.conf - pki/ - zones.d/ - master/ -- services.conf -- hosts.conf

ICINGA2 CLUSTER SCENARIOS

Zone Server Network Windows

Master Zone Frankfurt Server Server Server Berlin Server Server Server München Server Server Server

object Zone "satellite-frankfurt" { } endpoints = [ "icinga2c" ] parent = "config-ha-master"

Zone Server Network Windows

Master Zone Frankfurt Server Server Server Berlin Server Server Server München Server Server Server

Global Zone Master Zone Frankfurt Server Server Server Berlin Server Server Server München Server Server Server

/etc/icinga2 - icinga2.conf - pki/ - zones.d/ -- global/ -- commands.conf - master/ -- services.conf -- hosts.conf -- frankfurt/ -- services.conf -- hosts.conf -- berlin/ -- services.conf -- hosts.conf -- muenchen/ -- services.conf -- hosts.conf

ICINGA2 API

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

object ApiUser "root" { } password = "icinga 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 objects retrieve information and run actions subscribe to events manage configuration packages

Configuration management New standard config API Support for Packages and Stages Support for Zones

Event Streams Based on Types and Filters CheckResult, StateChange, Notification, AcknowledgementSet, AcknowledgementCleared, CommentAdded, CommentRemoved, DowntimeAdded, DowntimeRemoved, DowntimeTriggered Example /v1/events?queue=backspace&types=checkresult

Status, Objects, Actions and Events Simple filter services?service=localhost!ping6 Advanced filter type=service&filter=service.name==%22ping6%22

ICINGA WEB 2

Developed in PHP 5.3 Multiple authentication methods Active Directory, LDAP and DB Via Webserver, e.g. Kerberos May be chained

Easy to extend and embed JSON and CSV export Support for MySQL and PostgreSQL Responsive layout

BP NagVis PNP Monitoring Docs Web 2

ICINGA ROADMAP WHAT S NEXT?

Improving the product based on your feedback

We are thinking about a new historical datastore for Icinga 2 (not in 2.5)

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

We ll release a web based configuration module for Icinga Web 2

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

OUR VISION

CONCLUSION

Download Icinga 2 and Icinga Web 2 Or play with the Vagrant boxes Rethink your configuration Give us feedback

THANK YOU! www.icinga.org dev.icinga.org git.icinga.org @icinga /icinga +icinga