Icinga Camp | Berlin | 07.03.2017
Integrations all the way
Icinga
07.03.2017
• Michael Friedrich
• Icinga 2 Developer
• Community Manager
• Working @netways
• @dnsmichi
• Agenda
• Overview
• Automation
• Dashboards, Metrics, Events
• Icinga Web 2 Integrations
• Notifications
• Demo
Icinga Stack Overview
Icinga is a scalable and extensible monitoring system
which checks the availability of your resources, notifies
users of outages and provides extensive metrics.
availability notifies
metrics
OpenTSDB
REST API
GELF
Perfdata Graphite
Elastic
Logstash
DB IDO
InfluxDB
• Modular Interfaces
• Not just “checks” &
“notifications”
• Integrations?
Basics – what‘s next?
• Understand the principles of Icinga 2
• Configuration DSL
• Distributed Environments
• REST API
• Build your own stack with integrations
principles
stack
Automated Deployments
• puppet-icinga2
• https://github.com/Icinga/puppet-icinga2
• puppet-icingaweb2
• https://github.com/Icinga/puppet-icingaweb2
class { '::icinga2':
manage_repo => true,
}
include ::mysql::server
mysql::db { ‘icinga’;
user => ‘icinga’,
password => ‘icinga’,
host => ‘host’,
grant => [ ‘ALL’ ] # change that, see docs
}
class { ‘icinga2::feature::idomysql’:
user => ‘icinga’,
password => ‘icinga’,
database => ‘icinga’,
import_schema => true,
require => Mysql::Db[‘icinga’]
}
class {'::icingaweb2':
manage_repo => false,
}
class { '::icingaweb2::mod::monitoring':
transport => 'api',
transport_host => 'icinga-master.localdomain',
transport_username => 'icingaweb2',
transport_password => 'secret',
}
• chef-icinga2
• https://github.com/Icinga/chef-icinga2
• Setup Icinga 2, Icinga Web 2
• Manage configuration objects
• ansible-icinga2
• https://github.com/Icinga/icinga2-ansible
• Setup Icinga 2 & Icinga Web 2
• Manage configuration objects
Director Automation
• Config Import
• Sync jobs
• Versioning
• API
• Follow Tom’s talk
Dashboards
• Icinga Web 2 custom dashboardsIcinga Web 2
• Dashing for Icinga 2Dashing
• More REST API resources
• https://github.com/Icinga/icinga2-api-
examples
Metrics
• Plugins provide Performance Data
• Metrics for “free”
• Store them in Graphite, InfluxDB, …
• Visualize them in Grafana
Metrics
Grafana
• Icinga Dashboards for Grafana
• https://grafana.net/icinga
Dashboards
Collect
Logs Events
• Forward Icinga 2 events
• Elastic Beats
• Logstash writer (WIP)
• GELF writer (Graylog)
events
• filebeatfilebeat
• Icinga Beat
• Elastic Beats are small event shippers
• Support for Logstash & Elasticsearch
• Forward “lightweight” events & status
Beat
• icingabeat – Kibana Index patternicingabeat
• icingabeat – Kibanaicingabeat
• Logstash, Elastic, Graylog Writer
• Check results, notifications, state
changes
• Performance data
• Event correlation
Performance data
Icinga Web 2 Integrations
• Icinga Web 2 modules
• Addons (PNP, NagVis)
• Graphs (Graphite, Grafana)
• Ticket Systems
• Maps and Processes
modules
• Business Process
• https://github.com/Icinga/icingaweb2-module-businessprocess
Business Process
• PNP – RRD based
• https://github.com/Icinga/icingaweb2-module-pnp
PNP
• GenericTTS – Ticket System Integration
• https://github.com/Icinga/icingaweb2-module-generictts
GenericTTS
• Cube – Drill-down view
• https://github.com/Icinga/icingaweb2-module-cube
Cube
Community Modules
• Graphite
• https://github.com/findmypast/icingaweb2-module-graphite
Graphite
• Grafana
• https://github.com/Mikesch-mp/icingaweb2-module-grafana
Grafana
• Globe 3D
• https://github.com/Mikesch-mp/icingaweb2-module-globe
3D
More Icinga Web 2 Modules
• Under development on
https://github.com/Icinga?q=icingaweb2-module
• Elasticsearch
• Graphite
• EventDB
• AWS
development
• Create your own module
• https://monitoring-portal.org/index.php?thread/38394-module-development-
documentation/
• https://github.com/icinga/icingaweb2-module-training - needs English translation
• Follow Eric’s talk
own
Notifications – just Email?
• Enhanced
notifications
• Grafana Graphs &
HTML
https://github.com/mmarodin/icinga2-
plugins/tree/master/notification
Enhanced
• Event Correlation and Notifications
• Pagerduty
• VictorOps
• NoMa
• “Cloud services”
Correlation
Demo
Conclusion
• Test integrations
• Open feature requests
• Send PRs
• Raise awareness on issues
• Play with the Vagrant boxes
• Integrate “everything”
• Join the community channels
• Share your story
Vagrant boxes
www.icinga.com
github.com/icinga
exchange.icinga.com
Thank You!
@icinga
/icinga
+icinga

Icinga Camp Berlin 2017 - Integrations all the way

Editor's Notes

  • #11 Automate Installation Automate Configuration
  • #12 Alle Objekte per Webinterface
  • #13 Multiple vHosts on one host Could also be a Database
  • #14 Multiple vHosts on one host Could also be a Database
  • #15 Multiple vHosts on one host Could also be a Database
  • #16 Alle Objekte per Webinterface
  • #17 Alle Objekte per Webinterface
  • #19 Alle Objekte per Webinterface
  • #23 Alle Objekte per Webinterface
  • #50  Icinga Web 2 Cube Globe Graphs Dashing Grafana Kibana - filebeat, icingabeat