Icinga Camp Bangalore - Icinga integrations

67
Icinga Camp | Bangalore | 2017/05/13 Integrations with Icinga 2017/05/13

Transcript of Icinga Camp Bangalore - Icinga integrations

Page 1: Icinga Camp Bangalore - Icinga integrations

Icinga Camp | Bangalore | 2017/05/13

Integrations with Icinga

2017/05/13

Page 2: Icinga Camp Bangalore - Icinga integrations

• Markus Waldmüller

• Bavaria, South of Germany

• Working at NETWAYS

• Senior Consultant

• Trainer

NETWAY

S

Page 3: Icinga Camp Bangalore - Icinga integrations

• Agenda

• Overview

• Automated Deployments and Configuration

• Director Automation

• Dashboards, Metrics and Events

• Modules for Icinga Web 2

• Notifications

• Preview

• Conclusion

Agenda

Page 4: Icinga Camp Bangalore - Icinga integrations

Overview

Page 5: Icinga Camp Bangalore - Icinga integrations

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

Page 6: Icinga Camp Bangalore - Icinga integrations

OpenTSDB

REST API

GELF

Perfdata Graphite

Elastic

Logstash

DB IDO

InfluxDB• Modular Interfaces

• Not just “checks” &

“notifications”

• Integrations?

Page 7: Icinga Camp Bangalore - Icinga integrations

What‘s next?

Page 8: Icinga Camp Bangalore - Icinga integrations

• Understand the principles of Icinga 2

• Configuration DSL

• Distributed environments

• REST API

• Build your own stack with integrationsstack

principles

Page 9: Icinga Camp Bangalore - Icinga integrations

Automated Deployments

and Configuration

Page 10: Icinga Camp Bangalore - Icinga integrations

• Icinga 2 Puppet Modulehttps://forge.puppet.com/icinga/icinga2

• Icinga Web 2 Puppet Modulehttps://forge.puppet.com/icinga/icingaweb2

Puppet

Puppet

Page 11: Icinga Camp Bangalore - Icinga integrations

• Approved Icinga 2 Puppet ModuleApproved

Page 12: Icinga Camp Bangalore - Icinga integrations

class { '::icinga2':manage_repo => true,features => ['checker', 'mainlog'],

}

Page 13: Icinga Camp Bangalore - Icinga integrations

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'],

}

Page 14: Icinga Camp Bangalore - Icinga integrations

• Chef Partner Cookbook Program

• Chef Icinga2 Cookbookhttps://supermarket.chef.io/cookbooks/icinga2

• Setup Icinga 2 & Icinga Web 2

• Manage configuration objects

Chef

Page 15: Icinga Camp Bangalore - Icinga integrations

• Ansible Roles for Icinga 2https://github.com/Icinga/icinga2-ansible

• Setup Icinga 2 & Icinga Web 2

• Manage configuration objects

Ansible

Page 16: Icinga Camp Bangalore - Icinga integrations

• Salt Formulahttps://github.com/saltstack-formulas/icinga2-formula

• Setup Icinga 2, ClassicUI and NRPE

Salt

Page 17: Icinga Camp Bangalore - Icinga integrations

• Foreman Smart Proxy Pluginhttps://github.com/theforeman/smart_proxy_monitoring

• Information from:

• Icinga 2 API

• Icinga Web 2 Module Director

• Status

• Host management

Foreman

Page 18: Icinga Camp Bangalore - Icinga integrations

• Foreman Smart Proxy PluginForeman

Page 19: Icinga Camp Bangalore - Icinga integrations

• Terraform Icinga 2 Providerhttps://www.terraform.io/docs/providers/icinga2/

• Configure Hosts

Terraform

Page 20: Icinga Camp Bangalore - Icinga integrations

Director Automation

Page 21: Icinga Camp Bangalore - Icinga integrations

• Icinga DirectorDirector

Page 22: Icinga Camp Bangalore - Icinga integrations

• 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

Page 23: Icinga Camp Bangalore - Icinga integrations

• 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

Page 24: Icinga Camp Bangalore - Icinga integrations

• Director Lifecycle

ImportSources Deploy

185.11.254.90www.icinga.org

Modifier

(DNS Lookup)

Lifecycle

Sync Rules

object Host “icingahost01” {

address = 185.11.254.90

….

}

Page 25: Icinga Camp Bangalore - Icinga integrations

Dashboards

Page 26: Icinga Camp Bangalore - Icinga integrations

• Icinga Web 2 Custom DashboardsIcinga Web 2

Page 27: Icinga Camp Bangalore - Icinga integrations

• Dashing for Icinga 2 https://github.com/Icinga/dashing-icinga2

Dashing

Page 28: Icinga Camp Bangalore - Icinga integrations

• More REST API resourceshttps://github.com/Icinga/icinga2-api-examples

Page 29: Icinga Camp Bangalore - Icinga integrations

Metrics

Page 30: Icinga Camp Bangalore - Icinga integrations

• Plugins provide Performance Data

• Metrics for “free”

• Store them in Graphite, InfluxDB, …

• Visualize them in Grafana

Metrics

Grafana

Page 31: Icinga Camp Bangalore - Icinga integrations

• Icinga Dashboards for Grafanahttps://grafana.com/icinga

