Systemmanagement mit Puppet und Foreman · Systemmanagement mit Puppet und Foreman...

Post on 03-Nov-2019

7 views 0 download

Transcript of Systemmanagement mit Puppet und Foreman · Systemmanagement mit Puppet und Foreman...

Systemmanagement mit Puppet undForemanCeBIT 2015 19. März 2015

Mattias GieseSystem Management & Monitoring Architect

B1 Systems GmbHgiese@b1-systems.de

B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Vorstellung B1 Systems

gegründet 2004primär Linux/Open Source-Themennational & international tätigüber 60 Mitarbeiterunabhängig von Soft- und Hardware-HerstellernLeistungsangebot:

Beratung & ConsultingSupportEntwicklungTrainingBetriebLösungen

dezentrale Strukturen

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 2 / 53

SchwerpunkteVirtualisierung (XEN, KVM & RHEV)Systemmanagement (Spacewalk, Red Hat Satellite, SUSEManager)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 Teamsvor Ort

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 3 / 53

Überblick über verwendete Komponenten

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 4 / 53

Verwendete Komponenten

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 5 / 53

Foreman Kurzvorstellung

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 6 / 53

Foreman 1/2

System Lifecycle Management SoftwareBenutzung via Web-UI/CLI/Restful APImodular aufgebautkann DHCP/DNS/TFTP/Puppet/Puppet CA verwaltenteilweise Support von Chef (Reports)Zukunft: Support von cfengine

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 7 / 53

Foreman 2/2

Provisionierung von virtuellen Maschinen (libvirt, VMWare)Cloud: AWS, OpenStack, GCE, oVirt, RHEVSteuerung von iLO/DRAC/andereinstallierbar auf RHEL/Fedora/Debian/Ubuntu

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 8 / 53

Foreman Architektur

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 9 / 53

Foreman – Komponenten

erweiterbar durch PluginsForeman Discovery: Metal as a ServiceHooks: Beliebigen Code in verschiedenen Phasen ausführen

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 10 / 53

Foreman Discovery

besteht aus zwei TeilenPlugin für Foreman Web-ApplikationLivesystem basierend auf oVirt-Node

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 11 / 53

Foreman GUI: Dashboard

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 12 / 53

Foreman GUI: Hosts Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 13 / 53

Foreman GUI: Hosts Detail

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 14 / 53

Foreman GUI: Puppet Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 15 / 53

Foreman GUI: Puppet Reports Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 16 / 53

Foreman GUI: Puppet Report Detail

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 17 / 53

Foreman GUI: Puppet Classes Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 18 / 53

Icinga Kurzvorstellung

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 19 / 53

Icinga

Fork des Monitoringsystems Nagios (2009)Kompatibel mit Nagios-Konfiguration und Pluginsverbessertes CGI Interface sowie neue Oberfläche Icinga-Webzusätzliche Bugfixes und Features, die nicht in Nagiosaufgenommen wurden

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 20 / 53

Icinga CGI GUI: Services

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 21 / 53

Icinga CGI GUI: Hosts Down

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 22 / 53

Logstash Kurzvorstellung

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 23 / 53

Logstash 1/2

komplette Log-Infrastrukturunterstützt eine Vielzahl von Protokollformaten durch Filtereinfach zu implementieren

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 24 / 53

Logstash 2/2

benutzt Elasticsearch für Datenhaltungskaliert horizontal (Indexer, Elasticsearch, Redis)Kibana3 ist eine sehr flexible GUI zur Visualisierung der Logs

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 25 / 53

Logstash Inputs

file: Normale Dateisyslog: lauscht auf Port 514 und kann somit Ziel von

rsyslog/syslog-ng usw. seinlumberjack: Input für eigenen Transportmechanismus

(logstash-forwarder). . .

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 26 / 53

Logstash Filters

grok: Regexes auf Steroiden. Vorgefertigte Pattern erleichterndie Benutzung von Regex

mutate: Log nachträglich anpassengeoip: z. B. das Land zu einer IP-Adresse im Log herausfinden.

. . .

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 27 / 53

Logstash Outputs

elasticsearch: Empfohlen für Produktiveinsatz (und für Kibana)file: In Datei schreiben

graphite: Output nach Graphite für Graphing. . .

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 28 / 53

