Upload
icinga
View
11.179
Download
0
Embed Size (px)
DESCRIPTION
Icinga Team at the Nagios Workshop 2011 in Hannover.
Citation preview
Icinga – Open Source Monitoring
Icinga Development Team
@ Nagios Workshop 2011 24.05.2011 – Hannover / 4th floor / large room / at the very front
Agenda
� Introduction � Icinga Team � Project Structure & Communication
� Tools and Platform
� Current Architecture
� HTTP Interface
� Addons for Icinga � Live-Demo
� Roadmap
� Questions & Answers
Introduction
� 33 years old � Icinga-Member from day one
� Background in Database Infrastructure and Service Oriented Architecture
� Responsibilities • Organization
• Architecture
Icinga Team
Icinga Team - Locations
Project Structure & Communication
Mailing-Lists
Icinga-Web Icinga-Core Icinga-Docs Icinga-Reports
www.icinga.org dev.icinga.org docs.icinga.org wiki.icinga.org
translate. icinga.org
feedback.icinga.org
Tools and Platform
Icinga Quality, Testing and Community Support
website and open source ticketing system
Icinga- API
based on PHP
Icinga-Core
C based source MySQL
PostgreSQL Oracle
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
Single node architecture - today
Icinga-API
Icinga-Core
IDMOD and IDO2DB
Icinga-Web
ExtJS / Agavi
IDO
• MySQL • PostgreSQL
• Oracle
Multi node architecture - today
Icinga-API
Icinga-Core
IDMOD and IDO2DB
IDO
• MySQL • PostgreSQL
• Oracle
Icinga-Web
ExtJS / Agavi
Icinga-Slave
Icinga-Slave
• NSCA • GEARMAN • SSH
Personally
<bernd>
Database performance
� serial database-write-performance slower
• YES ~ 5% slower
� serial database-read-performance slower
• YES ~ 15% slower
� random database-read-performance slower
• NO ~ 900% faster
Database stability
� Database stable ?
• YES
� Knowledge needed ?
• YES
MySQL Tips
� use InnoDB
� use MySQL 5.5
• Performance
• atomic Operations
• InnoDB-Background-Threads
� disable query cache
� innodb_flush_log_at_trx_commit = 0
Personally
</bernd>
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
Future architecture
Icinga-Core
• MySQL
• PostgreSQL • Oracle
Icinga-Web
ExtJS / Agavi
CORE-API
Icinga-API
Icinga-Web and DB-API
ExtJS / Agavi
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
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
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>
Addons
� contribute folder
• integration for PNP4Nagios
• Business-Process-View and -Editor
� EventDB Cronk for SNMP and logfile integration
� LConf
� Heatmap
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)
Live Demo
Demo
Roadmap
� unified roadmap
• 1.4 - 11.05.2011 - Release
• 1.5 - 17.08.2011 - Release
• 1.6 - 30.11.2011 - Release
� bugfix releases 1.X.X
SERVER
Why Icinga
Nagios
Zabbix
Zenoss
OpenNMS
EC2 Open Stack Open Nebula Eucalyptus
Cloud Compatibility
Icinga
Why Icinga
Questions and Answers
Q & A