SlideShare a Scribd company logo
1 of 26
Download to read offline
Mar 8, 2016 1 / 26
Icinga Camp BerlinIcinga Camp Berlin
March 1March 1stst
20162016
Icinga meets education: MoniTutorIcinga meets education: MoniTutor
Mark SwillusMark Swillus
Camp Berlin 2016Camp Berlin 2016 22Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Motivation
Creative use of Icinga
Technical details
Future of MoniTutor
Lessons Learned + Q&A
MoniTutor
Monitoring madness
Camp Berlin 2016Camp Berlin 2016 33Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
FH-Aachen
Electrical Engineering and Information Technology
Prof. Andreas Claßen
IT-Infrastructure, Fault tolerant systems
Camp Berlin 2016Camp Berlin 2016 44Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Applying concepts in virtual environment
Hands-On lessons
Complex problems, scalability, no overview, no state information
Lab environment
ITSclient
ITSserver
X.500
LDAP
X.500
LDAP
Online resources
Script
Lecture
Scenario
Hypervisor
Student
Camp Berlin 2016Camp Berlin 2016 55Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Hands-On lessons
Scenario life cycle
Basic Setup Server configuration Client config.
✔
Iface.-config
✔
Internet access
✔
Client reaches Server
✔
slapd installed
✔
slapd running
✔
Port 389 listening
✔
ldapsearch xyz successful
Milestone1
Milestone2
Milestone3
✔
libdnss-ldap installed
✔
pam configured
✔
nsswitch configured
✔
Remote-login successful
Service-check
Camp Berlin 2016Camp Berlin 2016 66Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Hands-On lessons
Lab environment
ITSclient
ITSserver
ITSclient
ITSserver
Lab environment Lab environment
ITSclient
ITSserver
State information
Central overview
Automated checks
Remote access
Data repository
Interactive help
NAT
student1 student2 student3
Camp Berlin 2016Camp Berlin 2016 77Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
MoniTutor
Student Monitoring in workshop environments
Multiplatform
Supports arbitrary, self-defined scenarios
Penetrates firewalls and NAT
Completely free and open source
Camp Berlin 2016Camp Berlin 2016 88Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Use of Icinga
Command pipe
(icinga.cmd)
Templates
(inheritance)
Database
(DBIDO)
Custom vars
Camp Berlin 2016Camp Berlin 2016 99Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Icinga & Web2py
Define structure
(Hosts, Milestones, Checks)
Program parameters
Camp Berlin 2016Camp Berlin 2016 1010Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
hosts,services
Icinga & Web2py
Define structure
(Hosts, Milestones, Checks)
Deploy
Camp Berlin 2016Camp Berlin 2016 1111Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Icinga & Web2py
Define structure
(Hosts, Milestones, Checks)
Deploy
Monitoring
Lab environment
Execute Check2
Send result to Icinga3
Deploy Check Program1
Prg1
MoniTutor DB
student1
Prg1
Camp Berlin 2016Camp Berlin 2016 1212Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Icinga & Web2py
Define structure
(Hosts, Milestones, Checks)
Deployment
Monitoring
Display progress
WebGui / student login1
Extract status2
Reconstruct Structure3
Display4
servicestatus
hoststatus
Camp Berlin 2016Camp Berlin 2016 1414Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Deployment
Scenario / workshop
Milestone1 Milestone
2
Check1: Host: “itsserver”
Check2: Host: “itsclient”
Check3: Host: “itsserver”
...
...
Templates
(inheritance)
Camp Berlin 2016Camp Berlin 2016 1818Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Deployment
Templates
(inheritance)
Icinga Documentation:
Apply For and Custom Attribute Override
Defining dictionaries.
object Host "cisco-catalyst-6509-34" {
import "generic-host"
display_name = "Catalyst 6509 #34 VIE21"
address = "127.0.1.4"
/* "GigabitEthernet0/2" is the interface name,
* and key name in service apply for later on
*/
vars.interfaces["GigabitEthernet0/2"] = {
/* define all custom attributes with the
* same name required for command parameters/arguments
* in service apply (look into your CheckCommand definition)
*/
iftraffic_units = "g"
iftraffic_community = IftrafficSnmpCommunity
iftraffic_bandwidth = 1
vlan = "internal"
qos = "disabled"
}
vars.interfaces["GigabitEthernet0/4"] = {
iftraffic_units = "g"
//iftraffic_community = IftrafficSnmpCommunity
iftraffic_bandwidth = 1
vlan = "renote"
qos = "enabled"
}
vars.interfaces["MgmtInterface1"] = {
iftraffic_community = IftrafficSnmpCommunity
vlan = "mgmt"
interface_address = "127.99.0.100" #special management ip
}
}
apply Service "if-" for (interface_name => interface_config in host.vars.interfaces) {
import "generic-service"
check_command = "iftraffic"
display_name = "IF-" + interface_name
/* use the key as command argument (no duplication of values in host.vars.interfaces) */
vars.iftraffic_interface = interface_name
vars.iftraffic_units = interface_config.iftraffic_units
vars.iftraffic_community = interface_config.iftraffic_community
vars += interface_config
if (interface_config.iftraffic_bandwidth == "") {
vars.iftraffic_bandwidth = 1
}
if (interface_config.vlan == "") {
vars.vlan = "not set"
}
if (len(interface_config.iftraffic_community) == 0 || len(vars.iftraffic_community) == 0)
{
vars.iftraffic_community = IftrafficSnmpCommunity
}
notes = "Interface check for " + interface_name + " (units: '" + 
interface_config.iftraffic_units + "') in VLAN '" + vars.vlan + 
"' with ' QoS '" + vars.qos + "'"
notes_url = "http://foreman.company.com/hosts/" + host.name
action_url = "http://snmp.checker.company.com/" + host.name + "/if-" + interface_name
}
Camp Berlin 2016Camp Berlin 2016 1919Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Deployment
Templates
(inheritance)
Icinga Documnetation:
Apply For and Custom Attribute Override
Defining dictionaries.
///Created by monitutor
template Service "Install_Configure_LDAP_Server" {
vars.scenario_milestones["ldap01"] = {
display_name = "LDAP Hands-On Lab"
hidden = "false"
milestones["Install_Configure_LDAP_Server"] = {
name = "Install_Configure_LDAP_Server"
display_name = "Install & Configure LDAP Server"
description = "Basic LDAP Server install & configure steps 
that students have to do.<br>"
order = "0"
hidden = false
}
}
}
Camp Berlin 2016Camp Berlin 2016 2222Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Deployment
Templates
(inheritance)paul2
paul2_itsserver monitutor-system
+ basic host configuration
itsserver
+ itsserver specific configuration
Monitutor-check
+ basic service configuration
paul2_Check_ldap_utils_
Package_Installed
host
service
Check_ldap_utils_Package_Installed
+ check_ldap… specific configuration
Install_Configure_LDAP_Server
+ Milestone Install… specific configuration
Dictionary
Camp Berlin 2016Camp Berlin 2016 2323Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Deployment
Camp Berlin 2016Camp Berlin 2016 2525Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Monitoring
Command pipe
(icinga.cmd)
MoniTutor DB
Daemon Init
paul2
connect
Username, hostname
QueueHandler
ClientThread
Read
Write
{“user-host”:Priority_Queue()}
Send check
Interpreter, program, params,
servicename
/tmp/monitutor
Checkprogram?Request code
program name
Server Client
Camp Berlin 2016Camp Berlin 2016 2626Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Monitoring
Command pipe
(icinga.cmd)
MoniTutor DB
Daemon Init
paul2
QueueHandler
ClientThread
Read
Write
{“user-host”:Priority_Queue()}
Send code
Interpreter, program, params,
servicename, code
/tmp/monitutor
Check
Server Client
Execute
Send Result
servicename, output,
exit code….
ResultHandler
standard libraries only
DBIDO
Request code
program name
Camp Berlin 2016Camp Berlin 2016 2727Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Display
Camp Berlin 2016Camp Berlin 2016 2929Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Display
SELECT c.varname, c.varvalue, h.display_name
FROM icinga_customvariables c, icinga_hosts h
WHERE object_id = host_object_id AND varname = 'owner' AND varvalue = 'paul2';
varname | varvalue | display_name
---------+----------+--------------
owner | paul2 | ITS Server
SELECT c.varname, c.varvalue, h.display_name, s.output, ser.display_name
FROM icinga_customvariables c, icinga_hosts h, icinga_servicestatus s , icinga_services ser
WHERE c.object_id = h.host_object_id
AND h.host_object_id = ser.host_object_id
AND ser.service_object_id = s.service_object_id
AND c.varname = 'owner' AND c.varvalue = 'paul2';
varname | varvalue | display_name | output | display_name
---------+----------+--------------+-----------------------------------------------+------------------------------------------------
owner | paul2 | ITS Server | PASSED | Check NW Interface Existence eth1 on itsclient
owner | paul2 | ITS Server | File /etc/ldap/ldap.conf does not exist (yet) | Check configuration entry BASE on LDAP Server
owner | paul2 | ITS Server | File /etc/ldap/ldap.conf does not exist (yet) | Check configuration entry URI on LDAP Server
owner | paul2 | ITS Server | PASSED | Check NW Interface Existence eth1 on itsserver
owner | paul2 | ITS Server | SW package slapd not installed | Check: slapd SW package installed
owner | paul2 | ITS Server | PASSED | Check: ldap-utils SW package installed
owner | paul2 | ITS Server | CRITICAL - Host Unreachable (10.0.0.1) | ping4
owner | paul2 | ITS Server | PING OK - Packet loss = 0%, RTA = 0.05 ms | ping6
Camp Berlin 2016Camp Berlin 2016 3030Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Display
SELECT varname, varvalue FROM icinga_customvariables WHERE varname = 'scenario_milestones' LIMIT 3;
varname | varvalue
---------------------+------------------------------------------------------------------------------------------------------------------------
scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr...
scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr...
scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr...
(3 rows)
milestone_queue={}
for milestone in milestones:
if milestone.get("name") not in milestone_queue:
milestone_queue[milestone.get("name")] = {"order": milestone.get("order"),
"display_name": milestone.get("display_name"),
"description": milestone.get("description"),
"hidden": milestone.get("hidden"),
"services": []}
milestone_queue[milestone.get("name")]["services"].append(service[0].service_id)
return dict(milestones=sorted(milestone_queue.items(), key=lambda x: x[1]["order"]))
Camp Berlin 2016Camp Berlin 2016 3131Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Future of MoniTutor
Further development
One semester testing (fault tolerant systems)
Release in summer (Free & OpenSource)
Other environments
Online-Hands-On lessons (?)
Camp Berlin 2016Camp Berlin 2016 3232Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Lessons learned
Camp Berlin 2016Camp Berlin 2016 3333Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Lessons learned
Camp Berlin 2016Camp Berlin 2016 3434Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor
Mark Swillus
Student FH Aachen
mark.swillus@alumni.fh-aachen.de
0xB2FF4A4C: 40A5 A4F1 D548 6054 4D7F CE08 F22C 2E99 B2FF 4A4C
Prof. Dr. Andreas Claßen
FH Aachen
a.classen@fh-aachen.de
Tel.: +49.241.6009 52128

