Gerade mal 4 Monate sind seit eploer 1.1.0 vergangen, und wenig mehr als 7 Monate seit unserer ersten stabilen Release. Der Icinga Director reifte schnell, und aus einem kleinen Icinga Web 2 Modul ist mittlerweile ein ziemlich großes Projekt erwachsen. Gestern haben wir die Version 1.2.0 freigegeben, vollgestopft mit neuen Features, Bugfixes und Usability-Verbesserungen.
Berechtigungen
Dies ist die erste Release mit offizieller Unterstützung für Berechtigungen. Die Aufgabe eines Icinga-Administrator ist es, Commands, Service- und Host-Vorlagen zu definieren und eventuell alle Schritte von Import/Sync bis zum Deployment der Konfiguration zu automatisieren. Hier setzt der Director an, er ist zuallererst ein mächtiges Automatisierungstool.
Viele wenn nicht gar die meisten Umgebungen haben aber dennoch immer noch so einige Aufgaben die sich schwer automatisieren lassen. Wer kennt nicht den Mitarbeiter der sich zweimal am Tag umentscheidet, ob den nun der Schwellwert für seine seit Monaten volle Platte bei 99,9 oder doch besser bei 99,8% liegen soll. Stehen gerade 3000 neue Router an, die (nachdem jeweils ein Ticket erstellt wurde) im Laufe der nächsten Monate überwacht werden sollen? Diese Aufgaben sind prädestiniert dafür, an andere delegiert zu werden!
Konfigurationsvorschau, Core API inspection oder das Auditlog können sensible Informationen beinhalten. Solcherlei Berechtigungen gibt man also besser nur denen, die sie wirklich brauchen. Soll ein Auditor alle Änderungen sehen aber keinen administrativen Zugang erhalten? Auch das ist jetzt möglich. Alle Aktivitäten lassen sich jetzt außerdem zusätzlich ins Syslog schreiben, für den Fall dass man es anderweitig archivieren möchte.
Performance
Das Rendern der Konfiguration wurde enorm beschleunigt. In großen Live-Umgebungen benötigt das Deployment nur noch ein Fünftel der ursprünglichen Zeit. Eine mir bekannte Umgebung konnte heute übrigens ihr tausendstes (automatisiertes) Director-basiertes Deployment feiern. Das Ganze bei mehr als einer halben Million Einzeländerungen im Aktivitätslog.
Konfigurationsmöglichkeiten
Es ist jetzt möglich tief verschachtelte Assign-Regeln zu definieren, basierend auf allen Host- und/oder Service-Eigenschaften. Wer das „apply for“ Feature von Icinga 2 vermisst hat darf sich jetzt auch freuen. Ein Team von Internap hat einen Großteils des Codes dafür beigetragen. Bei dieser Gelegenheit herzlichen Dank für die gute Arbeit!
Die Unterstützung für Icinga 2 DSL in Command-Definitionen wurde verbessert. Ein Blick auf die Screenshots im Support-Ticket #12928 gibt einen kleinen Eindruck von den schrägen Möglichkeiten, die sich dadurch ergeben. Ein paar versteckte Features wie die implizite Unterstützung von skip_key fanden ebenfalls ihren Weg in die neue Version.
Wolltest Du immer schon eine bestimmte Eigenschaft eines von einem Host-Template geerbten Services für nur einen Host überschreiben? Dies und ähnliche Features sind jetzt verfügbar!
Automatisierung
Beim Arbeiten mit der Import/Sync-Funktionalität lassen sich viele kleine Verbesserungen entdecken. Es gibt neue „Property-Modifier“, und deren Ergebnis lässt sich jetzt auch dafür verwenden neue virtuelle Eigenschaften zu erstellen. Wer mit Datenfeldern arbeitet wird neben Usability-Verbesserungen die Möglichkeit entdecken, andere Objekte in einer Dropdown-Liste bereitzustellen und als String oder Array in Custom-Variablen zu nutzen.
Testing
Immer mehr Entwickler tragen Quellcode zum Icinga Director bei. Um den Einstieg zu erleichtern haben wir das Bootstrapping unserer Unit-Tests vereinfacht und entsprechende Dokumentation bereitgestellt.
GUI und Usability
Die Fehlerbehandlung in den Formularen wurde stark verbessert, eventuelle Exceptions werden an vielen Stellen gefangen und auf lesbare Weise dargestellt. Der Deployment-Button ist jetzt nicht mehr so versteckt, die Konfigurationsvorschau wurde verbessert und erlaubt jetzt vollständige Konfigurations-Diffs auch vor dem Ausrollen einer neuen Konfiguration.
Loops bei der Vererbung werden jetzt freundlich dargestellt und lassen sich direkt im Frontend beheben. Ein verstecktes Juwel ist die „Multi-Edit“-Funktionalität. Mit SHIFT/ALT+Klick lassen sich mehrere Hosts auswählen. Deren Imports, Custom-Variablen und andere Eigenschaften lassen sich an dieser Stelle für alle ausgewählten Objekte auf einmal ändern. Fehler oder Warnungen in allen historischen Startup-Logs verlinken jetzt direkt zur entsprechenden Konfigurationsdatei und springen an die richtige Zeile.
Verwandte Module
Es gibt mehr und mehr zusätzliche Module welche vom Director bereitgestellte Hooks implementieren. AWS-Import für EC2-Instanzen, ELBs und Autoscaling-Gruppen. Datei-Import für CSV, JSON, YAML und XML. Wir hörten von verschiedenen erfolgreichen Import-Source-Implementierungen in unterschiedlichen Projekten und würden uns sehr freuen, noch mehr davon als freie Software bereitgestellt entdecken zu dürfen!
Download
Der Icinga Director v1.2.0 ist hier verfügbar, und das entsprechende GIT-Repository findet sich natürlich auf GitHub.
0 Kommentare
Trackbacks/Pingbacks