• Save
Icinga mit Puppet  - Hamburg 2013
Upcoming SlideShare
Loading in...5
×
 

Icinga mit Puppet - Hamburg 2013

on

  • 508 views

Configuring Icinga using Puppet @ Monitoring Workshop Hamburg

Configuring Icinga using Puppet @ Monitoring Workshop Hamburg

Statistics

Views

Total Views
508
Views on SlideShare
508
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Icinga mit Puppet  - Hamburg 2013 Icinga mit Puppet - Hamburg 2013 Presentation Transcript

    • 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