More Related Content

What's hot

Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Icinga
 
Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015Icinga
 
IcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcinga
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Icinga
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga
 
Icinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstackIcinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstackIcinga
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga
 
Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2Icinga
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaIcinga
 
Icinga Camp Berlin 2017 - Integrations all the way
Icinga Camp Berlin 2017 - Integrations all the wayIcinga Camp Berlin 2017 - Integrations all the way
Icinga Camp Berlin 2017 - Integrations all the wayIcinga
 
Icinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga
 
Icinga @OSMC 2013
Icinga @OSMC 2013Icinga @OSMC 2013
Icinga @OSMC 2013Icinga
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga
 
Icinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga
 
Icinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga
 
Icinga @GUUG 2013
Icinga @GUUG 2013Icinga @GUUG 2013
Icinga @GUUG 2013Icinga
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2Icinga
 

What's hot (20)

Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
 
Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015
 
IcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - Welcome
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - Icinga
 
Icinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstackIcinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstack
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 Cluster
 
Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with Icinga
 
Icinga Camp Berlin 2017 - Integrations all the way
Icinga Camp Berlin 2017 - Integrations all the wayIcinga Camp Berlin 2017 - Integrations all the way
Icinga Camp Berlin 2017 - Integrations all the way
 
Icinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC Meeting
 
