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

Like this? Share it with your network

Share

Icinga mit Puppet - Hamburg 2013

  • 659 views
Uploaded on

Configuring Icinga using Puppet @ Monitoring Workshop Hamburg

Configuring Icinga using Puppet @ Monitoring Workshop Hamburg

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
659
On Slideshare
659
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. www.netways.de Lennart Betz 20.06.2013 | Nagios Workshop 2013 Puppet konfiguriert Nagios und Icinga
  • 2. Kurzvorstellung
  • 3. www.netways.de Bucklige Brotspinne
  • 4. 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
  • 5. 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
  • 6. Warum Puppet?
  • 7. www.netways.de Werkzeug zum Konfigurationsmanagement Reflektion der eigenen Arbeitsweisen Alle Systeme sind gleich? Abstraktionsschicht Wer ist eigentlich dieser Puppet?
  • 8. www.netways.de manuelle Konfiguration Golden Images Software Pakete eigene Skriptsammlung Warum Puppet?
  • 9. 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!
  • 10. www.netways.de user {'gonzo': ensure => present, gid => 'sysadmin', home => '/home/elmo', managehome => true, } Puppet…
  • 11. www.netways.de Abstraktion Portabilität (Linux, Solaris, BSD, …) Integrität Reproduzierbarkeit Konsistenz Automation Fortführung von Provisionierung Reduktion Arbeitsaufwand Zeit Warum Puppet?
  • 12. Monitoring?
  • 13. www.netways.de Alles in einem Schritt Verkürzung der Kommunikationswege Monitoring?
  • 14. Puppetrundgang
  • 15. www.netways.de Funktionsweise
  • 16. 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
  • 17. www.netways.de Typen Package Service File User/Group Exec … nagios_host, nagios_service, … Provider ein Typ kann mehrere Provider haben Resources
  • 18. www.netways.de Types und Providers
  • 19. www.netways.de Klasse Ansammlung von Resources Module mehrere Klassen zusammengefasst Manifest Menge von Modulen Das Kapital
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. www.netways.de Virtuelle Resources, nur knotenübergreifend Benötigt Stored Configuration Backends SQLite3 MySQL Postgres PuppetDB Exported Resources
  • 24. Icinga Modul
  • 25. www.netways.de Modul Kleines Beispiel
  • 26. Live Demo
  • 27. Fragen?
  • 28. 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