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 at Icinga Camp San Francisco

31,562 views

Published on

Talk on Icinga 2 at Icinga Camp 2014 in San Francisco

Published in: Technology
  • Dating for everyone is here: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❤❤❤ http://bit.ly/39pMlLF ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Icinga 2 at Icinga Camp San Francisco

  1. 1. Icinga 2 Open Source Monitoring redesigned WWW.ICINGA.ORG Icinga Camp San Francisco 2014 25th Sept. - Team Icinga
  2. 2. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Agenda • Introduction • Icinga 2 • Demo • What‘s next • Questions & Answers Icinga Camp San Francisco 2014
  3. 3. INTRODUCTION
  4. 4. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Us • Michael Friedrich • @dnsmichi, 31, Austrian • Working @NETWAYS • Icinga responsibilities • Core 1.x & 2.x Developer • Release Manager • On the team since 2009 Icinga Camp San Francisco 2014 • Gunnar Beutner • Working @NETWAYS • Icinga responsibilities • Core 1.x & 2.x Developer • On the team since 2011
  5. 5. Icinga 2
  6. 6. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Icinga 2 - Overview • Stable version: 2.1.1 (16.9.2014) • Supports all major distributions • Based on C++ and Boost • New configuration format • Compatible with plugins, addons, UIs Icinga Camp San Francisco 2014
  7. 7. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Features • Available Features • Checker, Notifications • Compat (status files, Perfdata, Command Pipe) • Graphite • DB IDO, Livestatus • Cluster • Simple feature enable/disable • Recurring Downtimes • Scalable for high performance • Embedded health checks • Integrated load-balancing of checks and notifications • Communication using SSL x509 certificates, IPv4/6 • Monitoring Plugins 100% compatible Icinga Camp San Francisco 2014
  8. 8. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Cluster • Zone model for distributed setups • Child zones don’t see each other Icinga Camp San Francisco 2014
  9. 9. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Cluster • Event replication, Config Sync & High Availability • Secure communication with SSL x509 • Load-Balancing of Checks & Notifications Icinga Camp San Francisco 2014
  10. 10. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Config Differences • New notification object instead of contacts • Apply services, notifications, dependencies using • Assign where <condition> • Ignore where <condition> • Freely definable custom attributes (command macros, apply conditions, ui filter) • Global constants • Conditional command arguments • Icinga Template Library & Plugin Check Commands • Many, many details Icinga Camp San Francisco 2014
  11. 11. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Configuration: Templates, Groups, Apply template Host "db-server" { check_interval = 5m retry_interval = 3m check_command = "hostalive" } template Service "db-service" { check_interval = 3m retry_interval = 1m } object HostGroup "mysql-server" { display_name = "MySQL Server" assign where match("*mysql*", host.name) assign where match("db-*", host.vars.prod_mysql_db) ignore where host.vars.test_server == true ignore where match("*internal", host.name) } object Host "mysql-db1" { import "db-server" import "mysql-server" address = "192.168.70.10" } object Host "customer-db7" { import "db-server" import "mysql-server" address = "192.168.71.30" vars.prod_mysql_db = "db-customer-xy„ //vars.no_health_check = true } apply Service "mysql-health" { import "mysql-service" check_command = "mysql" assign where match(“192.168.7*”, Icinga Camp San Francisco 2014 host.address) assign where "mysql-server" in host.groups ignore where host.vars.no_health_check == true }
  12. 12. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Configuration: Notifications object User "testconfig-user" { import "generic-user" display_name = "Icinga Test User" states = [ Critical, Unknown, Ok ] types = [ Problem, Recovery, DowntimeStart, DowntimeEnd, DowntimeRemoved, FlappingStart, FlappingEnd ] email = "icinga@localhost" Icinga Camp San Francisco 2014 } object UserGroup "cg_admin" { assign where user.name == "testconfig-user" } object Host "my-server" { import "linux-server-template" address = "192.168.1.10" } object Service "my-ping" { import "generic-service" check_command = "my-ping-check" vars.ping_wrta = 100 vars.ping_wpl = 20 vars.ping_crta = 500 vars.ping_cpl = 60 } apply Notification "service-by-mail" to Service { command = "notify-service-by-mail" interval = 10m period = "8x5" types = [ Problem, Recovery, Up ] states = [ Warning, Critical ] user_groups = [ "cg_admin" ] assign where host.name == "my-server" && service.name == "my-ping" } apply Notification "host-by-mail" to Host { command = "notify-host-by-mail" interval = 120m period = "8x5" types = [ Problem, Recovery ] states = [ Down, Up ] user_groups = [ "cg_admin" ] assign where host.name == "my-server" }
  13. 13. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Configuration: Dependencies apply Service "nrpe-health" { import "generic-service" check_command = "nrpe" assign where host.vars.agent == "nrpe" Icinga Camp San Francisco 2014 } apply Service "nrpe-disk" { import "generic-service" check_command = "nrpe" vars.nrpe_command = "check_disk" assign where host.vars.agent == "nrpe" } object Host "nrpe-server" { import "generic-host" address = "192.168.1.5" vars.agent = "nrpe" } apply Dependency "disable-nrpe-checks" to Service { parent_service_name = "nrpe-health" states = [ OK ] disable_checks = true disable_notifications = true assign where service.check_command == "nrpe" assign where host.vars.agent == "nrpe" ignore where service.name == "nrpe-health" }
  14. 14. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Configuration: Commands object CheckCommand "my-mysql" { import "plugin-check-command" command = [ PluginDir + "/check_mysql" ] //constants.conf -> const PluginDir Icinga Camp San Francisco 2014 arguments = { "-H" = "$mysql_host$" "-u" = "$mysql_user$" "-p" = "$mysql_password$" "-P" = "$mysql_port$" "-s" = "$mysql_socket$" "-a" = "$mysql_cert$" "-k" = "$mysql_key$" "-C" = "$mysql_ca_cert$" "-D" = "$mysql_ca_dir$" "-L" = "$mysql_ciphers$" "-f" = "$mysql_optfile$" "-g" = "$mysql_group$" "-l" = { set_if = "$mysql_ssl$" description = "Use ssl encryption" } } vars.mysql_host = "$address$" vars.mysql_ssl = false } object EventCommand "event_by_ssh" { import "plugin-event-command" command = [ PluginDir + "/check_by_ssh" ] arguments = { "-H" = "$event_by_ssh_address$" "-p" = "$event_by_ssh_port$" "-C" = "$event_by_ssh_command$" "-l" = "$event_by_ssh_logname$" "-i" = "$event_by_ssh_identity$" "-q" = { set_if = "$event_by_ssh_quiet$" } "-w" = "$event_by_ssh_warn$" "-c" = "$event_by_ssh_crit$" "-t" = "$event_by_ssh_timeout$" } vars.event_by_ssh_address = "$address$" vars.event_by_ssh_quiet = false } object EventCommand "event_by_ssh_restart_service" { import "event_by_ssh" vars.event_by_ssh_command = "test $service.state_id$ -gt 0 && sudo /etc/init.d/$event_by_ssh_service$ restart" }
  15. 15. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Demo – Vagrant DEMO Everyone: ‘cd icinga2x-cluster; vagrant up’ https://github.com/icinga/icinga-vagrant Icinga Camp San Francisco 2014
  16. 16. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG Get Icinga 2 • Getting started • http://docs.icinga.org/icinga2 • Icinga 2 Standalone & Cluster Vagrant Boxes • https://github.com/icinga/icinga-vagrant • Snapshots and release builds • http://packages.icinga.org • Natively available on • Debian testing (Jessie) and Wheezy (Backports) or http://www.debmon.org • Ubuntu (use PPA by formorer) • OpenSuSE (see buildserver) • Fedora (soon) Icinga Camp San Francisco 2014
  17. 17. What’s next
  18. 18. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG What’s next • Icinga 2 version 2.2 (29.10.2014) • Agent for remote checks • Integrated CLI commands • Planned features • APIs • your idea? • Modules for Puppet, Ansible, Chef, Saltstack • Join the team! - https://dev.icinga.org/projects/icinga-tools • Roadmap (https://dev.icinga.org/projects/i2/roadmap) based on • Bugs • Sponsors • Feedback (dev.icinga.org, Twitter, etc.) • Team members’ interests Icinga Camp San Francisco 2014
  19. 19. DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG QUESTIONS & ANSWERS Icinga Camp San Francisco 2014 Web + Blog www.icinga.org Docs docs.icinga.org Development dev.icinga.org Sourcecode git.icinga.org Releases github.com/Icinga Wiki wiki.icinga.org IRC #icinga on FreeNode Mailing lists lists.icinga.org Support support.icinga.org Twitter twitter.com/icinga Facebook facebook.com/icinga …….. Everywhere! ? Questions & Answers

×