Icinga @OSMC 2013
Icinga @OSMC 2013Icinga @OSMC 2013
Icinga @OSMC 2013
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them all
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of Icinga
 
Icinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring Workshop
 
Icinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San Francisco
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2
 
Icinga @GUUG 2013
Icinga @GUUG 2013Icinga @GUUG 2013
Icinga @GUUG 2013
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2
 

Viewers also liked

Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them allIcinga
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a userIcinga
 
Icinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga
 
Collaborative communication
Collaborative communicationCollaborative communication
Collaborative communicationIcinga
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaIcinga
 
Icinga 2 and Puppet automate monitoring
Icinga 2 and Puppet  automate monitoringIcinga 2 and Puppet  automate monitoring
Icinga 2 and Puppet automate monitoringIcinga
 
Working in and with Open Source Communities
Working in and with Open Source Communities Working in and with Open Source Communities
Working in and with Open Source Communities Icinga
 
Icinga Camp Amsterdam - Icinga2 and Puppet
Icinga Camp Amsterdam - Icinga2 and PuppetIcinga Camp Amsterdam - Icinga2 and Puppet
Icinga Camp Amsterdam - Icinga2 and PuppetIcinga
 
Icinga Camp Amsterdam - Monitoring – When to start
Icinga Camp Amsterdam - Monitoring – When to startIcinga Camp Amsterdam - Monitoring – When to start
Icinga Camp Amsterdam - Monitoring – When to startIcinga
 
