Top Banner
Icinga – Open Source Monitoring Icinga Development Team @ Chemnitzer Linux-Tage 2011 19.03.2011 - Chemnitz
25

Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Sep 13, 2018

Download

Documents

buiquynh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Icinga – Open Source Monitoring

Icinga Development Team

@ Chemnitzer Linux-Tage 2011

19.03.2011 - Chemnitz

Page 2: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Agenda

Introduction

Icinga Team

Project Structure & Communication

Tools and Platform

Current Architecture

HTTP Interface

Future Architecture

Addons for Icinga

Live-Demo

Roadmap

Questions & Answers

Page 3: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Introduction

33 years old

Icinga-Member from day one

Background in Database Infrastructure andService Oriented Architecture

Responsibilities• Organization

• Architecture

Page 4: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Introduction into the project

Page 5: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Icinga Team

Page 6: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Icinga Team - Locations

Page 7: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Project Structure & Communication

Mailing-Lists

Icinga-APIIcinga-Core Icinga-Web Icinga-Docs

www.icinga.org dev.icinga.org docs.icinga.org wiki.icinga.org

translate.icinga.org

feedback.icinga.org

Page 8: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Tools and Platform

Icinga Quality, Testing and Community Support

website and open source ticketing system

Icinga-API

based on PHP

Icinga-Core

C based sourceMySQL

PostgreSQLOracle

Icinga-Web

based on PHP using Sencha,

Agavi MVC

Icinga-Doc

based on Docbook in english and

german

GIT GIT GIT GIT

Icinga-Reports

based on Jasper -

Reporting

GIT

Page 9: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Single node architecture - today

Icinga-API

Icinga-Core

IDMOD and IDO2DB

Icinga-Web

ExtJS / Agavi

IDO•MySQL

•PostgreSQL•Oracle

Page 10: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Multi node architecture - today

Icinga-API

Icinga-Core

IDMOD and IDO2DB

IDO•MySQL

•PostgreSQL•Oracle

Icinga-Web

ExtJS / Agavi

Icinga-Slave

Icinga-Slave

•NSCA•SSH•OTHERS

Page 11: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Major problems in distributed and large environments

loadbalancing• check slave availability

• dynamic check distribution

• specific checks must be forwarded to specific instances

commands are not distributed• there is only a “workaround” for the new web available

transport-layer of check results and commands• ssh-quickfix solution for distributed commands

• NSCA is buggy like hell and should be replaced

an abstract interface to the core-elements is needed

Page 12: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Problems with existing implementations

config split and distribution• difficult management

• prone to error

DNX (distributed nagios executor)• single point of failure architecture

• not able to handle specific network zones

mod_gearman• looks good so far, but very new

• network protocol

merlin

based on NEB-Interface

Page 13: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

NEB disadvantages

NEB-Development is limited to C/C++ Coders

it is not possible to change a NEB at runtime

NEB’s must reside on the same server

in the worst-case scenario a NEB could crash the Icinga process

changes to the Icinga-Core can break a NEB

Page 14: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Future architecture

Icinga-Core•MySQL

•PostgreSQL•Oracle

Icinga-Web

ExtJS / Agavi

CORE-API

Icinga-API

Icinga-Web and DB-API

ExtJS / Agavi

Page 15: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Future architecture – Core API

Icinga-Core

CORE-API

XML - RPC• XML based remote procedure call

• firewall awareness

• de facto standard

bidirectional connection initiation

checkresult reaper replacement

Page 16: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Future architecture - ABA

Icinga-Core

CORE-API

ABA-Worker

ABA-Worker

- external configuration- various schedulers- zoning and monitoring

XML-RPC

ABA-Dispatcher

- ABA switch in config

ABA-Worker

-load indicator-health status

HTTP/HTTPS

ABA: From A -> B -> A

ABA: Zulu for distribute

Page 17: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Future architecture - Advantages

Icinga-Core

CORE-API

ABA-Worker

XML-RPC

ABA-Dispatcher

ABA-Worker

Icinga-Core

CORE-API

-caching-self learning scheduler-single ABA failback

Page 18: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Future architecture - ABA Roadmap

we will implement the architecture step by step

• the classic way is still working

• we have a loosely coupled transport and executing process

flexibility

• external processes give us the possibility to check the Icinga infrastructure availability

• different protocols can be used and an individual distribution solution could be implemented

Page 19: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

HTTP Interface

request almost all Icinga database fields that are supported by Icinga-API (which covers almost all fields)

filter via nested AND and OR groups (Condition 1 AND (Condition 2 OR (Condition 3 AND Condition 4))..etc.)

add Order, Limit, Group By

get data via XML or JSON

sending commands via PUT

Page 20: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

HTTP Interface - Example

http://localhost/icinga-web/web/api/service/filter[AND(HOST_CURRENT_STATE|=|0;OR(SERVICE_CURRENT_STATE|=|1;SERVICE_CURRENT_STATE|=|2))]/ columns(SERVICE_NAME|HOST_NAME|SERVICE_CURRENT_STATE|HOST_NAME|HOST_CURRENT_STATE|HOSTGROUP_NAME)/order(SERVICE_CURRENT_STATE;DESC)/countColumn=SERVICE_ID/authkey=APITEST123456/xml

<results><result>

<column name="SERVICE_ID">295</column><column name="SERVICE_OBJECT_ID">139</column><column name="SERVICE_IS_ACTIVE">1</column><column name="SERVICE_INSTANCE_ID">1</column><column name="SERVICE_NAME">MailQ</column><column name="SERVICE_DISPLAY_NAME">MailQ</column><column name="SERVICE_OUTPUT">Error occured:error=1:0:0</column><column name="SERVICE_PERFDATA"></column>

</result><result>

<column name="SERVICE_ID">311</column><column name="SERVICE_OBJECT_ID">155</column><column name="SERVICE_IS_ACTIVE">1</column><column name="SERVICE_INSTANCE_ID">1</column><column name="SERVICE_NAME">POP3</column><column name="SERVICE_DISPLAY_NAME">POP3</column><column name="SERVICE_OUTPUT">Verbindungsaufbau abgelehnt</column><column name="SERVICE_PERFDATA"></column>

</result><total>2</total>

</results>

Page 21: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Addons

contribute folder

• integration for PNP4Nagios

• Business-Process-View and -Editor

EventDB Cronk for SNMP and logfile integration

LConf

Heatmap

Page 22: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Reporting

base reporting based on Jasper is finished

reporting package is downloadable on

• http://sourceforge.net/projects/icinga/

• https://git.icinga.org/?p=icinga-reports.git

the only thing you need is a JasperServer

single line installation available

• ./js-import.sh --input-zip icinga_report_package.zip

Icinga web integration is planned for this year (1.5)

Page 23: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Live Demo

Demo

Page 24: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Roadmap

unified roadmap

• 1.3 - 16.02.2011 - unstable Release

• 1.4 - 11.05.2011 - stable Release

• 1.5 - 17.08.2011 - unstable Release

• 1.6 - 09.11.2011 - stable Release

bugfix releases 1.X.X

Page 25: Icinga – Open Source Monitoring · Icinga – Open Source Monitoring Icinga Development Team ... DNX (distributed nagios executor) • single point of failure architecture ... -

Questions and Answers

Q & A