SlideShare a Scribd company logo
Monitoring as Code
with Icinga
Bernd Erk - @gethash
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
“Verschlimmbesserung“
Icinga != Nagios!=
Checker
Notify
Gelf
Perfdata Graphite
IDO
InfluxDB
Elastic
• Multithreaded
• Modular Features
• Zone support
• Secure Agent
https://www.icinga.com/products/integrations/
Support for AutomationAutomation
• Objects
• Rule based
• Conditions
• Loops
• Custom Functions
Object based configuration languageObject
object Host "demo.icinga.com" {
import "generic-host"
address = "127.0.0.1"
address6 = "::1"
vars.os = "Linux
}
vars.os = "Linux"
apply Service "ssh" {
import "generic-service"
check_command = "ssh"
assign where host.vars.os == "Linux"
ignore where host.vars.dev == true
}
Assign RulesRules
object Host "demo.icinga.com" {
import "generic-host"
address = "127.0.0.1"
address6 = "::1"
vars.http_vhosts["Icinga Web 2"
http_uri = "/icingaweb2"
}
vars.http_vhosts["Grafana"] = {
http_port = 3000
}
}
More RulesRules
apply Service for ( )
{
import "generic-service"
display_name = "http " + http_vhost
check_command = "http"
} vars += config
http_vhost => config in host.vars_http_vhosts
apply Service "dummy" {
import "generic-service"
check_command = "dummy"
if (host.vars.environment == "dev {
check_interval = 30m
} else {
check_interval = 5m
}
assign where match("srv-*", host.name)
}
Flexible ConditionsConditions
object Service ”Load" {
check_command = "load”
host_name = ”backup.abc.com”
vars.load_warning = {{
if (get_time_period("backup").is_inside) {
return 20
} else {
return 5
} } }
}
Custom FunctionsFunctions
• HTTP with RESTful Url Schema
• X.509 and/or Basic Auth
• Create, Modify and Delete objects
• Event Stream based on Types and
Filters
RESTful APIRESTful
• Config via Webinterface
• Config Import
• Versioning
• API
Icinga DirectorDirector
• Import Sources
• AWS
• SQL
• LDAP
• PuppetDB
• Files
object Host "demo.icinga.com" {
import "generic-host"
address = "127.0.0.1"
address6 = "::1"
vars.kernel = ”linux”
vars.osfamily = “debian”
vars.domain = “example.com”
vars.manufacturer = “Dell”
vars.is_virtual = false
}
• Periodic Imports
• Hands-Free Config Deployments
• Versioning
• Full Audit Log
• Fast Config Reverts
Monitoring as Code - Ignite
Monitoring as Code - Ignite
www.icinga.com
github.com/icinga
Thank You!
@icinga
/icinga
+icinga

More Related Content

PPTX
Icinga Camp Bangalore - Icinga2 API use cases and BlueJeans Inc.
PPTX
Monitoring as code
PDF
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
PDF
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
PDF
Icinga Camp San Diego 2016 - Enter the Metrics
PDF
Icinga Camp Belgrade - Icinga 2 Apify Them All
PPTX
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
PDF
Icinga Camp San Diego: Apify them all
Icinga Camp Bangalore - Icinga2 API use cases and BlueJeans Inc.
Monitoring as code
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Diego 2016 - Enter the Metrics
Icinga Camp Belgrade - Icinga 2 Apify Them All
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga Camp San Diego: Apify them all

What's hot (20)

PDF
Icinga 2 and Puppet - Automate Monitoring
PPTX
Icinga Camp Bangalore - Icinga and Icinga Director
PDF
IcingaCamp Stockholm - Graphing with Graphite und Grafana
PPTX
Icinga Camp Bangalore - Icinga integrations
PPTX
Icinga lsm 2015 copy
PPTX
Icinga2 - Upcoming API for Icinga2
PPTX
Icinga Camp Barcelona - Icinga
PDF
Icinga Camp Bangalore - Icinga2 and Ansible
PPTX
Presentation about Icinga at Kiratech DevOps Day in Verona
PPTX
Introduction into Icinga
PDF
Icinga Web 2 is more
PPTX
Icinga Camp Bangalore - Enterprise exceptions
PDF
Icinga @OSMC 2013
PPTX
Icinga Camp Berlin 2017 - Welcome & State of Icinga
PDF
Icinga 2012 at Monitoring Workshop
PPTX
Icinga2 - Apify them all
PPTX
Icinga at Flossuk 2015 in York
PDF
Icinga Director
PDF
Icinga 2010 at Nagios Workshop
PDF
Icinga Camp Berlin 2017 - Icinga Director
Icinga 2 and Puppet - Automate Monitoring
Icinga Camp Bangalore - Icinga and Icinga Director
IcingaCamp Stockholm - Graphing with Graphite und Grafana
Icinga Camp Bangalore - Icinga integrations
Icinga lsm 2015 copy
Icinga2 - Upcoming API for Icinga2
Icinga Camp Barcelona - Icinga
Icinga Camp Bangalore - Icinga2 and Ansible
Presentation about Icinga at Kiratech DevOps Day in Verona
Introduction into Icinga
Icinga Web 2 is more
Icinga Camp Bangalore - Enterprise exceptions
Icinga @OSMC 2013
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga 2012 at Monitoring Workshop
Icinga2 - Apify them all
Icinga at Flossuk 2015 in York
Icinga Director
Icinga 2010 at Nagios Workshop
Icinga Camp Berlin 2017 - Icinga Director
Ad

