Icinga Camp Bangalore - Icinga integrations

Post on 23-Jan-2018

362 views 8 download

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