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.

State of Icinga - Linux Stammtisch München

Talk given at the Linux Stammtisch München at the 27th of January 2015

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

State of Icinga - Linux Stammtisch München

  1. 1. WWW.ICINGA.ORG Linux Stammtisch Munich 27/01/2015 State of Icinga
  2. 2. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Me • Bernd Erk • Working @NETWAYS • Icinga responsibilities – Project management – Community • In the Icinga game since 2009 • @gethash • bernd.erk@icinga.org
  3. 3. ABOUT US
  4. 4. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga About us - People
  5. 5. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga About us - Teams Team Core Team Web Team Packages & Tools Team Community Team Q&A & Docs
  6. 6. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga About us - Activity 30 Day Summary • Commits: 400 • Contributers: 14 12 Month Summary • Commits: 7012 • Contributers: 83
  7. 7. THE COMMUNITY
  8. 8. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Users You?
  9. 9. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG The Community - Icinga Camp San Francisco #icinga
  10. 10. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Icinga Camps 2015 Barcelona 2015 February 27th Antwerp 2015 April 13rd Kuala Lumpur 2015 April 24th Portland 2015 October 10th
  11. 11. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Icinga Exchange
  12. 12. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga The Community - Icinga Exchange - GitHub
  13. 13. ICINGA 1
  14. 14. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 1 - Changes • Core – Usability and security fixes – Various IDO fixes for enhanced performance • ClassicUI – Improved downtime and comments view – Enhanced filters for modified by attributes – Support for compressed logfiles • Icinga Web 1 – Rewritten session handling – Updated ExtJS framework
  15. 15. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 1 - Overview • 36 releases until today • We’ll keep it in maintenance!
  16. 16. ICINGA 2 - INTRODUCTION
  17. 17. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 - Overview • Based on C++ and Boost – Supports all major *NIX and Windows platforms • Included cluster stack • Powerful CLI • Supports multiple backends – MySQL – PostgreSQL • Livestatus support included • Packages and Vagrant Box available now!
  18. 18. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG #icinga Icinga 2 - CLI - Overview # icinga2 icinga2 - The Icinga 2 network monitoring daemon (version: v2.2) Usage: icinga2 <command> [<arguments>] Supported commands: * daemon (starts Icinga 2) * feature … * node … * object list (lists all objects) * pki … * repository … * variable get (gets a variable) * variable list (lists all variables) Global options: -h [ --help ] show this help message -V [ --version ] show version information --color use VT100 color codes even when stdout is not a terminal -D [ --define ] arg define a constant -l [ --library ] arg load a library -I [ --include ] arg add include search directory -x [ --log-level ] arg specify the log level for the console log Command options: Report bugs at <https://dev.icinga.org/> Icinga home page: <http://www.icinga.org/>
  19. 19. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Checker Statusdat Gelf Perfdata Graphite IDO Compat Livestatus Icinga 2 - Architecture #icinga
  20. 20. ICINGA 2 - CONFIGURATION
  21. 21. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Configuration • Different config format – there is a conversion script! – but you won’t miss the old config! • It is really time for change • Could be that you hate it now, but you’ll love it later! • See it in action! #icinga
  22. 22. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Assign a service to multiple hosts in the old world define service{ host_name linux1,linux2,linux3,...,linux9 service_description ssh-check other service directives ... } #icinga
  23. 23. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Assign a service to multiple hosts in the new world apply Service "ssh" { import "generic-service" check_command = "ssh“ assign where host.address && host.vars.os == "Linux“ } #icinga
  24. 24. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Assign to Hostgroup in the old world define hostgroup{ hostgroup_name linux-servers alias Linux Servers members linux1,linux2,linux3 } #icinga
  25. 25. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Assign to Hostgroup in the new world 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) } #icinga
  26. 26. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Assign to Hostgroup in the extended new world object Host “mysql-server1" { address = "10.0.0.1“ check_command = "hostalive“ vars.test_server = true } object Host “mysql-server2" { address = "10.0.0.1“ check_command = "hostalive“ } object HostGroup "mysql-server" { display_name = "MySQL Server" assign where match("*mysql*", host.name) ignore where host.vars.test_server ignore where match("*internal", host.name) } #icinga
  27. 27. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Some cool new things #icinga
  28. 28. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Working with arrays object Host "localhost" { check_command = "hostalive“ address = "127.0.0.1" vars.http_vhosts["http"] = { http_uri = "/“ } vars.http_vhosts["Icinga Web 2"] = { http_uri = "/icingaweb“ } } apply Service for (http_vhost => config in host.vars.http_vhosts) { check_command = "http“ vars += config assign where host.vars.http_vhosts } #icinga
  29. 29. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Working with conditionals object Host "localhost" { check_command = "hostalive“ address = "127.0.0.1" vars.http_vhosts["icinga.org"] = { http_address = "icinga.org" interval = 1m } vars.http_vhosts["dev.icinga.org"] = { http_address = "dev.icinga.org" } } #icinga
  30. 30. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Working with conditionals apply Service "vhost " for (vhost => config in host.vars.http_vhosts) { host_name = "localhost“ check_command = "http" if (config.interval) { check_interval = config.interval } else { check_interval = 5m } assign where host.vars.http_vhosts } #icinga
  31. 31. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Demo Icinga 2 - Config #icinga
  32. 32. ICINGA 2 - CLUSTER
  33. 33. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG CA Zones API Icinga 2 - Cluster Overview Cluster #icinga
  34. 34. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG 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 • Integrated health check #icinga
  35. 35. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Cluster Distribution Checker Perfdata IDO IDO Checker Graphite Livestatus Checker Statusdat #icinga
  36. 36. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Cluster Zones Checker Perfdata IDO IDO Checker Graphite Livestatus Checker Statusdat Host Host Host Checker Perfdata IDO #icinga
  37. 37. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Master setup - State #icinga
  38. 38. ICINGA 2 – REMOTE MONITORING
  39. 39. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Remote nodes • Challenges in remote monitoring – Configuration format – Different software stack and libraries – Various platforms – Deployment and configuration – Used resources – Insecure #icinga
  40. 40. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 – Core resources 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
  41. 41. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Remote nodes Checker Perfdata IDO Host Checker Perfdata IDO Host Host IDO Checker Graphite #icinga
  42. 42. ICINGA WEB 2
  43. 43. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 - Introduction • Lightweight like Icinga classic and flexible like Icinga Web • Easy to extend and embed into other projects • Support for multiple authentication providers – Internal DB – LDAP • Support for multiple backends – Database – Livestatus • Supports Icinga 1.x and Icinga 2.x • Responsive layout • FAST! #icinga
  44. 44. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Backends Authentication Installer Framework / Icinga PHP LibraryWeb 2 Icinga Web 2 - Foundation #icinga
  45. 45. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Web 2 Monitoring Docs Icinga Web 2 - Modules BP Graphite PNP #icinga
  46. 46. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga Web 2 - Installer #icinga
  47. 47. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Demo #osmc Icinga Web 2 - Demo
  48. 48. CONCLUSION
  49. 49. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Conclusion • Download Icinga 2 – Use the packages – Play with Vagrant and VirtualBox – You can download the sources but we prefer the packages • Rethink you configuration – You can use the migration, but it is time for a change • Install Icinga Web 2 and play with it • Give us feedback – dev.icinga.org – IRC – Twitter #icinga
  50. 50. VISION
  51. 51. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG You want to Graphite or InfluxDB? Vision - Graphite #icinga icinga2 feature enable graphite
  52. 52. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG You want to use Graylog or Logstash? Vision – Logstash or Graylog #icinga icinga2 feature enable gelf
  53. 53. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG You want to use Livestatus? Vision – Livestatus #icinga icinga2 feature enable livestatusLivestatus
  54. 54. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Vision • No enterprise edition • Enterprise integration #icinga
  55. 55. 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

    Be the first to comment

    Login to see the comments

Talk given at the Linux Stammtisch München at the 27th of January 2015

Views

Total views

25,025

On Slideshare

0

From embeds

0

Number of embeds

20,997

Actions

Downloads

13

Shares

0

Comments

0

Likes

0

×