icinga open source monitoring
play

Icinga - Open Source Monitoring 04/08/2015 WWW.ICINGA.ORG Me - PowerPoint PPT Presentation

SIG-NOC Meeting - Stuttgart Icinga - Open Source Monitoring 04/08/2015 WWW.ICINGA.ORG Me EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Michael Friedrich @dnsmichi, 31, Austrian Application Developer @NETWAYS Icinga


  1. SIG-NOC Meeting - Stuttgart Icinga - Open Source Monitoring 04/08/2015 WWW.ICINGA.ORG

  2. Me EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Michael Friedrich • @dnsmichi, 31, Austrian • Application Developer @NETWAYS • Icinga responsibilities • Core 1.x & 2.x Developer • Release Manager • On the team since 2009 #icinga

  3. Agenda EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Icinga Project • Icinga 1.x • Icinga 2 • Icinga Web 2 • Demo • Conclusion & Vision #icinga

  4. THE ICINGA PROJECT

  5. The Icinga Project – Introduction EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Open Source Enterprise 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

  6. The Icinga Project – About us EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Originally forked from Nagios in April 2009 • Independent, redesigned version Icinga 2 since 2014 • Different teams with autonomic responsibilities #icinga

  7. The Icinga Project - Icinga Exchange EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga

  8. The Icinga Project - Icinga Exchange - GitHub EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga

  9. The Icinga Project – Tools & Platform EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Quality, Testing and Community Support Website and Open Source Ticketing System Icinga 2 Icinga Core 1.x Icinga Doc Icinga Reports based on based on Jasper C++-based source with C-based source Markdown Reports multiple components MySQL, PostgreSQL, Oracle … IDOUTILS IDO Livestatus Cluster Icinga Web 2 Based on PHP / responsive design 3 rd Party Tools Icinga Web 1.x based on PHP using ExtJS, Agavi MVC #icinga

  10. ICINGA 1

  11. Icinga 1 - Overview EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Original fork from Nagios 3.2.0 • Improved Core, intergrated IDOUtils DB backend • Enhanced Classic UI & new Icinga Web 1.x • Stable version: 1.13.1 (5.4.2015) • 38 releases until today • We’ll keep it in maintenance! #icinga

  12. Icinga 1 – Changes 2014/2015 EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Core – Usability, security & performance fixes – Recurring downtimes script • Classic UI – Enhanced filters for modified by attributes – Support for compressed logfiles • Icinga Web 1 – Rewritten session handling – Custom variables in grids #icinga

  13. ICINGA 2 - INTRODUCTION

  14. Icinga 2 – Use cases EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Monitors Host Switches Services OS Storage Host Hardware Apps Databases Network #icinga

  15. Icinga 2 – Use cases EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Alerts Mail SMS Voice Ticket #icinga

  16. Icinga 2 – Use cases EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Reports #icinga

  17. Icinga 2 - Overview EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Stable Version: 2.3.3 (26.3.2015) • Next major version: 2.4.0 (Q4 2015) • Supports all major distributions • Puppet, Chef and Ansible support • Packages and Vagrant Box available now! https://dev.icinga.org/projects/i2/roadmap #icinga

  18. Icinga 2 - Overview EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Powerful CLI • MySQL & PostgreSQL support • New configuration format • Includes a extensive template library • Compatible with plugins, addons, UIs #icinga

  19. Icinga 2 – Vagrant EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga

  20. Icinga 2 - Architecture EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Perfdata Graphite Livestatus Notify Compat Checker Gelf IDO #icinga

  21. Icinga 2 - Enable Livestatus EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Livestatus #icinga

  22. ICINGA 2 - CLUSTER

  23. Icinga 2 - Cluster Overview EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Cluster CA Zones API #icinga

  24. Icinga 2 - Cluster Architecture EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • API communication using SSL • Bidirectional connections supported • Zone support for logic splits in the configuration • Hash-based load distribution • “ binlog ” like retention for monitoring events and messages • Distributed components throughout the cluster • Automatic redistribution of checks • Integrated health check #osmc

  25. Icinga 2 - Cluster Distribution EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG IDO Graphite Perfdata GELF Open TSDB Checker Statusdat Livestatus Checker #icinga

  26. Icinga 2 - Cluster Zones EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG IDO Graphite Perfdata IDO Checker Checker Host Statusdat Host Host Livestatus Checker #icinga

  27. Icinga 2 – Resource optimization EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG 30.000 Services 3000 800 700 Cycles in millions 2500 Megabyte 600 2000 500 1500 400 300 1000 200 500 100 0 0 CPU-Cycles Memory #icinga

  28. ICINGA 2 - CONFIGURATION

  29. Icinga 2 - Configuration EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • New configuration format • Won’t miss the old config syntax! • It is really time for change • You will love it! #icinga

  30. Icinga 2 – Configuration: Syntax Highlighting EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Use syntax highlighting! # cd /usr/share/doc/icinga2-common*/syntax # PREFIX=~/.vim # mkdir – p $PREFIX/{syntax,ftdetect} # cp vim/syntax/icinga2.vim $PREFIX/syntax/ # cp vim ftdetect/icinga2.vim $PREFIX/ftdetect/ # vim /etc/icinga2/icinga2.conf #icinga

  31. Icinga 2 – Configuration: Console EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Use ‘icinga2 console’ to test values, functions, etc! • https://www.icinga.org/resources/live-console/ • Install rlwrap  # yum install rlwrap # rlwrap icinga2 console #icinga

  32. Icinga 2 – Configuration: Value Types EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Get to know all the value types! #icinga

  33. Icinga 2 – Configuration: Constants EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • PluginDir, MysqlPassword, SnmpCommunity , … #icinga

  34. Icinga 2 – Configuration: Templates EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Templates for generic attributes #icinga

  35. Icinga 2 – Configuration: Custom Attributes EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Numbers, Strings, Booleans, Arrays, Dictionaries • Filters, Match Conditions, additional information #icinga

  36. Icinga 2 – Configuration: Commands EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Optional/conditional arguments, functions, default values #icinga

  37. Icinga 2 – Hosts and Services EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Checkable objects and attributes #icinga

  38. Icinga 2 – Configuration: Apply Services EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Match on (custom) attributes, names (assign) • Exclude objects (ignore) #icinga

  39. Icinga 2 – Configuration: Apply For EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • For loops over arrays/dictionaries #icinga

  40. Icinga 2 – Configuration: Notifications EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Dynamic notification rules #icinga

  41. Icinga 2 – Configuration: Dependencies EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Host-on-Service, Service-on-Host, Classic Icinga 2 HOST router Reachable? SERVICE router-uplink HOST website-server #icinga

  42. Icinga 2 – Configuration: Conditionals EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • If-then-else #icinga

  43. Icinga 2 – Configuration: Loops EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • While, for and break/continue #icinga

  44. Icinga 2 – Configuration: Type methods & Object Accessors EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Array#sort, Dictionary#contains, String#find , … • http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/language-reference#language-reference • http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/library-reference#library-reference • Object accessors – get_host(), get_service(), etc – Access config and runtime attributes – e.g. get_host(NodeName).state #icinga

  45. Icinga 2 – Configuration: Functions EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Use pre-defined or your own – r egex(), match(), … • Custom attributes, command, argument values #icinga

  46. Icinga 2 – Configuration – Another cool thing EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga

  47. Icinga 2 – Configuration – Time dependent thresholds EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG • Time dependent thresholds #icinga

  48. ICINGA 2 - MIGRATION

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend