Icinga Director 1.2.0 veröffentlicht

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!

Audit log

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.

Nested filter with apply forDirector - Icinga DSL Cluster Check Override inherited service vars Apply-for - Preview

 

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!
DNS - Property Modifier

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.

Loop detection Multiedit - imports Confirm field removal

 

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!

 

Import from AWS Fileshipper - Import files

 

Download

Der Icinga Director v1.2.0 ist hier verfügbar, und das entsprechende GIT-Repository findet sich natürlich auf GitHub.

 

Thomas Gelf

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

Sehr erfreut, Herr Director

Ihr kennt mich vermutlich, ich bin die Lydia. Habe hier das Monitoring zu verantworten. Höre alles, sehe alles. Schreie laut und schrill, wenn Feuer am Dach ist. Damit mich auch wirklich alle hören. Naja, und neuerdings habe ich einen neuen Director.

Zuerst war ich mehr als skeptisch. Ich bin keine Frau die sich gerne was vorschreiben lässt. Aber er ist ein freundlicher Kerl, mein Herr Director. Ein kollegialer Chef möchte er sein, aber dennoch Herr über meine Arbeit. Überwachungsdirektor sozusagen. Ich muss ja zugeben, dass ich da anfangs so meine Zweifel hatte. Aber anders als der typische Chef schüttet er mich nicht mit Arbeit zu, nein, er macht sie mir sogar leichter.

Director Dashboard v1.1.0

Klar, er ist ein Kontrollfreak, der Herr Director. Will alles wissen, alles sehen. Wer wann was geändert hat, wo das her kam und warum – alles schreibt er mit. Ist natürlich auch irre praktisch, denn normalerweise hatten die immer mich im Verdacht. Bin im Hause ja die Frau Monitoring. Geht etwas daneben, war ich’s. Und ich darf dann nachgraben, wühlen, suchen um irgendwann rauszufinden wer den Change eingestellt hat. Finde ich nichts, hab ich eh verloren.

Das ist jetzt alles ganz anders. Sollen die ihre Schwellwertänderungen doch selbst vornehmen. Neue Hosts eintragen? Dafür braucht ihr doch mich nicht. Ich stelle die entsprechenden Templates bereit, aber von dem alltäglichen Änderungswahnsinn will ich nichts mehr wissen. Seit die selbst verantwortlich sind denken sie auch viel mehr über das nach, was sie da einstellen. Das gefällt mir.

Mittlerweile läuft es so gut, dass ich mich gar nicht mehr ums Deployment kümmere. Das machen die Laufburschen des Herrn Director still und leise im Hintergrund. Die könnten das zwar rund um die Uhr, aber so weit reicht mein Vertrauen dann doch nicht. Weniger in den Director, als vielmehr in meine Kollegen die jetzt jederzeit ihre schrägen Wünsche bei dem einkippen können. Hab ihm also eingetrichtert, dass Änderungen am Monitoring nur zu Bürozeiten ausgerollt werden sollen. Das heißt natürlich nicht vor der Mittagspause und auch nicht kurz vor Feierabend. Man muss sich ja nicht künstlich Arbeit beschaffen.

Meine ganzen alten Konfigurationsbastel-Skripte habe ich längst weggeworfen. Die verstand außer mir eh keiner. Diese Drecksarbeit macht jetzt auch der Herr Director. Der passt da auf wie ein Schießhund, schaut alle paar Minuten in unser Active Directory. Taucht da ein neuer Server auf, wird der sofort überwacht. Wird einer deaktiviert, fliegt er wieder raus. Schöne Sache.

Guter Mann, der Herr Director. In der neuen Version gefällt er mich noch besser. Der darf bleiben. Ich wollte eh mal wieder Urlaub machen.

Thomas Gelf

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

SSHave your Puppets!

SSHave your Puppets! - Slide 01Diese Woche fand wieder das Config Management Camp in Gent (Belgien) statt, und wir von Netways waren wie immer mit dabei. Bernd hatte bei seinem Vortrag über das APIfizierte Icinga2 natürlich volles Haus. Ich hingegen hatte beschlossen mich einmal an einem Ignite-Talk zu versuchen. Dabei hat man für 20 Slides exakt 5 Minuten Zeit, jede wird für 15 Sekunden angezeigt.

Weil das so einfach ist wie es klingt, das Ganze natürlich auch gleich noch auf Englisch. Der Aufwand für die Vorbereitung war dabei fast größer als bei einem “gewöhnlichen” Vortrag. Man muss sich nämlich ganz schön konkrete Gedanken darüber machen, was man zu den einzelnen Slides sagen möchte.

Mein Titel war SSHave your Puppets! Die Message die ich vermitteln wollte lautet “Lasst eure Werkzeuge für euch arbeiten, es darf nicht andersrum sein”. Wenn sie das nicht tun sollten: passt sie an oder werft sie weg.

Als konkretes Beispiel nahm ich den Versuch, Puppet über SSH laufen zu lassen. Also so richtig. Nicht bloß Katalog auschecken & puppet apply. Nein, als ernsthaften Ersatz, zentralisiert, samt Reporting und allem was ein Master so leisten kann. Das mag auf den einen befremdlich wirken, für den anderen ist es genau das wovon er immer geträumt hat.

SSHave your Puppets! - Slide 03Im Vortrag habe ich gezeigt dass es geht, und wie man so was erreichen kann. Aber darum ging es nur vordergründig. Was ich dem Zuschauer vermitteln wollte war, dass man gerade Open Source Software nicht immer so benutzen muss wie es alle machen. Best Practices? For Sissies. Zieht euch das raus, was ihr brauchen könnt. Nur das was euch hilft, und Zeit spart. Den Rest lasst weg, ersetzt ihn durch etwas Besseres. Oder biegt ihn einfach so um, dass er wieder zu euch und eurer Umgebung passt.

Sicherlich ist es keine gute Idee, aus Prinzip und immer dorthin zu laufen, wo die anderen nicht hinwollen. Aber habt ihr nicht auch manchmal das ungute Gefühl, dass irgendwas nicht so läuft wie es soll? Ihr versucht zwar alles richtig zu machen, es will sich aber kein zufriedenstellendes Erfolgserlebnis einstellen? Ihr fragt euch, wozu ihr euch den Quatsch überhaupt antut? Dann muss das nicht unbedingt an euch liegen!

Die Best Practices der Marktschreier aus der Cloud passen vielleicht einfach nicht zu eurer Umgebung. Doch wendet euch dann nicht gleich vollständig ab, irgendwas Wahres findet sich bei jeder Religion. Zieht euch aus den ganzen coolen Tools nur das raus, was euch hilft. Und der Rest? Darf weiterleben. Aber halt nicht bei euch in eurem Rechenzentrum!

SSHave your Puppets! - Slide 04SSHave your Puppets! - Slide 05  SSHave your Puppets! - Slide 08  SSHave your Puppets! - Slide 10 SSHave your Puppets! - Slide 19

 

 

Und wenn ihr dann vorsichtshalber doch noch eine zweite Meinung hören wollt, könnt ihr ja immer noch die coolen Jungs und Mädels von Netways zu Rate ziehen.

Also dann. Franken, Helau!

Thomas Gelf

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

OMG!!! It’s a baby!

Monate in den Wehen, im Geburtskanal noch fünfmal gedreht. Dreimal davon nur um zu prüfen ob’s auch wirklich richtig liegt. Und jetzt, endlich, der erlösende Moment: Icinga Web 2.0.0 ist da!

Icinga Web 2 Login

Icinga Web 2 - Problems

Einfach muss es sein.

Wir sind angetreten mit dem Ziel, eine intuitive und selbsterklärende Anwendung als Frontend für das beste Monitoring-Tool der Welt zu schaffen. Essentielles sollte sofort sichtbar und alles weitere nur einen Klick entfernt sein. Das ist es, was Icinga Web 2 ausmacht.

Paradebeispiel hier ist das Dashboard. Gezeigt werden zuallererst Host- und Service-Probleme. Absteigend sortiert nach deren “Dringlichkeit”: zuoberst die neuesten kritischen Probleme, dann erst Unbekannte und Warnungen. Ein kritisches Problem welches schon bestätigt oder in Downtime gesetzt wurde ist aber dennoch lange nicht so wichtig wie eine Warnung, die noch keiner kennt.

 

