Icon Rufen Sie uns an
+49 441.309197-69 +49 441.309197-69
 
DE

bytemine Infrastruktur - Teil 2

Posted by Daniel Rauer on Monday, August 12, 2013

Dies ist der zweite Teil unserer Serie über verlässliche Infrastruktur, den ersten Teil finden Sie hier: bytemine Infrastruktur - Teil 1 Im ersten Teil konzentrierten wir uns auf den Unterbau unserer Infrastruktur (und in vielen Fällen auch der unserer Kunden): Es werden vornehmlich Server von Dell verwendet, als Virtualisierungstechnik kommt KVM zum Einsatz und als Monitoringtool verwenden wir Icinga.

Puppet labs Logo Puppet Status Ausschnitt Im Jahr 2010 haben wir Puppet zur Automatisierung und Verwaltung eingeführt. Seitdem wird möglichst jede Server-Ausstattung und jeder Dienst per Puppet ausgerollt und konfiguriert; wo nötig und sinnvoll wird Software eigens paketiert und per Puppet verteilt.
Die Verwendung eines Automatisierungstools hat dabei verschiedene Vorteile: Zunächst wird der Zeitaufwand für wiederkehrende Aufgaben, sowohl beim Einrichten eines Dienstes als auch bei Änderungen die auf mehreren Servern vollzogen werden sollen, reduziert. Noch wichtiger ist jedoch, dass eine Vereinheitlichung der Umgebungen erreicht wird: Gleiche Dienste werden identisch aufgesetzt und Konfigurationen immer am gleichen Ort abgelegt. So findet man sich schnell auf jedem System zurecht, und im Team definierte Standards werden eingehalten.

collectd Logo Zur Analyse von Performancemetriken setzen wir auf collectd: Die Plugin Architektur mit einer Vielzahl verfügbarer Erweiterungen sowie diverse Frontends erlauben einen sehr flexiblen Einsatz. Besonders im Zusammenspiel mit Puppet ist es sehr schnell um neue Systeme erweitert und stellt sofort Daten für Standardmetriken wie Datendurchsatz von Festplatten und Netzwerkschnittstellen, CPU Auslastung, Dateisystembelegung und vielem mehr bereit. Darüber hinaus lassen sich einfach weitere Metriken z.B. zu speziellen Anwendungen hinzufügen, hier ein Beispiel um Statistiken eines ActiveMQ brokers abzufragen: collectd und ActiveMQ

Cockpit Screenshot Mit der Zeit wächst die Anzahl an Werkzeugen, welche die Administration erleichtern. Für unsere tägliche Arbeit verwenden wir verschiedene Werkzeuge z.B. zur Leistungsmessung, zur Ueberwachung oder zur Log-Erfassung. Die meisten sind webbasiert, so dass es sinnvoll war, eine eigene Anwendung zur Übersichtsgewinnung und als zentralen Einstiegspunkt zu entwickeln. Diese haben wir "Cockpit" genannt und erfolgreich bei uns und einigen Kunden im Einsatz.
Die Cockpit-Anwendung liefert auf einen Blick Statusinformationen unseres Icinga, unbearbeitete Tickets aus unserem Request Tracker, sowie Links zu allen Werkzeugen welche zur Analyse bei Problemen hilfreich sind. Weiterhin ist eine einfache Suche und Anzeige von collectd-Graphen eingebaut: Ajax basiert kann aus der Liste an Hosts einer ausgewählt werden, anschließend wird der gewünschte Parameter gewählt (CPU, Datendurchsatz, etc) und sofort wird der entsprechende Graph angezeigt.