Icinga Camp Belgrade - ITAF Introduction
Icinga Camp Belgrade - ITAF IntroductionIcinga Camp Belgrade - ITAF Introduction
Icinga Camp Belgrade - ITAF IntroductionIcinga
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga
 
IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2Icinga
 
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016Icinga
 
Icinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga
 
IcingaCamp Stockholm - How to make your monitoring shut up
IcingaCamp Stockholm - How to make your monitoring shut upIcingaCamp Stockholm - How to make your monitoring shut up
IcingaCamp Stockholm - How to make your monitoring shut upIcinga
 
IcingaCamp Stockholm - Opening
IcingaCamp Stockholm - OpeningIcingaCamp Stockholm - Opening
IcingaCamp Stockholm - OpeningIcinga
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga
 
Icinga Camp Belgrade - ITAF Monitoring best practices & demo
Icinga Camp Belgrade - ITAF Monitoring best practices & demoIcinga Camp Belgrade - ITAF Monitoring best practices & demo
Icinga Camp Belgrade - ITAF Monitoring best practices & demoIcinga
 
Icinga Camp Belgrade - State of Icinga
Icinga Camp Belgrade - State of IcingaIcinga Camp Belgrade - State of Icinga
Icinga Camp Belgrade - State of IcingaIcinga
 
Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2Icinga
 

Viewers also liked (20)

Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them all
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
 
Icinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - Opening
 
Collaborative communication
Collaborative communicationCollaborative communication
Collaborative communication
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with Icinga
 
Icinga 2 and Puppet automate monitoring
Icinga 2 and Puppet  automate monitoringIcinga 2 and Puppet  automate monitoring
Icinga 2 and Puppet automate monitoring
 
Working in and with Open Source Communities
Working in and with Open Source Communities Working in and with Open Source Communities
Working in and with Open Source Communities
 
Icinga Camp Amsterdam - Icinga2 and Puppet
Icinga Camp Amsterdam - Icinga2 and PuppetIcinga Camp Amsterdam - Icinga2 and Puppet
Icinga Camp Amsterdam - Icinga2 and Puppet
 
Icinga Camp Amsterdam - Monitoring – When to start
Icinga Camp Amsterdam - Monitoring – When to startIcinga Camp Amsterdam - Monitoring – When to start
Icinga Camp Amsterdam - Monitoring – When to start
 
Icinga Camp Belgrade - ITAF Introduction
Icinga Camp Belgrade - ITAF IntroductionIcinga Camp Belgrade - ITAF Introduction
Icinga Camp Belgrade - ITAF Introduction
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
 
IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2
 
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
Icinga 2 - Apify them all at Icinga Camp Amsterdam 2016
 
Icinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as Code
 