Schnell muss es sein.

Deutsch

Icinga Web 2 ist leichtgewichtig und schnell. Wir haben bewusst auf die hippesten Frameworks verzichtet und so einiges selbst entwickelt. Viele Konzepte sind konservativ und neu zugleich. Und darum rennt und rennt und rennt es.

Finnisch

ItalienischMir san international

Netways steckt aus Überzeugung enorm viel Energie in das Icinga-Projekt. Doch gleichzeitig versuchen wir, im Hintergrund zu bleiben. Icinga ist ein Community-Projekt und soll das auch bleiben. Mit Entwicklern, Camps und Partnern auf der ganzen Welt verfolgen wir das Ziel, mit gesundem Tempo zu wachsen und ständig besser zu werden.

 

Modularität ist alles.

Der Gedanke, dass man etwas schaffen könnte um alle glücklich zu stimmen ist Illusion. Die Welt da draußen ist unendlich facettenreich. Jeder denkt anders, setzt andere Prioritäten. Unendlich viel habe ich schon gesehen, und dennoch erlebe ich fast jede Woche bei Kunden meinen ganz persönlichen AHA-Effekt. “Stimmt, so habe ich es noch gar nicht gesehen. Irgendwie schräg. Aber doch – daraus könnte man noch mehr machen!”

PortugiesischErweiterbarkeit ist darum eines der wichtigsten Credos bei Icinga Web 2. Möglichst einfach muss das sein. Und genau so einfach soll möglichst einfach sein, Icinga in eigene Projekte einzubinden.

 

Und jetzt?

Na was wohl, herunterladen (als Archiv oder Paket) und ausprobieren!

Thomas Gelf

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

Hitzefrei

Das Blech vibriert, die Lüfter föhnen:
Hört doch, wie die Server stöhnen!
Würds’ hier ein Thermometer geben
Könnte man jetzt live erleben
Wie Zehnt um Zehnt die Säule steigt
Während’s längst schon rot anzeigt.

Ventilatoren quietschen, schleifen, scheuern,
Man müsst’ vielleicht ein paar erneuern.
Gepiepse, nervzerreißend sticht hervor,
Übertönt den jämmerlichen Lüfterchor.
Expertenmeinung: “Gar nicht gut,
Ich glaube irgendwo ist was kaputt”.

Die Experten sind nur grad nicht hier,
Ihr Freitag-Feierabend war um vier.
Ansonsten sieht man sie im Office schwitzen
Und nicht hier unten im Gedröhne sitzen.
Schreien Server noch bevor die Platte bricht,
Nützt’s nicht viel, man hört sie nicht.

So kommt es wie es kommen muss,
Groß das G’schrei und der Verdruss
Zwar läuft die Klima immer weiter
Auch die Chiller drehen heiter.
Dumm nur dass das Wasser steht,
Weil wer am falschen Hahn gedreht.

So kommt es wie es kommen muss,
Vom Head-Crash einen schönen Gruß.
And’re Server fahr’n sich runter,
Jetzt werden erste Admins munter
Denn das Smartphone meckert an,
Dass es keine Mails hol’n kann.

Schwer ist es jetzt zu ertragen
Wenn dann die Besserwisser sagen:
Mit Icinga wär das nicht passiert,
Du wärst beizeiten informiert.
Wüsstest welcher Server piept,
Wer wann warum den Geist aufgibt.

Auch würdest dich jetzt besser fühlen
Müsstest nicht nach Backups wühlen
Weil Bareos-Jobs nicht Handarbeit
Sondern Puppet-driven stets bereit
Auf jedem deiner Server laufen:
Du müsstest nie Lizenzen kaufen.

Das hast du alles? Wissen wir,
Schließlich bist ja Kunde hier.
Mit freier Software stets entspannt,
Wird Unheil frühzeitig erkannt.
Auch hast im Rechenzentrum Ohren,
Aus dem Netways-Shop sind die Sensoren.

In diesem Sinne, fröhlich heiter
Genieße ruhig die Sonne weiter.
Das Wochenend steht vor der Tür,
Ein kühles Bierchen gönne dir.
Leg dich hin und werd bedient,
Schließlich hast es dir verdient!

Thomas Gelf

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.