Kibana3: Log Search and Filters

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 29 / 53

Kibana3: IRC Log Example

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 30 / 53

Kibana3: Twitter Example mit Geo-IP

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 31 / 53

Puppet Kurzvorstellung

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 32 / 53

Puppet 1/2

KonfigurationsverwaltungssystemEntwicklung seit 2005 durch Puppet Labseine der drei „Großen“ neben cfengine/Chefunterstützt verschiedene Unixe/Linux, WindowsCommunity und Enterprise Variante

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 33 / 53

Puppet 2/2

implementiert eine Modellsprache auf Rubywir beschreiben, was getan werden soll, nicht wieführt nur benötigte Änderungen am System durchabstrahiert Unterschiede zwischenDistributionen/Betriebssystemendynamische Konfiguration basierend auf Hardware/Softwareinfo(facter)

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 34 / 53

Einfaches Manifest

Einfaches Manifestfile{’/etc/myservice.conf’:

ensure => present,content => ’Hallo Welt\n’,owner => ’root’,group => ’root’,mode => ’644’,

}package{’firefox’:

ensure => present,}

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 35 / 53

Abstraktion des Codes

Ressource: Datei, Paket, Dienst, Benutzer, Gruppe, usw.Manifest: Datei mit Endung .pp

enthält ein oder mehrere RessourcenAnwendung: puppet apply myconfig.pp

Klassen bündeln Ressourcen, z.B.: Paket, Datei und DienstModule bündeln Klassen

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 36 / 53

Einfache KlasseEinfache 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 GmbHSystemmanagement mit Puppet und

Foreman 37 / 53

Einstieg in PuppetDB

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 38 / 53

PuppetDB

Data Warehouse für PuppetAblösung für altes storeconfigs KonzeptDeduplizierung der gesammelten Datenbietet Restful-API für AbfragenAnwendungsfall: Exportierte RessourcenWeb-UI: PuppetBoard

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 39 / 53

PuppetDB

Exportierte Ressourcen am Beispiel von MonitoringRessourcen werden auf den zu überwachenden Systemeneingesammelt (exportiert)exportierte Ressourcen werden in PuppetDB gespeichertexportierte Ressourcen werden dann auf dem Monitoringsystem(Icinga) angewendet

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 40 / 53

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 GmbHSystemmanagement mit Puppet und

Foreman 41 / 53

PuppetDB

Anwenden der exportierten Ressourcen# Collect all exported monitoring resourcesif $::monitoring_server == $::fqdn {

Nagios_Host<<| |>> {}Nagios_Service<<| |>> {}

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 42 / 53

Beispielabfragen

BeispielabfragenAlle 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 GmbHSystemmanagement mit Puppet und

Foreman 43 / 53

PuppetDB Dashboard 1/2

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 44 / 53

PuppetDB Dashboard 2/2

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 45 / 53

Spacewalk Kurzvorstellung

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 46 / 53

Spacewalk Kurzvorstellung

System Lifecycle Management Software (2002)Grundlage für RH Satellite bis 5.x und SUSE Managerseit 2008 offenes Software Projekt (GPL2)unterstützt RHEL/SUSE (und Derivate), teilweiseDebian/Ubuntu (nur Softwareverwaltung)

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 47 / 53

Spacewalk Features 1/2

Provisionierung von Systemen (Anbindung an Cobbler)Steuerung von Hypervisoren (KVM/Xen)Softwaremanagement mit ChannelstrukturStaging (Einfrieren bestimmter Versionsstände)einfache KonfigurationsverwaltungAusführung von Skripten auf verwalteten Maschinen

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 48 / 53

Spacewalk Features 2/2

zeitgesteuerte Ausführung von AufgabenMonitoring„Verwaltung“ von Crashes (abrt)OpenSCAP Einbindung (Software-Auditing)Bedienung durch Web-UI/CLI/XMLRPC-API

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 49 / 53

Spacewalk: GUI Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 50 / 53

Spacewalk: System Details

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 51 / 53

Spacewalk: Channel Overview

B1 Systems GmbHSystemmanagement mit Puppet und

Foreman 52 / 53

Vielen Dank für Ihre Aufmerksamkeit!

Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.deoder +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