IcingaCamp Stockholm - How to make your monitoring shut up
IcingaCamp Stockholm - How to make your monitoring shut upIcingaCamp Stockholm - How to make your monitoring shut up
IcingaCamp Stockholm - How to make your monitoring shut up
 
IcingaCamp Stockholm - Opening
IcingaCamp Stockholm - OpeningIcingaCamp Stockholm - Opening
IcingaCamp Stockholm - Opening
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
 
Icinga Camp Belgrade - ITAF Monitoring best practices & demo
Icinga Camp Belgrade - ITAF Monitoring best practices & demoIcinga Camp Belgrade - ITAF Monitoring best practices & demo
Icinga Camp Belgrade - ITAF Monitoring best practices & demo
 
Icinga Camp Belgrade - State of Icinga
Icinga Camp Belgrade - State of IcingaIcinga Camp Belgrade - State of Icinga
Icinga Camp Belgrade - State of Icinga
 
Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2
 

Similar to MoniTutor

Serverless survival kit
Serverless survival kitServerless survival kit
Serverless survival kitSteve Houël
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...VMware Tanzu
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Henning Jacobs
 
Microservices With SenecaJS
Microservices With SenecaJSMicroservices With SenecaJS
Microservices With SenecaJSDesignveloper
 
Rock the activity stream api
Rock the activity stream api Rock the activity stream api
Rock the activity stream api Wannes Rams
 
apidays LIVE New York - Automation API Testing: with Postman collection are ...
apidays LIVE New York -  Automation API Testing: with Postman collection are ...apidays LIVE New York -  Automation API Testing: with Postman collection are ...
apidays LIVE New York - Automation API Testing: with Postman collection are ...apidays
 
NSA for Enterprises Log Analysis Use Cases
NSA for Enterprises   Log Analysis Use Cases NSA for Enterprises   Log Analysis Use Cases
NSA for Enterprises Log Analysis Use Cases WSO2
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementJoel W. King
 
Cisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroCisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroBeMyApp
 
Splunk's api how we built it
Splunk's api   how we built itSplunk's api   how we built it
Splunk's api how we built itGlenn Block
 
CI/CD and TDD in deploying kamailio
CI/CD and TDD in deploying kamailioCI/CD and TDD in deploying kamailio
CI/CD and TDD in deploying kamailioAleksandar Sosic
 
OSMC 2011 | Neues von Icinga by Icinga Team
OSMC 2011 | Neues von Icinga by Icinga TeamOSMC 2011 | Neues von Icinga by Icinga Team
OSMC 2011 | Neues von Icinga by Icinga TeamNETWAYS
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasVMware Tanzu
 
apidays LIVE Paris - Automation API Testing by Guillaume Jeannic
apidays LIVE Paris - Automation API Testing by Guillaume Jeannicapidays LIVE Paris - Automation API Testing by Guillaume Jeannic
apidays LIVE Paris - Automation API Testing by Guillaume Jeannicapidays
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...Hendrik van Run
 
21st Docker Switzerland Meetup - ISTIO
21st Docker Switzerland Meetup - ISTIO21st Docker Switzerland Meetup - ISTIO
21st Docker Switzerland Meetup - ISTIONiklaus Hirt
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...ITCamp
 
Dataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 AmsterdamDataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 AmsterdamLonghow Lam
 

Similar to MoniTutor (20)

Serverless survival kit
Serverless survival kitServerless survival kit
Serverless survival kit
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
 
Microservices With SenecaJS
Microservices With SenecaJSMicroservices With SenecaJS
Microservices With SenecaJS
 
Rock the activity stream api
Rock the activity stream api Rock the activity stream api
Rock the activity stream api
 
apidays LIVE New York - Automation API Testing: with Postman collection are ...
apidays LIVE New York -  Automation API Testing: with Postman collection are ...apidays LIVE New York -  Automation API Testing: with Postman collection are ...
apidays LIVE New York - Automation API Testing: with Postman collection are ...
 
NSA for Enterprises Log Analysis Use Cases
NSA for Enterprises   Log Analysis Use Cases NSA for Enterprises   Log Analysis Use Cases
NSA for Enterprises Log Analysis Use Cases
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud management
 
Cisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroCisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - Intro
 
