Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Icinga 2 @ SIG-NOC Meeting

29,945 views

Published on

12th Tenera TF-NOC / 1st Géant SIG-NOC Meeting at BelWü in Stuttgart

Published in: Technology
  • I'd advise you to use this service: HelpWriting.net The price of your order will depend on the deadline and type of paper (e.g. bachelor, undergraduate etc). The more time you have before the deadline - the less price of the order you will have. Thus, this service offers high-quality essays at the optimal price.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ♥♥♥ http://bit.ly/2F4cEJi ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❤❤❤ http://bit.ly/2F4cEJi ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Icinga 2 @ SIG-NOC Meeting

  1. 1. WWW.ICINGA.ORG SIG-NOC Meeting - Stuttgart 04/08/2015 Icinga - Open Source Monitoring
  2. 2. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Me • Michael Friedrich • @dnsmichi, 31, Austrian • Application Developer @NETWAYS • Icinga responsibilities • Core 1.x & 2.x Developer • Release Manager • On the team since 2009
  3. 3. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Agenda • Icinga Project • Icinga 1.x • Icinga 2 • Icinga Web 2 • Demo • Conclusion & Vision
  4. 4. THE ICINGA PROJECT
  5. 5. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG The Icinga Project – Introduction #icinga 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.
  6. 6. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Icinga Project – About us • Originally forked from Nagios in April 2009 • Independent, redesigned version Icinga 2 since 2014 • Different teams with autonomic responsibilities
  7. 7. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Icinga Project - Icinga Exchange
  8. 8. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Icinga Project - Icinga Exchange - GitHub
  9. 9. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Icinga Project – Tools & Platform Icinga Core 1.x C-based source MySQL, PostgreSQL, Oracle Icinga Quality, Testing and Community Support Website and Open Source Ticketing System Icinga Reports based on Jasper Reports Icinga Doc based on Markdown 3rd Party Tools Icinga Web 1.x based on PHP using ExtJS, Agavi MVC IDOUTILS Icinga Web 2 Based on PHP / responsive design Icinga 2 C++-based source with multiple components IDO Livestatus Cluster …
  10. 10. ICINGA 1
  11. 11. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 1 - Overview • 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!
  12. 12. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 1 – Changes 2014/2015 • 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
  13. 13. ICINGA 2 - INTRODUCTION
  14. 14. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Host Databases Network Icinga 2 – Use cases #icinga Monitors Apps HardwareOS Storage Host Switches Services
  15. 15. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Use cases #icinga Alerts Mail SMS Voice Ticket
  16. 16. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Use cases #icinga Reports
  17. 17. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 - Overview • 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
  18. 18. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 - Overview • Powerful CLI • MySQL & PostgreSQL support • New configuration format • Includes a extensive template library • Compatible with plugins, addons, UIs
  19. 19. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Vagrant
  20. 20. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Checker Notify Gelf Perfdata Graphite IDO Compat Livestatus Icinga 2 - Architecture #icinga
  21. 21. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Livestatus Icinga 2 - Enable Livestatus #icinga
  22. 22. ICINGA 2 - CLUSTER
  23. 23. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG CA Zones API Icinga 2 - Cluster Overview Cluster #icinga
  24. 24. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #osmc Icinga 2 - Cluster Architecture • 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
  25. 25. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Cluster Distribution Checker Perfdata GELF IDO Open TSDB Graphite Livestatus Checker Statusdat #icinga
  26. 26. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Cluster Zones IDO Checker Graphite Livestatus Checker Statusdat Host Host Host #icinga Checker Perfdata IDO
  27. 27. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Resource optimization 0 100 200 300 400 500 600 700 800 0 500 1000 1500 2000 2500 3000 30.000 Services CPU-Cycles Memory Megabyte Cyclesinmillions #icinga
  28. 28. ICINGA 2 - CONFIGURATION
  29. 29. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Configuration • New configuration format • Won’t miss the old config syntax! • It is really time for change • You will love it! #icinga
  30. 30. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: 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 • Use syntax highlighting!
  31. 31. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Console # yum install rlwrap # rlwrap icinga2 console • Use ‘icinga2 console’ to test values, functions, etc! • https://www.icinga.org/resources/live-console/ • Install rlwrap 
  32. 32. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Value Types • Get to know all the value types!
  33. 33. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Constants • PluginDir, MysqlPassword, SnmpCommunity, …
  34. 34. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Templates • Templates for generic attributes
  35. 35. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Custom Attributes • Numbers, Strings, Booleans, Arrays, Dictionaries • Filters, Match Conditions, additional information
  36. 36. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Commands • Optional/conditional arguments, functions, default values
  37. 37. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Hosts and Services • Checkable objects and attributes
  38. 38. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Apply Services • Match on (custom) attributes, names (assign) • Exclude objects (ignore)
  39. 39. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Apply For • For loops over arrays/dictionaries
  40. 40. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Notifications • Dynamic notification rules
  41. 41. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Dependencies • Host-on-Service, Service-on-Host, Classic HOST router SERVICE router-uplink Icinga 2 HOST website-server Reachable?
  42. 42. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Conditionals • If-then-else
  43. 43. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Loops • While, for and break/continue
  44. 44. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Type methods & Object Accessors • 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
  45. 45. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration: Functions • Use pre-defined or your own – regex(), match(), … • Custom attributes, command, argument values
  46. 46. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Configuration – Another cool thing #icinga
  47. 47. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Configuration – Time dependent thresholds • Time dependent thresholds
  48. 48. ICINGA 2 - MIGRATION
  49. 49. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Migration • Start with a fresh server • Inventory of plugins & configuration • Define your configuration strategy with Icinga 2 • Create the best Command and Apply definitions only once • Only add hosts (and users) in the future • More migration hints on the docs! http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/migration#migration #icinga
  50. 50. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Migration: Assign service to hosts in Icinga 1.x define service{ host_name linux1,linux2,linux3,...,linux9 service_description ssh-check other service directives ... } #icinga
  51. 51. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Migration: Apply service to hosts in Icinga 2 apply Service "ssh" { import "generic-service” check_command = "ssh” assign where host.address && host.vars.os == "Linux” }
  52. 52. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #osmc Icinga 2 – Migration – Assign members to Hostgroup in Icinga 1.x define hostgroup{ hostgroup_name linux-servers alias Linux Servers members linux1,linux2,linux3 }
  53. 53. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #osmc Icinga 2 – Migration – Assign members to Hostgroup in Icinga 1.x object Host “mysql-server1" { address = "10.0.0.1“ check_command = "hostalive“ } object HostGroup "mysql-server" { display_name = "MySQL Server“ assign where match("*mysql*", host.name) }
  54. 54. ICINGA WEB 2
  55. 55. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2 - Motivation: Classic UI • Not extendable • Lacks real user management – Authorization based on contacts - not enough for enterprise needs • Not usable on mobile devices • Same machine as core • Heavy I/O
  56. 56. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2 – Motivation: Icinga Web 1.x • Complicated XML configuration • Cached configuration • Framework overhead • Not useable on mobile devices • Slow in big environments • Complicated API
  57. 57. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2: Key features • Lightweight like Classic UI & flexible as Icinga Web 1.x • Easy to extend and embed into other projects • Support for multiple authentication providers – Internal DB – LDAP – HTTP Auth • Support for IDO database & Livestatus • Supports multiple backends simultaneously, as failover backend • Responsive actions (tablet, mobile, etc) • FAST!
  58. 58. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2 - Overview • Beta Version: 2.0.0-beta3 (13.3.2015) • Release Candidate: 2.0.0-rc1 (late May 2015) • Final version: 2.0.0 (scheduled for Q2 2015) • Supports all major distributions • Apache & Nginx support • Packages and Vagrant Box available now! https://dev.icinga.org/projects/icingaweb2/roadmap
  59. 59. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Backends Authentication Setup Wizard Framework / Icinga PHP LibraryWeb 2 Icinga Web 2 - Foundation #icinga
  60. 60. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Web 2 Monitoring Docs Icinga Web 2 - Modules Business Process Graphite PNP #icinga
  61. 61. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 - Dashboard #icinga
  62. 62. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Detail View #icinga
  63. 63. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Event Grid #icinga
  64. 64. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Service Grid #icinga
  65. 65. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2: CLI • Uses Icinga Web 2 framework & backends
  66. 66. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2: Responsiveness • Your dashboard • Workstation • Tablet • Mobile • …
  67. 67. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Modules: PNP #icinga
  68. 68. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Modules: Business Processes #icinga
  69. 69. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 – Modules: Ticketsystems #icinga
  70. 70. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2 – Modules: More, more, more • Currently in development – PNP (Graphing) – Business Process – Generic TTS (Ticket System Intergration) • Coming – Graphite (Graphing) – Logstash as History Detail – …
  71. 71. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga Web 2 – Modules: Prototypes • Ask Mr. Gelf 
  72. 72. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 - Demo DEMO
  73. 73. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 – Demo Get VirtualBox >= 4.2.16 && Vagrant >= 1.6.5 $ git clone --recursive https://github.com/Icinga/icinga-vagrant.git $ cd icinga-vagrant $ cd icinga2x-cluster $ vagrant up $ vagrant ssh icinga2a $ vagrant ssh icinga2b $> sudo –i http://192.168.33.10 & http://192.168.33.20
  74. 74. THE COMMUNITY
  75. 75. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Users You?
  76. 76. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Icinga Camps 2015 Kuala Lumpur 2015 June 9th Portland 2015 October 10th Antwerp 2015 April 13th
  77. 77. CONCLUSION
  78. 78. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Conclusion • Download Icinga 2 – Use packages – Play with Vagrant and VirtualBox • Rethink you configuration strategy – Follow extensive migration docs, it is time for a change! • Install Icinga Web 2 and play with it • Give us feedback – dev.icinga.org – IRC – Twitter #icinga
  79. 79. VISION
  80. 80. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Vision • No enterprise edition • Enterprise integration #icinga
  81. 81. EXCHANGE. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Questions & Answers Web www.icinga.org Git git.icinga.org Development dev.icinga.org Wiki wiki.icinga.org Support support.icinga.org Twitter twitter.com/icinga Facebook facebook.com/icinga Get support Get involved Get heard

×