Zum Hauptinhalt springen
Current State of Icinga
6th Nov 2018 | OSMC | Nuremberg
Introduction
Introduction
Bernd Erk
Responsibilities Contact Personal
Strategy, Partnerships and
mainly Entertainment
bernd.erk@icinga.com or
better follow me on Twitter
@gethash – No warranty
In love with burgers,
NETWAYS, Icinga and most
other people
Bernd Erk
Co-Founder and CEO
Introduction
Icinga
Introduction
Icinga Stack
Monitoring
Availability, Reliability, Observability
Log Management
ElasticStack, Graylog
Automation
Director, CfgMgmt-Support, API
Metrics and Analytics
Graphite, Grafana, InfluxDB, OpenTSDB
Icinga2 Core
Scalable infrastructure monitoring
icinga.com/docs/icinga2/
Combine high availability clusters with a
distributed setup, and you have a best
practice scenario for large and complex
environments.
Monitoring as code with dynamic
configurations.
Icinga2 Core
Icinga Director
Our configuration and orchestration solution
icinga.com/docs/director/
The Director aims to be the favorite Icinga
config deployment tool.
Director is designed for those who want to
automate their configuration deployment
and those who want to grant their “point &
click” users easy access to the configuration.
Icinga Director
Elasticsearch
Keep in touch with all your logs all the time
icinga.com/docs/elasticsearch/
The Elasticsearch module for Icinga Web 2
gives you access to this data, embedded in
your Icinga Web 2 interface.
Custom filters allow you to limit the data
that should be displayed. You can give your
users access to certain data types without
revealing everything stored in Elasticsearch.
Module for Elasticsearch
Graphite for Icinga
Quick access to your monitoring metrics
icinga.com/docs/graphite/
Add graphs from your Graphite metrics
backend directly into the host/service detail
view.
This module also provides a new menu
section with two general overviews for hosts
and services.
Graphite for Icinga
Integrations
Support for leading solutions
Ecosystem
Who is using Icinga?
Icinga Users
icinga.com/about/customers/
You?
Icinga Partners
Services and support around the globe
Icinga Outreach
Sessions icinga.com – Q1 till Q3
86415
105899 107805
95717
105291
159535
60381
77963 76656
80984 79955
97826
35000
55000
75000
95000
115000
135000
155000
2013 2014 2015 2016 2017 2018
Germany USA
653,753
479,186
Sessions in 2018
Sessions in 2017
+36.43%
in 2018
Community
Icinga Meetups
Local community groups in 2018
JalandharSalzburgBerlin Zurich
icinga.com/events/meetups/
Icinga Camps
Upcoming Icinga Camps
Tel Aviv 2018
17th December
icinga.com/events/
Berlin 2019
14th March
Washington 2019
Product Update
Icinga 2
Our Monitoring Core
01
Stability
03
Namespaces
02
Syntax Highlighting
Icinga 2
Latest features from Icinga 2.10
This release adds a dynamic thread connection pool for both, cluster messages
and HTTP requests. With the performance boost granted, we’ve also lowered the
cluster reconnect interval from 60 to 10 seconds.
2.10 also brings support for namespaces and allows us to keep the “globals”
namespace clean. In addition to that, user-defined namespaces are possible and
can be imported into the global namespace too
Updated the vim syntax highlighting including namespace support. You’ll also
recognize that macro strings are now specifically highlighted.
‱ Thread pool for API connections
‱ Prevent check state changes after restart
‱ Improved TLS handling
01
Stability
03
Namespaces
02
Syntax Highlighting
Icinga 2
Stability and performance enhancements
github.com/Icinga/icinga2/blob/master/CHANGELOG.md
01
Stability
02
Syntax Highlighting
Icinga 2
Crazy colorful visualization of the Icinga DSL if you use Vim
template Notification "mail-host-notification" {
command = "mail-host-notification"
states = [ Up, Down ]
types = [ Problem, Acknowledgement, Recovery, Custom,
FlappingStart, FlappingEnd,
DowntimeStart, DowntimeEnd, DowntimeRemoved ]
vars += {
// notification_icingaweb2url = "https://www.example.com/icingaweb2"
// notification_from = "Icinga 2 Host Monitoring <icinga@example.com>"
notification_logtosyslog = false
}
period = "24x7"
}
03
Namespaces
01
Stability
03
Namespaces
Icinga 2
User-defined namespaces
/**
* MySQL Apply rule configuration - traditional
*/
apply Service "mysql" {
check_command = "mysql"
if (host.vars.env == "prod") {
vars.mysql_password = ProductionDB_MysqlPassword
} else if (host.vars.env == "staging") {
vars.mysql_password = Staging_MysqlPassword
} else if (host.vars.env == "dev") {
vars.mysql_password = DevDB_MysqlPassword
} else {
log(LogWarning, "config/service/" + host.name + "!" + name, "Missing
'env'.")
}
assign where "db" in host.vars.app_types
}
02
Syntax Highlighting
01
Stability
03
Namespaces
Icinga 2
User-defined namespaces
/**
* Namespace configuration
*/
namespace Production {
MysqlPassword = "icingalove"
}
namespace Staging {
MysqlPassword = "monitoringlove"
}
namespace Development {
MysqlPassword = “nolove"
}
02
Syntax Highlighting
01
Stability
03
Namespaces
Icinga 2
User-defined namespaces
/**
* MySQL Apply rule configuration - using Namespaces
*/
using Production;
apply Service "mysql" {
check_command = "mysql"
vars.mysql_password = MysqlPassword
assign where "db" in host.vars.app_types
}
using Staging;
apply Service "mysql" {
check_command = "mysql"
vars.mysql_password = MysqlPassword
assign where "db" in host.vars.app_types
}
02
Syntax Highlighting
‱ Lexer and Parser
‱ Cluster communication
‱ TLS Network I/O
‱ Features und High Availability
Learn more about Icinga 2
Our technical concepts
Technical Concepts
This chapter provides technical concepts and design
insights into specific Icinga 2 components such as:
‱Application
‱Configuration
‱Features
‱Cluster
‱TLS Network IO
icinga.com/docs/icinga2/latest/doc/19-technical-concepts/#technical-concepts-configuration
Icinga Director
Configuration. Automation. Orchestration.
01
Multiple Instances
03
Config Basket
02
Health Check
Icinga Director
Latest features from Icinga Director 1.6
This used to be a hidden feature in the former version. Deal with multiple Director
instances from a single web frontend. Deploy to completely distinct or to the very
same Icinga Cluster.
The Director Health Check has been a thing since v1.5. The latest version makes it
Multi-Instance-aware and reachable from the Director Dashboard.
Snapshot a specific Set of Commands, Templates, Import/Sync definitions and
much more at any point time. Download, diff and/or restore to the very same or
another Director instance. Perfect for Multi-Stage Setups and/or for sharing
Configuration Snippets.
01
Multiple Instances
03
Config Basket
02
Health Check
Icinga Director
Support for multiple instances
01
Multiple Instances
02
Health Check
Icinga Director
Health Check
03
Config Basket
03
Config Basket
Icinga Director
Configuration basket
02
Health Check
01
Multiple Instances
New Products
x509 Management
Discover your certificate infrastructure
x509 Module for Icinga
Discover your certificate infrastructure
icinga.com/docs/x509/
The X.509 module for Icinga Web 2 keeps
track of certificates as they're deployed in a
network environment.
The module's web frontend can be used to
view scan results.
x509 Module for Icinga
Demo
Support for vSphereÂź
Analyze your VMware vSphereÂź infrastructure
Icinga Module for vSphereÂź
Analyze your VMware vSphereÂź infrastructure
icinga.com/docs/vspheredb/
The easiest way to monitor a VMware
vSphereÂź environment. Configure a
connection to your vCenter¼ or ESXiℱ host
and you're ready to go.
This module provides a lot of context, deep
insight and great oversight. Fast drill-down
possibilities, valuable hints and reports.
Icinga Module for vSphereÂź
Demo
Icinga DB
01
Performance
03
Flexibility
02
Schema
Icinga DB
The replacement for IDO
Decoupling Icinga2 from the database backend does not block the core under
high load and since all volatile data is stored in Redis, there are by far less updates
in the database
Way easier to calculate availability data and create business reports on top of the
new database schema. Also access on custom variables works in large
environments
Parts of the future Icinga architecture will rely on Redis as an in memory database
Icinga DB architecture
A simple version
Icinga2
IcingaDB
RDBMSRedis
IcingaWeb2
Demo
Playground
IoT and Homeautomation
Of course you have heard about it
Icinga2 and Node-RED
The power of APIs
Node-REDTelegram
Icinga
Node-RED
Flow-based programming for the Internet of Things
nodered.org
Demo
Summary
‱ The foundation received a lot of love in 2018
‱ Icinga DB should be ready in Q1 2019
‱ Icinga Director release is available now
‱ Icinga Module for vSphere¼ is available now
‱ Icinga Module for x509 will be available next week
‱ Controlling Icinga with you watch makes absolutely no sense
‱ But it is a lot of fun
Summary
What you have learned today
Thank You
bernd.erk@icinga.com
@gethash
twitter.com/icinga facebook.com/icinga github.com/icinga