Splunk's api how we built it
Splunk's api   how we built itSplunk's api   how we built it
Splunk's api how we built it
 
CI/CD and TDD in deploying kamailio
CI/CD and TDD in deploying kamailioCI/CD and TDD in deploying kamailio
CI/CD and TDD in deploying kamailio
 
Eyeing the Web
Eyeing the WebEyeing the Web
Eyeing the Web
 
OSMC 2011 | Neues von Icinga by Icinga Team
OSMC 2011 | Neues von Icinga by Icinga TeamOSMC 2011 | Neues von Icinga by Icinga Team
OSMC 2011 | Neues von Icinga by Icinga Team
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
apidays LIVE Paris - Automation API Testing by Guillaume Jeannic
apidays LIVE Paris - Automation API Testing by Guillaume Jeannicapidays LIVE Paris - Automation API Testing by Guillaume Jeannic
apidays LIVE Paris - Automation API Testing by Guillaume Jeannic
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
 
21st Docker Switzerland Meetup - ISTIO
21st Docker Switzerland Meetup - ISTIO21st Docker Switzerland Meetup - ISTIO
21st Docker Switzerland Meetup - ISTIO
 
IPMA. Istanbul World Congress
IPMA. Istanbul World CongressIPMA. Istanbul World Congress
IPMA. Istanbul World Congress
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
Dataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 AmsterdamDataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 Amsterdam
 

More from Icinga

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

More from Icinga (20)

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

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

