Systemmanagement mit Puppet und
Foreman
CeBIT 2015 19. März 2015
Mattias Giese
System Management & Monitoring Architect
B1...
Vorstellung B1 Systems
gegründet 2004
primär Linux/Open Source-Themen
national & international tätig
über 60 Mitarbeiter
u...
Schwerpunkte
Virtualisierung (XEN, KVM & RHEV)
Systemmanagement (Spacewalk, Red Hat Satellite, SUSE
Manager)
Konfigurations...
Überblick über verwendete Komponenten
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 4 / 53
Verwendete Komponenten
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 5 / 53
Foreman Kurzvorstellung
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 6 / 53
Foreman 1/2
System Lifecycle Management Software
Benutzung via Web-UI/CLI/Restful API
modular aufgebaut
kann DHCP/DNS/TFTP...
Foreman 2/2
Provisionierung von virtuellen Maschinen (libvirt, VMWare)
Cloud: AWS, OpenStack, GCE, oVirt, RHEV
Steuerung v...
Foreman Architektur
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 9 / 53
Foreman – Komponenten
erweiterbar durch Plugins
Foreman Discovery: Metal as a Service
Hooks: Beliebigen Code in verschiede...
Foreman Discovery
besteht aus zwei Teilen
Plugin für Foreman Web-Applikation
Livesystem basierend auf oVirt-Node
B1 System...
Foreman GUI: Dashboard
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 12 / 53
Foreman GUI: Hosts Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 13 / 53
Foreman GUI: Hosts Detail
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 14 / 53
Foreman GUI: Puppet Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 15 / 53
Foreman GUI: Puppet Reports Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 16 / 53
Foreman GUI: Puppet Report Detail
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 17 / 53
Foreman GUI: Puppet Classes Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 18 / 53
Icinga Kurzvorstellung
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 19 / 53
Icinga
Fork des Monitoringsystems Nagios (2009)
Kompatibel mit Nagios-Konfiguration und Plugins
verbessertes CGI Interface ...
Icinga CGI GUI: Services
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 21 / 53
Icinga CGI GUI: Hosts Down
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 22 / 53
Logstash Kurzvorstellung
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 23 / 53
Logstash 1/2
komplette Log-Infrastruktur
unterstützt eine Vielzahl von Protokollformaten durch Filter
einfach zu implement...
Logstash 2/2
benutzt Elasticsearch für Datenhaltung
skaliert horizontal (Indexer, Elasticsearch, Redis)
Kibana3 ist eine s...
Logstash Inputs
file: Normale Datei
syslog: lauscht auf Port 514 und kann somit Ziel von
rsyslog/syslog-ng usw. sein
lumber...
Logstash Filters
grok: Regexes auf Steroiden. Vorgefertigte Pattern erleichtern
die Benutzung von Regex
mutate: Log nachtr...
Logstash Outputs
elasticsearch: Empfohlen für Produktiveinsatz (und für Kibana)
file: In Datei schreiben
graphite: Output n...
Kibana3: Log Search and Filters
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 29 / 53
Kibana3: IRC Log Example
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 30 / 53
Kibana3: Twitter Example mit Geo-IP
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 31 / 53
Puppet Kurzvorstellung
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 32 / 53
Puppet 1/2
Konfigurationsverwaltungssystem
Entwicklung seit 2005 durch Puppet Labs
eine der drei „Großen“ neben cfengine/Ch...
Puppet 2/2
implementiert eine Modellsprache auf Ruby
wir beschreiben, was getan werden soll, nicht wie
führt nur benötigte...
Einfaches Manifest
Einfaches Manifest
file{’/etc/myservice.conf’:
ensure => present,
content => ’Hallo Weltn’,
owner => ’r...
Abstraktion des Codes
Ressource: Datei, Paket, Dienst, Benutzer, Gruppe, usw.
Manifest: Datei mit Endung .pp
enthält ein o...
Einfache Klasse
Einfache Klasse
class sshserver() {
package{’openssh’:
ensure => present,
}
file{’/etc/ssh/sshd_config’:
e...
Einstieg in PuppetDB
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 38 / 53
PuppetDB
Data Warehouse für Puppet
Ablösung für altes storeconfigs Konzept
Deduplizierung der gesammelten Daten
bietet Rest...
PuppetDB
Exportierte Ressourcen am Beispiel von Monitoring
Ressourcen werden auf den zu überwachenden Systemen
eingesammel...
PuppetDB
Exportierte Nagios Host Ressource
@@nagios_host{"nagios_${::hostname}":
ensure => present,
address => "$::ipaddre...
PuppetDB
Anwenden der exportierten Ressourcen
# Collect all exported monitoring resources
if $::monitoring_server == $::fq...
Beispielabfragen
Beispielabfragen
Alle Nodes mit Debian
["and",
["=", "name", "operatingsystem"],
["=", "value", "Debian"]...
PuppetDB Dashboard 1/2
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 44 / 53
PuppetDB Dashboard 2/2
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 45 / 53
Spacewalk Kurzvorstellung
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 46 / 53
Spacewalk Kurzvorstellung
System Lifecycle Management Software (2002)
Grundlage für RH Satellite bis 5.x und SUSE Manager
...
Spacewalk Features 1/2
Provisionierung von Systemen (Anbindung an Cobbler)
Steuerung von Hypervisoren (KVM/Xen)
Softwarema...
Spacewalk Features 2/2
zeitgesteuerte Ausführung von Aufgaben
Monitoring
„Verwaltung“ von Crashes (abrt)
OpenSCAP Einbindu...
Spacewalk: GUI Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 50 / 53
Spacewalk: System Details
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 51 / 53
Spacewalk: Channel Overview
B1 Systems GmbH
Systemmanagement mit Puppet und
Foreman 52 / 53
Vielen Dank für Ihre Aufmerksamkeit!
Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de
oder +49 (0)8457 - 93...
Nächste SlideShare
Wird geladen in …5
×

Systemmanagement mit Puppet und Foreman

537 Aufrufe

Veröffentlicht am

Systemmanagement mit Puppet und Foreman

Veröffentlicht in: Software
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
537
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
17
Aktionen
Geteilt
0
Downloads
11
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Systemmanagement mit Puppet und Foreman

  1. 1. Systemmanagement mit Puppet und Foreman CeBIT 2015 19. März 2015 Mattias Giese System Management & Monitoring Architect B1 Systems GmbH giese@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development
  2. 2. Vorstellung B1 Systems gegründet 2004 primär Linux/Open Source-Themen national & international tätig über 60 Mitarbeiter unabhängig von Soft- und Hardware-Herstellern Leistungsangebot: Beratung & Consulting Support Entwicklung Training Betrieb Lösungen dezentrale Strukturen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 2 / 53
  3. 3. Schwerpunkte Virtualisierung (XEN, KVM & RHEV) Systemmanagement (Spacewalk, Red Hat Satellite, SUSE Manager) Konfigurationsmanagement (Puppet & Chef) Monitoring (Nagios & Icinga) IaaS Cloud (OpenStack & SUSE Cloud & RDO) Hochverfügbarkeit (Pacemaker) Shared Storage (GPFS, OCFS2, DRBD & CEPH) Dateiaustausch (ownCloud) Paketierung (Open Build Service) Administratoren oder Entwickler zur Unterstützung des Teams vor Ort B1 Systems GmbH Systemmanagement mit Puppet und Foreman 3 / 53
  4. 4. Überblick über verwendete Komponenten B1 Systems GmbH Systemmanagement mit Puppet und Foreman 4 / 53
  5. 5. Verwendete Komponenten B1 Systems GmbH Systemmanagement mit Puppet und Foreman 5 / 53
  6. 6. Foreman Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 6 / 53
  7. 7. Foreman 1/2 System Lifecycle Management Software Benutzung via Web-UI/CLI/Restful API modular aufgebaut kann DHCP/DNS/TFTP/Puppet/Puppet CA verwalten teilweise Support von Chef (Reports) Zukunft: Support von cfengine B1 Systems GmbH Systemmanagement mit Puppet und Foreman 7 / 53
  8. 8. Foreman 2/2 Provisionierung von virtuellen Maschinen (libvirt, VMWare) Cloud: AWS, OpenStack, GCE, oVirt, RHEV Steuerung von iLO/DRAC/andere installierbar auf RHEL/Fedora/Debian/Ubuntu B1 Systems GmbH Systemmanagement mit Puppet und Foreman 8 / 53
  9. 9. Foreman Architektur B1 Systems GmbH Systemmanagement mit Puppet und Foreman 9 / 53
  10. 10. Foreman – Komponenten erweiterbar durch Plugins Foreman Discovery: Metal as a Service Hooks: Beliebigen Code in verschiedenen Phasen ausführen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 10 / 53
  11. 11. Foreman Discovery besteht aus zwei Teilen Plugin für Foreman Web-Applikation Livesystem basierend auf oVirt-Node B1 Systems GmbH Systemmanagement mit Puppet und Foreman 11 / 53
  12. 12. Foreman GUI: Dashboard B1 Systems GmbH Systemmanagement mit Puppet und Foreman 12 / 53
  13. 13. Foreman GUI: Hosts Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 13 / 53
  14. 14. Foreman GUI: Hosts Detail B1 Systems GmbH Systemmanagement mit Puppet und Foreman 14 / 53
  15. 15. Foreman GUI: Puppet Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 15 / 53
  16. 16. Foreman GUI: Puppet Reports Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 16 / 53
  17. 17. Foreman GUI: Puppet Report Detail B1 Systems GmbH Systemmanagement mit Puppet und Foreman 17 / 53
  18. 18. Foreman GUI: Puppet Classes Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 18 / 53
  19. 19. Icinga Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 19 / 53
  20. 20. Icinga Fork des Monitoringsystems Nagios (2009) Kompatibel mit Nagios-Konfiguration und Plugins verbessertes CGI Interface sowie neue Oberfläche Icinga-Web zusätzliche Bugfixes und Features, die nicht in Nagios aufgenommen wurden B1 Systems GmbH Systemmanagement mit Puppet und Foreman 20 / 53
  21. 21. Icinga CGI GUI: Services B1 Systems GmbH Systemmanagement mit Puppet und Foreman 21 / 53
  22. 22. Icinga CGI GUI: Hosts Down B1 Systems GmbH Systemmanagement mit Puppet und Foreman 22 / 53
  23. 23. Logstash Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 23 / 53
  24. 24. Logstash 1/2 komplette Log-Infrastruktur unterstützt eine Vielzahl von Protokollformaten durch Filter einfach zu implementieren B1 Systems GmbH Systemmanagement mit Puppet und Foreman 24 / 53
  25. 25. Logstash 2/2 benutzt Elasticsearch für Datenhaltung skaliert horizontal (Indexer, Elasticsearch, Redis) Kibana3 ist eine sehr flexible GUI zur Visualisierung der Logs B1 Systems GmbH Systemmanagement mit Puppet und Foreman 25 / 53
  26. 26. Logstash Inputs file: Normale Datei syslog: lauscht auf Port 514 und kann somit Ziel von rsyslog/syslog-ng usw. sein lumberjack: Input für eigenen Transportmechanismus (logstash-forwarder) . . . B1 Systems GmbH Systemmanagement mit Puppet und Foreman 26 / 53
  27. 27. Logstash Filters grok: Regexes auf Steroiden. Vorgefertigte Pattern erleichtern die Benutzung von Regex mutate: Log nachträglich anpassen geoip: z. B. das Land zu einer IP-Adresse im Log herausfinden. . . . B1 Systems GmbH Systemmanagement mit Puppet und Foreman 27 / 53
  28. 28. Logstash Outputs elasticsearch: Empfohlen für Produktiveinsatz (und für Kibana) file: In Datei schreiben graphite: Output nach Graphite für Graphing . . . B1 Systems GmbH Systemmanagement mit Puppet und Foreman 28 / 53
  29. 29. Kibana3: Log Search and Filters B1 Systems GmbH Systemmanagement mit Puppet und Foreman 29 / 53
  30. 30. Kibana3: IRC Log Example B1 Systems GmbH Systemmanagement mit Puppet und Foreman 30 / 53
  31. 31. Kibana3: Twitter Example mit Geo-IP B1 Systems GmbH Systemmanagement mit Puppet und Foreman 31 / 53
  32. 32. Puppet Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 32 / 53
  33. 33. Puppet 1/2 Konfigurationsverwaltungssystem Entwicklung seit 2005 durch Puppet Labs eine der drei „Großen“ neben cfengine/Chef unterstützt verschiedene Unixe/Linux, Windows Community und Enterprise Variante B1 Systems GmbH Systemmanagement mit Puppet und Foreman 33 / 53
  34. 34. Puppet 2/2 implementiert eine Modellsprache auf Ruby wir beschreiben, was getan werden soll, nicht wie führt nur benötigte Änderungen am System durch abstrahiert Unterschiede zwischen Distributionen/Betriebssystemen dynamische Konfiguration basierend auf Hardware/Softwareinfo (facter) B1 Systems GmbH Systemmanagement mit Puppet und Foreman 34 / 53
  35. 35. Einfaches Manifest Einfaches Manifest file{’/etc/myservice.conf’: ensure => present, content => ’Hallo Weltn’, owner => ’root’, group => ’root’, mode => ’644’, } package{’firefox’: ensure => present, } B1 Systems GmbH Systemmanagement mit Puppet und Foreman 35 / 53
  36. 36. Abstraktion des Codes Ressource: Datei, Paket, Dienst, Benutzer, Gruppe, usw. Manifest: Datei mit Endung .pp enthält ein oder mehrere Ressourcen Anwendung: puppet apply myconfig.pp Klassen bündeln Ressourcen, z.B.: Paket, Datei und Dienst Module bündeln Klassen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 36 / 53
  37. 37. Einfache Klasse Einfache Klasse class sshserver() { package{’openssh’: ensure => present, } file{’/etc/ssh/sshd_config’: ensure => present, source => puppet:///sshd_config, [...] notify => Service[’sshd’], require => Package[’openssh’], } service{’sshd’, ensure => running, enable => true, } } B1 Systems GmbH Systemmanagement mit Puppet und Foreman 37 / 53
  38. 38. Einstieg in PuppetDB B1 Systems GmbH Systemmanagement mit Puppet und Foreman 38 / 53
  39. 39. PuppetDB Data Warehouse für Puppet Ablösung für altes storeconfigs Konzept Deduplizierung der gesammelten Daten bietet Restful-API für Abfragen Anwendungsfall: Exportierte Ressourcen Web-UI: PuppetBoard B1 Systems GmbH Systemmanagement mit Puppet und Foreman 39 / 53
  40. 40. PuppetDB Exportierte Ressourcen am Beispiel von Monitoring Ressourcen werden auf den zu überwachenden Systemen eingesammelt (exportiert) exportierte Ressourcen werden in PuppetDB gespeichert exportierte Ressourcen werden dann auf dem Monitoringsystem (Icinga) angewendet B1 Systems GmbH Systemmanagement mit Puppet und Foreman 40 / 53
  41. 41. PuppetDB Exportierte Nagios Host Ressource @@nagios_host{"nagios_${::hostname}": ensure => present, address => "$::ipaddress", host_name => "$::fqdn", check_command => ’check_ping!100.0,20%!500.0,60%’, display_name => "$::fqdn", max_check_attempts => ’3’, use => ’generic-host’, target => "/etc/icinga/conf.d/service_ssh_${::hostname}.cfg", } B1 Systems GmbH Systemmanagement mit Puppet und Foreman 41 / 53
  42. 42. PuppetDB Anwenden der exportierten Ressourcen # Collect all exported monitoring resources if $::monitoring_server == $::fqdn { Nagios_Host<<| |>> { } Nagios_Service<<| |>> { } B1 Systems GmbH Systemmanagement mit Puppet und Foreman 42 / 53
  43. 43. Beispielabfragen Beispielabfragen Alle Nodes mit Debian ["and", ["=", "name", "operatingsystem"], ["=", "value", "Debian"]] Uptime zwischen ca. 28h und ca. 12d ["and", ["=", "name", "uptime_seconds"], [">=", "value", 100000], ["<", "value", 1000000]] B1 Systems GmbH Systemmanagement mit Puppet und Foreman 43 / 53
  44. 44. PuppetDB Dashboard 1/2 B1 Systems GmbH Systemmanagement mit Puppet und Foreman 44 / 53
  45. 45. PuppetDB Dashboard 2/2 B1 Systems GmbH Systemmanagement mit Puppet und Foreman 45 / 53
  46. 46. Spacewalk Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 46 / 53
  47. 47. Spacewalk Kurzvorstellung System Lifecycle Management Software (2002) Grundlage für RH Satellite bis 5.x und SUSE Manager seit 2008 offenes Software Projekt (GPL2) unterstützt RHEL/SUSE (und Derivate), teilweise Debian/Ubuntu (nur Softwareverwaltung) B1 Systems GmbH Systemmanagement mit Puppet und Foreman 47 / 53
  48. 48. Spacewalk Features 1/2 Provisionierung von Systemen (Anbindung an Cobbler) Steuerung von Hypervisoren (KVM/Xen) Softwaremanagement mit Channelstruktur Staging (Einfrieren bestimmter Versionsstände) einfache Konfigurationsverwaltung Ausführung von Skripten auf verwalteten Maschinen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 48 / 53
  49. 49. Spacewalk Features 2/2 zeitgesteuerte Ausführung von Aufgaben Monitoring „Verwaltung“ von Crashes (abrt) OpenSCAP Einbindung (Software-Auditing) Bedienung durch Web-UI/CLI/XMLRPC-API B1 Systems GmbH Systemmanagement mit Puppet und Foreman 49 / 53
  50. 50. Spacewalk: GUI Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 50 / 53
  51. 51. Spacewalk: System Details B1 Systems GmbH Systemmanagement mit Puppet und Foreman 51 / 53
  52. 52. Spacewalk: Channel Overview B1 Systems GmbH Systemmanagement mit Puppet und Foreman 52 / 53
  53. 53. Vielen Dank für Ihre Aufmerksamkeit! Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de oder +49 (0)8457 - 931096. Besuchen Sie uns auch hier auf der CeBIT, Halle 6, H16/312. B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development

×