Viewers also liked (8)

PDF
Icinga 2 and Puppet automate monitoring
PDF
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
PDF
Icinga 2 @ SIG-NOC Meeting
PPTX
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
PDF
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
PPTX
Icinga 2 at Icinga Camp San Francisco
PPTX
Icinga2 in the middle of your toolstack
ODP
Automating Monitoring with Puppet
Icinga 2 and Puppet automate monitoring
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Icinga 2 @ SIG-NOC Meeting
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
Icinga 2 at Icinga Camp San Francisco
Icinga2 in the middle of your toolstack
Automating Monitoring with Puppet
Ad

Similar to Monitoring as Code - Ignite (20)

PDF
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
PPTX
ICINGA (Monitoring Basics & Reporting)
PDF
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
PPTX
Icinga Camp Kuala Lumpur 2015 Opening By Eric Lippmann
PDF
OSMC 2015 | Current State of Icinga by Icinga Team
PPTX
Afpified Monitoring with Icinga2
PDF
OSMC 2022 | Current State of icinga by Bernd Erk
PDF
OSMC 2024 | Current State of Icinga by Bernd Erk.pdf
PDF
OSMC 2021 | Current State of Icinga
PDF
OSMC 2011 | Case Study - Icinga at Hyves.nl by Jeffrey Lensen
PDF
Why favour Icinga over Nagios @ OSDC 2015
PPTX
Loadays 2015 - Enterprise Monitoring with Icinga
PDF
OSMC 2023 | Current State of Icinga by Bernd Erk
PPTX
Why favour Icinga over Nagios - Rootconf 2015
PPTX
Osbizconference 2015 Icinga 2 by Eric Lippmann
PDF
Icinga 2012 Development at 6th TF-NOC Meeting
PPTX
Open Source Monitoring with Icinga at Fossasia 2015
PDF
Icinga2 api use cases
PPTX
Monitoring OpenNebula with Icinga2
PPTX
Current State of Icinga - Icinga Camp Milan 2019
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
ICINGA (Monitoring Basics & Reporting)
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
Icinga Camp Kuala Lumpur 2015 Opening By Eric Lippmann
OSMC 2015 | Current State of Icinga by Icinga Team
Afpified Monitoring with Icinga2
OSMC 2022 | Current State of icinga by Bernd Erk
OSMC 2024 | Current State of Icinga by Bernd Erk.pdf
OSMC 2021 | Current State of Icinga
OSMC 2011 | Case Study - Icinga at Hyves.nl by Jeffrey Lensen
Why favour Icinga over Nagios @ OSDC 2015
Loadays 2015 - Enterprise Monitoring with Icinga
OSMC 2023 | Current State of Icinga by Bernd Erk
Why favour Icinga over Nagios - Rootconf 2015
Osbizconference 2015 Icinga 2 by Eric Lippmann
Icinga 2012 Development at 6th TF-NOC Meeting
Open Source Monitoring with Icinga at Fossasia 2015
Icinga2 api use cases
Monitoring OpenNebula with Icinga2
Current State of Icinga - Icinga Camp Milan 2019

More from Icinga (20)

PDF
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
PDF
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
PDF
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
PDF
Incident management: Best industry practices your team should know - Icinga C...
PDF
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
PDF
SNMP Monitoring at scale - Icinga Camp Milan 2023
PPTX
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
PPTX
Current State of Icinga - Icinga Camp Milan 2023
PDF
Efficient IT operations using monitoring systems and standardized tools - Ici...
PPTX
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
PDF
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
PDF
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
PDF
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
PDF
Current State of Icinga - Icinga Camp Zurich 2019
PDF
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
PDF
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
PDF
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
PPTX
Best of Icinga Modules - Icinga Camp Milan 2019
PPTX
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
PPTX
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Incident management: Best industry practices your team should know - Icinga C...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
SNMP Monitoring at scale - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023
Efficient IT operations using monitoring systems and standardized tools - Ici...
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
Best of Icinga Modules - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
KodekX | Application Modernization Development
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Network Security Unit 5.pdf for BCA BBA.
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Review of recent advances in non-invasive hemoglobin estimation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Monitoring as Code - Ignite

Editor's Notes

  • #4: making sth. worse by trying to make it better
  • #8: A simple object Inherits from a template Custom Variable
  • #9: Rule instead of many services Works also for notifications
  • #10: Multiple vHosts on one host Could also be a Database
  • #11: Iterate over a hash / dictoinary
  • #14: Status API Permissions Debug
  • #15: Alle Objekte per Webinterface
  • #16: Import Objects For instance from CMDB Create custom vars
  • #17: A simple object Inherits from a template Custom Variable