MoniTutor

  • 1. Mar 8, 2016 1 / 26 Icinga Camp BerlinIcinga Camp Berlin March 1March 1stst 20162016 Icinga meets education: MoniTutorIcinga meets education: MoniTutor Mark SwillusMark Swillus
  • 2. Camp Berlin 2016Camp Berlin 2016 22Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Motivation Creative use of Icinga Technical details Future of MoniTutor Lessons Learned + Q&A MoniTutor Monitoring madness
  • 3. Camp Berlin 2016Camp Berlin 2016 33Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor FH-Aachen Electrical Engineering and Information Technology Prof. Andreas Claßen IT-Infrastructure, Fault tolerant systems
  • 4. Camp Berlin 2016Camp Berlin 2016 44Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Applying concepts in virtual environment Hands-On lessons Complex problems, scalability, no overview, no state information Lab environment ITSclient ITSserver X.500 LDAP X.500 LDAP Online resources Script Lecture Scenario Hypervisor Student
  • 5. Camp Berlin 2016Camp Berlin 2016 55Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Hands-On lessons Scenario life cycle Basic Setup Server configuration Client config. ✔ Iface.-config ✔ Internet access ✔ Client reaches Server ✔ slapd installed ✔ slapd running ✔ Port 389 listening ✔ ldapsearch xyz successful Milestone1 Milestone2 Milestone3 ✔ libdnss-ldap installed ✔ pam configured ✔ nsswitch configured ✔ Remote-login successful Service-check
  • 6. Camp Berlin 2016Camp Berlin 2016 66Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Hands-On lessons Lab environment ITSclient ITSserver ITSclient ITSserver Lab environment Lab environment ITSclient ITSserver State information Central overview Automated checks Remote access Data repository Interactive help NAT student1 student2 student3
  • 7. Camp Berlin 2016Camp Berlin 2016 77Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor MoniTutor Student Monitoring in workshop environments Multiplatform Supports arbitrary, self-defined scenarios Penetrates firewalls and NAT Completely free and open source
  • 8. Camp Berlin 2016Camp Berlin 2016 88Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Use of Icinga Command pipe (icinga.cmd) Templates (inheritance) Database (DBIDO) Custom vars
  • 9. Camp Berlin 2016Camp Berlin 2016 99Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Icinga & Web2py Define structure (Hosts, Milestones, Checks) Program parameters
  • 10. Camp Berlin 2016Camp Berlin 2016 1010Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor hosts,services Icinga & Web2py Define structure (Hosts, Milestones, Checks) Deploy
  • 11. Camp Berlin 2016Camp Berlin 2016 1111Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Icinga & Web2py Define structure (Hosts, Milestones, Checks) Deploy Monitoring Lab environment Execute Check2 Send result to Icinga3 Deploy Check Program1 Prg1 MoniTutor DB student1 Prg1
  • 12. Camp Berlin 2016Camp Berlin 2016 1212Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Icinga & Web2py Define structure (Hosts, Milestones, Checks) Deployment Monitoring Display progress WebGui / student login1 Extract status2 Reconstruct Structure3 Display4 servicestatus hoststatus
  • 13. Camp Berlin 2016Camp Berlin 2016 1414Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Deployment Scenario / workshop Milestone1 Milestone 2 Check1: Host: “itsserver” Check2: Host: “itsclient” Check3: Host: “itsserver” ... ... Templates (inheritance)
  • 14. Camp Berlin 2016Camp Berlin 2016 1818Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Deployment Templates (inheritance) Icinga Documentation: Apply For and Custom Attribute Override Defining dictionaries. object Host "cisco-catalyst-6509-34" { import "generic-host" display_name = "Catalyst 6509 #34 VIE21" address = "127.0.1.4" /* "GigabitEthernet0/2" is the interface name, * and key name in service apply for later on */ vars.interfaces["GigabitEthernet0/2"] = { /* define all custom attributes with the * same name required for command parameters/arguments * in service apply (look into your CheckCommand definition) */ iftraffic_units = "g" iftraffic_community = IftrafficSnmpCommunity iftraffic_bandwidth = 1 vlan = "internal" qos = "disabled" } vars.interfaces["GigabitEthernet0/4"] = { iftraffic_units = "g" //iftraffic_community = IftrafficSnmpCommunity iftraffic_bandwidth = 1 vlan = "renote" qos = "enabled" } vars.interfaces["MgmtInterface1"] = { iftraffic_community = IftrafficSnmpCommunity vlan = "mgmt" interface_address = "127.99.0.100" #special management ip } } apply Service "if-" for (interface_name => interface_config in host.vars.interfaces) { import "generic-service" check_command = "iftraffic" display_name = "IF-" + interface_name /* use the key as command argument (no duplication of values in host.vars.interfaces) */ vars.iftraffic_interface = interface_name vars.iftraffic_units = interface_config.iftraffic_units vars.iftraffic_community = interface_config.iftraffic_community vars += interface_config if (interface_config.iftraffic_bandwidth == "") { vars.iftraffic_bandwidth = 1 } if (interface_config.vlan == "") { vars.vlan = "not set" } if (len(interface_config.iftraffic_community) == 0 || len(vars.iftraffic_community) == 0) { vars.iftraffic_community = IftrafficSnmpCommunity } notes = "Interface check for " + interface_name + " (units: '" + interface_config.iftraffic_units + "') in VLAN '" + vars.vlan + "' with ' QoS '" + vars.qos + "'" notes_url = "http://foreman.company.com/hosts/" + host.name action_url = "http://snmp.checker.company.com/" + host.name + "/if-" + interface_name }
  • 15. Camp Berlin 2016Camp Berlin 2016 1919Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Deployment Templates (inheritance) Icinga Documnetation: Apply For and Custom Attribute Override Defining dictionaries. ///Created by monitutor template Service "Install_Configure_LDAP_Server" { vars.scenario_milestones["ldap01"] = { display_name = "LDAP Hands-On Lab" hidden = "false" milestones["Install_Configure_LDAP_Server"] = { name = "Install_Configure_LDAP_Server" display_name = "Install & Configure LDAP Server" description = "Basic LDAP Server install & configure steps that students have to do.<br>" order = "0" hidden = false } } }
  • 16. Camp Berlin 2016Camp Berlin 2016 2222Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Deployment Templates (inheritance)paul2 paul2_itsserver monitutor-system + basic host configuration itsserver + itsserver specific configuration Monitutor-check + basic service configuration paul2_Check_ldap_utils_ Package_Installed host service Check_ldap_utils_Package_Installed + check_ldap… specific configuration Install_Configure_LDAP_Server + Milestone Install… specific configuration Dictionary
  • 17. Camp Berlin 2016Camp Berlin 2016 2323Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Deployment
  • 18. Camp Berlin 2016Camp Berlin 2016 2525Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Monitoring Command pipe (icinga.cmd) MoniTutor DB Daemon Init paul2 connect Username, hostname QueueHandler ClientThread Read Write {“user-host”:Priority_Queue()} Send check Interpreter, program, params, servicename /tmp/monitutor Checkprogram?Request code program name Server Client
  • 19. Camp Berlin 2016Camp Berlin 2016 2626Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Monitoring Command pipe (icinga.cmd) MoniTutor DB Daemon Init paul2 QueueHandler ClientThread Read Write {“user-host”:Priority_Queue()} Send code Interpreter, program, params, servicename, code /tmp/monitutor Check Server Client Execute Send Result servicename, output, exit code…. ResultHandler standard libraries only DBIDO Request code program name
  • 20. Camp Berlin 2016Camp Berlin 2016 2727Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Display
  • 21. Camp Berlin 2016Camp Berlin 2016 2929Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Display SELECT c.varname, c.varvalue, h.display_name FROM icinga_customvariables c, icinga_hosts h WHERE object_id = host_object_id AND varname = 'owner' AND varvalue = 'paul2'; varname | varvalue | display_name ---------+----------+-------------- owner | paul2 | ITS Server SELECT c.varname, c.varvalue, h.display_name, s.output, ser.display_name FROM icinga_customvariables c, icinga_hosts h, icinga_servicestatus s , icinga_services ser WHERE c.object_id = h.host_object_id AND h.host_object_id = ser.host_object_id AND ser.service_object_id = s.service_object_id AND c.varname = 'owner' AND c.varvalue = 'paul2'; varname | varvalue | display_name | output | display_name ---------+----------+--------------+-----------------------------------------------+------------------------------------------------ owner | paul2 | ITS Server | PASSED | Check NW Interface Existence eth1 on itsclient owner | paul2 | ITS Server | File /etc/ldap/ldap.conf does not exist (yet) | Check configuration entry BASE on LDAP Server owner | paul2 | ITS Server | File /etc/ldap/ldap.conf does not exist (yet) | Check configuration entry URI on LDAP Server owner | paul2 | ITS Server | PASSED | Check NW Interface Existence eth1 on itsserver owner | paul2 | ITS Server | SW package slapd not installed | Check: slapd SW package installed owner | paul2 | ITS Server | PASSED | Check: ldap-utils SW package installed owner | paul2 | ITS Server | CRITICAL - Host Unreachable (10.0.0.1) | ping4 owner | paul2 | ITS Server | PING OK - Packet loss = 0%, RTA = 0.05 ms | ping6
  • 22. Camp Berlin 2016Camp Berlin 2016 3030Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Display SELECT varname, varvalue FROM icinga_customvariables WHERE varname = 'scenario_milestones' LIMIT 3; varname | varvalue ---------------------+------------------------------------------------------------------------------------------------------------------------ scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr... scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr... scenario_milestones | {"ldap01":{"display_name":"LDAP Hands-On Lab","hidden":"false","milestones":{"Install_Configure_LDAP_Server":{"descr... (3 rows) milestone_queue={} for milestone in milestones: if milestone.get("name") not in milestone_queue: milestone_queue[milestone.get("name")] = {"order": milestone.get("order"), "display_name": milestone.get("display_name"), "description": milestone.get("description"), "hidden": milestone.get("hidden"), "services": []} milestone_queue[milestone.get("name")]["services"].append(service[0].service_id) return dict(milestones=sorted(milestone_queue.items(), key=lambda x: x[1]["order"]))
  • 23. Camp Berlin 2016Camp Berlin 2016 3131Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Future of MoniTutor Further development One semester testing (fault tolerant systems) Release in summer (Free & OpenSource) Other environments Online-Hands-On lessons (?)
  • 24. Camp Berlin 2016Camp Berlin 2016 3232Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Lessons learned
  • 25. Camp Berlin 2016Camp Berlin 2016 3333Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Lessons learned
  • 26. Camp Berlin 2016Camp Berlin 2016 3434Mark Swillus – Icinga meets education: MoniTutorMark Swillus – Icinga meets education: MoniTutor Mark Swillus Student FH Aachen mark.swillus@alumni.fh-aachen.de 0xB2FF4A4C: 40A5 A4F1 D548 6054 4D7F CE08 F22C 2E99 B2FF 4A4C Prof. Dr. Andreas Claßen FH Aachen a.classen@fh-aachen.de Tel.: +49.241.6009 52128