SlideShare ist ein Scribd-Unternehmen logo
1 von 29
www.netways.de
Lennart Betz
20.06.2013 | Nagios Workshop 2013
Puppet konfiguriert Nagios und Icinga
Kurzvorstellung
www.netways.de
Bucklige Brotspinne
www.netways.de
Kurzvorstellung
Lennart Betz
40 Jahre
Dipl.-Math. Leibniz Universität Hannover
seit Mai 2011 bei Netways
IT Historie
Commodore 64
Slackware 1.0.1 (August 1993, 40 Disketten)
Winter Games Biathlon 1:36
www.netways.de
Puppet Camp München 2013
28. November 2013
Barcamp für Puppet Admins
www.netways.de/puppetcamp
Open Source Monitoring Conference
23. – 24. Oktober 2013
Veranstalter der Open Source Monitoring
Conference
Teilnehmer 2012: 260
2 Tracks mit Vorträgen & Workshops
NETWAYS Konferenzen
Warum Puppet?
www.netways.de
Werkzeug zum Konfigurationsmanagement
Reflektion der eigenen Arbeitsweisen
Alle Systeme sind gleich?
Abstraktionsschicht
Wer ist eigentlich dieser Puppet?
www.netways.de
manuelle Konfiguration
Golden Images
Software Pakete
eigene Skriptsammlung
Warum Puppet?
www.netways.de
#! /bin/sh
USER=$1; GROUP=$2; HOME=$3
if [ 0 -ne $(getent passwd $USER > /dev/null)$? ]
then useradd $USER --home $HOME --gid $GROUP -n; fi
OLDGID=`getent passwd $USER | awk -F: '{print $4}'`
OLDGROUP=`getent group $OLDGID | awk -F: '{print $1}'`
OLDHOME=`getent passwd $USER | awk -F: '{print $6}'`
if [ "$GROUP" != "$OLDGID" ] && [ "$GROUP" != "$OLDGROUP" ]
then usermod --gid $GROUP $USER; fi
if [ "$HOME" != "$OLDHOME" ]
then usermod --home $HOME $USER; fi
Warum Puppet, ein Skript tuts auch!
www.netways.de
user {'gonzo':
ensure => present,
gid => 'sysadmin',
home => '/home/elmo',
managehome => true,
}
Puppet…
www.netways.de
Abstraktion
Portabilität (Linux, Solaris, BSD, …)
Integrität
Reproduzierbarkeit
Konsistenz
Automation
Fortführung von Provisionierung
Reduktion
Arbeitsaufwand
Zeit
Warum Puppet?
Monitoring?
www.netways.de
Alles in einem Schritt
Verkürzung der Kommunikationswege
Monitoring?
Puppetrundgang
www.netways.de
Funktionsweise
www.netways.de
Definition
Resourcen werden erst definiert
class apache {
package { ‘apache‘: }
}
Deklaration
und danach je Knoten deklariert
node ‘host1.local‘ {
include apache
oder
class { ‘apache‘: }
}
Funktionsweise
www.netways.de
Typen
Package
Service
File
User/Group
Exec
…
nagios_host, nagios_service, …
Provider
ein Typ kann mehrere Provider haben
Resources
www.netways.de
Types und Providers
www.netways.de
Klasse
Ansammlung von Resources
Module
mehrere Klassen zusammengefasst
Manifest
Menge von Modulen
Das Kapital
www.netways.de
require, before
notify, subscribe
package { ‘icinga‘: ensure => present }
File { ‘/etc/icinga/icinga.cfg‘:
ensure => file,
content => ‘….‘,
require => Package[‘icinga‘],
}
Service { ‘icinga‘:
ensure => running,
…
subscribe => File[‘/etc/icinga/icinga.cfg‘],
}
Abhängigkeiten
www.netways.de
Klassen lassen sich je Knoten nur einmal deklarieren
deshalb defined Resources
defined apache::vhost (
$docroot,
$options = “Indexes MultiViews“
) {
ensure => present,
file { ‘/etc/apache2/vhostd.d/$name.conf‘:
…
}
Defined Resources
www.netways.de
Definition ohne sofortige Ausführung
Realisierung erfolgt zu selbstgewählten Zeitpunkt
Realisierung auch mit Bedingungen
@user { ‘gonzo‘:
groups => [ ‘sysadmin‘, ‘user‘ ],
}
User <| groups == “sysadmin“ |> { ensure => present }
Virtuelle Resources
www.netways.de
Virtuelle Resources, nur knotenübergreifend
Benötigt Stored Configuration
Backends
SQLite3
MySQL
Postgres
PuppetDB
Exported Resources
Icinga Modul
www.netways.de
Modul
Kleines Beispiel
Live Demo
Fragen?
www.netways.de
NETWAYS GmbH
Deutschherrnstrasse 15-19
90429 Nürnberg
Tel: +49 911 92885-0
Fax: +49 911 92885-77
Email: info@netways.de
Twitter: twitter.com/netways
Blog: blog.netways.de
?Fragen und
Antworten

Weitere ähnliche Inhalte

Ähnlich wie Icinga mit Puppet - Hamburg 2013

Puppet - Entwicklungsworkflow und Basismodule
Puppet - Entwicklungsworkflow und BasismodulePuppet - Entwicklungsworkflow und Basismodule
Puppet - Entwicklungsworkflow und Basismoduleinovex GmbH
 
Puppet und OpenStack - Ein gutes Team
Puppet und OpenStack - Ein gutes TeamPuppet und OpenStack - Ein gutes Team
Puppet und OpenStack - Ein gutes TeamNETWAYS
 
OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013NETWAYS
 
Tk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneuTk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneuWerner Fischer
 
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)NETWAYS
 
Multithreading in c# mit tpl
Multithreading in c# mit tplMultithreading in c# mit tpl
Multithreading in c# mit tplDavidT27
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Python Mike Müller
Python Mike MüllerPython Mike Müller
Python Mike MüllerAberla
 
Linux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisierenLinux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisierenChristian Kauhaus
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppetinovex GmbH
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeFrank Müller
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)NETWAYS
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael StrebNagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael StrebNETWAYS
 
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)nwilbert
 
OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013NETWAYS
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 

Ähnlich wie Icinga mit Puppet - Hamburg 2013 (20)

Puppet - Entwicklungsworkflow und Basismodule
Puppet - Entwicklungsworkflow und BasismodulePuppet - Entwicklungsworkflow und Basismodule
Puppet - Entwicklungsworkflow und Basismodule
 
Puppet und OpenStack - Ein gutes Team
Puppet und OpenStack - Ein gutes TeamPuppet und OpenStack - Ein gutes Team
Puppet und OpenStack - Ein gutes Team
 
OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013
 
Tk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneuTk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneu
 
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
 
Multithreading in c# mit tpl
Multithreading in c# mit tplMultithreading in c# mit tpl
Multithreading in c# mit tpl
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Python Mike Müller
Python Mike MüllerPython Mike Müller
Python Mike Müller
 
Linux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisierenLinux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisieren
 
Einführung in Puppet
Einführung in PuppetEinführung in Puppet
Einführung in Puppet
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare Systeme
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael StrebNagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
 
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
Python in Computational Neuroscience & Modular toolkit for Data Processing (MDP)
 
OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 

Icinga mit Puppet - Hamburg 2013