Dashboards

Page 32: Icinga Camp Bangalore - Icinga integrations

Events

Page 33: Icinga Camp Bangalore - Icinga integrations

• Forward Icinga 2 events

• GELF Writer

• Elastic Beats

• Filebeat

• Icingabeat

events

Page 34: Icinga Camp Bangalore - Icinga integrations

• GELF Writer

• Check results, notifications and state

changes

• Performance data

• Event correlation

Performance data

Page 35: Icinga Camp Bangalore - Icinga integrations

• GELF Writer - GraylogGELF Writer

Page 36: Icinga Camp Bangalore - Icinga integrations

• Elastic Beats

• Small event shippers

• Support for Logstash & Elasticsearch

• Forward “lightweight” events & status

Elastic Beats

Page 37: Icinga Camp Bangalore - Icinga integrations

• 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

Page 38: Icinga Camp Bangalore - Icinga integrations

• filebeatFilebeat

Page 39: Icinga Camp Bangalore - Icinga integrations

• Icingabeathttps://github.com/Icinga/icingabeat

• Fetches data from Icinga 2 API

• Support for Logstash & Elasticsearch

• Provides Kibana Dashboards

Icingabeat

Page 40: Icinga Camp Bangalore - Icinga integrations

• Icingabeat – Checkresults DashboardIcingabeat

Page 41: Icinga Camp Bangalore - Icinga integrations

• Icingabeat – Status DashboardIcingabeat

Page 42: Icinga Camp Bangalore - Icinga integrations

• Icingabeat – Notification DashboardIcingabeat

Page 43: Icinga Camp Bangalore - Icinga integrations

Modules for

Icinga Web 2

Page 44: Icinga Camp Bangalore - Icinga integrations

• Icinga Web 2 Modules

• Add ons

• Graphs

• Ticket Systems

• Maps and Processes

Modules

Page 45: Icinga Camp Bangalore - Icinga integrations

• Business Processhttps://github.com/Icinga/icingaweb2-module-businessprocess

Business Process

Page 46: Icinga Camp Bangalore - Icinga integrations

• NagVis - Visualizationhttps://github.com/Icinga/icingaweb2-module-nagvis

NagVis

Page 47: Icinga Camp Bangalore - Icinga integrations

• PNP - RRD based https://github.com/Icinga/icingaweb2-module-pnp

PNP

Page 48: Icinga Camp Bangalore - Icinga integrations

• Generic TTS - Ticket System Integrationhttps://github.com/Icinga/icingaweb2-module-generictts

Generic TTS

Page 49: Icinga Camp Bangalore - Icinga integrations

• Cube – Drill Down Viewhttps://github.com/Icinga/icingaweb2-module-cube

Cube

Page 50: Icinga Camp Bangalore - Icinga integrations

Community Modules for

Icinga Web 2

Page 51: Icinga Camp Bangalore - Icinga integrations

• Graphitehttps://github.com/findmypast/icingaweb2-module-graphite

Graphite

Page 52: Icinga Camp Bangalore - Icinga integrations

• Grafanahttps://github.com/Mikesch-mp/icingaweb2-module-grafana

Grafana

Page 53: Icinga Camp Bangalore - Icinga integrations

• Globe 3Dhttps://github.com/Mikesch-mp/icingaweb2-module-globe

Globe 3D

Page 54: Icinga Camp Bangalore - Icinga integrations

Alerts and Escalations

Page 55: Icinga Camp Bangalore - Icinga integrations

Notifications – just Email?

Page 56: Icinga Camp Bangalore - Icinga integrations

• Enhanced Notificationshttps://github.com/mmarodin/icinga2-plugins/tree/master/notification

• Grafana Graphs & HTML

Enhanced

Page 57: Icinga Camp Bangalore - Icinga integrations

Recommendation: “Use at least two

different notification ways”

• Extend Notifications

• SMS

• Prowl

• Scripts (SNMP-Traps, …)

Extend

Page 58: Icinga Camp Bangalore - Icinga integrations

Advanced Notifications

Page 59: Icinga Camp Bangalore - Icinga integrations

• Event correlation

• Schedules

• Escalation policies

• Alert consolidation

• Multiple notification channels

Page 60: Icinga Camp Bangalore - Icinga integrations

• 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

Page 61: Icinga Camp Bangalore - Icinga integrations

• 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

Page 62: Icinga Camp Bangalore - Icinga integrations

Preview

Page 63: Icinga Camp Bangalore - Icinga integrations

• Writer for Elastic Stack components

• Logstash Output Plugin

• Filebeat Module for Icinga

• Kubernetes Operator

Page 64: Icinga Camp Bangalore - Icinga integrations

Conclusion

Page 65: Icinga Camp Bangalore - Icinga integrations

• Test and play with integrations

• Open feature requests

• Raise awareness on issues

Page 66: Icinga Camp Bangalore - Icinga integrations

• Play with the Vagrant boxeshttps://github.com/Icinga/icinga-vagrant

• Integrate “everything”

• Join the community channels

• Share your story

Vagrant

Page 67: Icinga Camp Bangalore - Icinga integrations

www.icinga.com

github.com/icinga

exchange.icinga.com

Thank You!

@icinga

/icinga

+icinga