Icinga Camp Bangalore - Icinga integrations
-
Upload
icinga -
Category
Technology
-
view
362 -
download
8
Transcript of Icinga Camp Bangalore - Icinga integrations
Icinga Camp | Bangalore | 2017/05/13
Integrations with Icinga
2017/05/13
• Markus Waldmüller
• Bavaria, South of Germany
• Working at NETWAYS
• Senior Consultant
• Trainer
NETWAY
S
• Agenda
• Overview
• Automated Deployments and Configuration
• Director Automation
• Dashboards, Metrics and Events
• Modules for Icinga Web 2
• Notifications
• Preview
• Conclusion
Agenda
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?
What‘s next?
• Understand the principles of Icinga 2
• Configuration DSL
• Distributed environments
• REST API
• Build your own stack with integrationsstack
principles
Automated Deployments
and Configuration
• Icinga 2 Puppet Modulehttps://forge.puppet.com/icinga/icinga2
• Icinga Web 2 Puppet Modulehttps://forge.puppet.com/icinga/icingaweb2
Puppet
Puppet
• Approved Icinga 2 Puppet ModuleApproved
class { '::icinga2':manage_repo => true,features => ['checker', 'mainlog'],
}
include ::icinga2include ::mysql::server
mysql::db { 'icinga':user => 'icinga''password => 'sw0rdfish',host => 'localhost',grant => ['ALL'],
}
class {'icinga2::feature::idomysql':user => 'icinga',password => 'sw0rdfish',database => 'icinga',import_schema => true,require => Mysql::Db['icinga'],
}
• Chef Partner Cookbook Program
• Chef Icinga2 Cookbookhttps://supermarket.chef.io/cookbooks/icinga2
• Setup Icinga 2 & Icinga Web 2
• Manage configuration objects
Chef
• Ansible Roles for Icinga 2https://github.com/Icinga/icinga2-ansible
• Setup Icinga 2 & Icinga Web 2
• Manage configuration objects
Ansible
• Salt Formulahttps://github.com/saltstack-formulas/icinga2-formula
• Setup Icinga 2, ClassicUI and NRPE
Salt
• Foreman Smart Proxy Pluginhttps://github.com/theforeman/smart_proxy_monitoring
• Information from:
• Icinga 2 API
• Icinga Web 2 Module Director
• Status
• Host management
Foreman
• Foreman Smart Proxy PluginForeman
• Terraform Icinga 2 Providerhttps://www.terraform.io/docs/providers/icinga2/
• Configure Hosts
Terraform
Director Automation
• Icinga DirectorDirector
• Icinga Director
• Import and modify
• Lots of Import Sources and Modifiers
• Sync rules
• Create, update and delete objects
• Deployment
• Schedule Jobs
• Versioning (Diff and rollback)
• API
Director
• Director Import Sources
• SQL - MySQL, pgSQL and MSSQL
• Icinga 2 API
• Files - CSV, JSON, YAML and XML
https://github.com/Icinga/icingaweb2-module-fileshipper
• PuppetDB
https://github.com/Icinga/icingaweb2-module-puppetdb
• AWS
https://github.com/Icinga/icingaweb2-module-aws
Import Sources
• Director Lifecycle
ImportSources Deploy
185.11.254.90www.icinga.org
Modifier
(DNS Lookup)
Lifecycle
Sync Rules
object Host “icingahost01” {
address = 185.11.254.90
….
}
Dashboards
• Icinga Web 2 Custom DashboardsIcinga Web 2
• Dashing for Icinga 2 https://github.com/Icinga/dashing-icinga2
Dashing
• More REST API resourceshttps://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 Grafanahttps://grafana.com/icinga
Dashboards
Events
• Forward Icinga 2 events
• GELF Writer
• Elastic Beats
• Filebeat
• Icingabeat
events
• GELF Writer
• Check results, notifications and state
changes
• Performance data
• Event correlation
Performance data
• GELF Writer - GraylogGELF Writer
• Elastic Beats
• Small event shippers
• Support for Logstash & Elasticsearch
• Forward “lightweight” events & status
Elastic Beats
• Filebeat
• Monitors log directories and log files
• Icinga Module (next release?)https://www.elastic.co/guide/en/beats/filebeat/master/filebeat- module-
icinga.html
• Main log
• Debug log
• Startup log
Filebeat
• filebeatFilebeat
• Icingabeathttps://github.com/Icinga/icingabeat
• Fetches data from Icinga 2 API
• Support for Logstash & Elasticsearch
• Provides Kibana Dashboards
Icingabeat
• Icingabeat – Checkresults DashboardIcingabeat
• Icingabeat – Status DashboardIcingabeat
• Icingabeat – Notification DashboardIcingabeat
Modules for
Icinga Web 2
• Icinga Web 2 Modules
• Add ons
• Graphs
• Ticket Systems
• Maps and Processes
Modules
• Business Processhttps://github.com/Icinga/icingaweb2-module-businessprocess
Business Process
• NagVis - Visualizationhttps://github.com/Icinga/icingaweb2-module-nagvis
NagVis
• PNP - RRD based https://github.com/Icinga/icingaweb2-module-pnp
PNP
• Generic TTS - Ticket System Integrationhttps://github.com/Icinga/icingaweb2-module-generictts
Generic TTS
• Cube – Drill Down Viewhttps://github.com/Icinga/icingaweb2-module-cube
Cube
Community Modules for
Icinga Web 2
• Graphitehttps://github.com/findmypast/icingaweb2-module-graphite
Graphite
• Grafanahttps://github.com/Mikesch-mp/icingaweb2-module-grafana
Grafana
• Globe 3Dhttps://github.com/Mikesch-mp/icingaweb2-module-globe
Globe 3D
Alerts and Escalations
Notifications – just Email?
• Enhanced Notificationshttps://github.com/mmarodin/icinga2-plugins/tree/master/notification
• Grafana Graphs & HTML
Enhanced
Recommendation: “Use at least two
different notification ways”
• Extend Notifications
• SMS
• Prowl
• Scripts (SNMP-Traps, …)
Extend
Advanced Notifications
• Event correlation
• Schedules
• Escalation policies
• Alert consolidation
• Multiple notification channels
• Advanced Notification Tools & Services
• PagerDutyhttps://www.pagerduty.com/docs/guides/icinga2-integration-guide/
• VictorOpshttps://victorops.com/icinga-monitoring/
• BigPandahttps://bigpanda.io/bp_integrations/icinga/
• OpsGeniehttps://www.opsgenie.com/docs/integrations/icinga2-integration
Advanced
• Advanced Notification Tools & Services
• AlertOpshttps://github.com/Icinga/icinga2-notification-alertops
• NoMa (Notification Managerhttps://git.netways.org/noma/noma
• Cloud services and many more…
Advanced
Preview
• Writer for Elastic Stack components
• Logstash Output Plugin
• Filebeat Module for Icinga
• Kubernetes Operator
Conclusion
• Test and play with integrations
• Open feature requests
• Raise awareness on issues
• Play with the Vagrant boxeshttps://github.com/Icinga/icinga-vagrant
• Integrate “everything”
• Join the community channels
• Share your story
Vagrant
www.icinga.com
github.com/icinga
exchange.icinga.com
Thank You!
@icinga
/icinga
+icinga