Monthly Snap August – NETWAYS News | Tipps & Tricks | Upcoming… | Corporate Blogging


 
„Das @netways Blog kann man auch generell einfach mal empfehlen: https://www.netways.de/  – immer wieder spannende Sachen bei den Posts dabei“, twittert Felix Kronlage Anfang August. Das freut mich und meine Kolleginnen und Kollegen natürlich sehr! Denn, wie ihr als fleißige Blog-Leser/innen sicher wisst, das NETWAYS Blog ist, ganz im Geiste von Open Source, ein offenes Gemeinschaftsprojekt, geschrieben von uns, dem NETWAYS Team.
Wir haben unseren Redaktionsplan so organisiert, dass das Schreiben wie ein Staffelstab Tag für Tag durch unser Headquarter und von Team zu Team gereicht wird: Montags Shop & Sales, dienstags Events & Marketing, mittwochs Managed Services, donnerstags Development, freitags Consulting.  Für samstags planen wir eventuelle Specials und am Monatsende gibt es, so wie heute, einen Rückblick, den Monthly Snap. Der Snap bietet die Gelegenheit, noch einmal zu rekapitulieren. Während ich bei meinem täglichen Blick in das Blog meinen Fokus ja eher auf den einzelnen Beitrag des Tages richte, fällt mir jetzt am Monatsende mal wieder die Bandbreite an Themen und die Vielzahl der Stimmen auf, die unseren Blog und damit NETWAYS ausmachen!
Im besten Falle findet ihr, genau wie Felix, das ein oder andere für euch spannende Thema und klickt euch durch die Links. Viel Spaß dabei!
CEO Bernd hat diesen Monat seine Vergleichsserie wieder aufgenommen und veröffentlicht Icinga, Nagios, Naemon, OMD, Check_MK, Op5, Centreon oder Shinken – Teil III. Außerdem verweist er auf das Bitkom Forum Open Source 2018.

Webinare – Aus der Asche

In NETWAYS Webinare – Aus der Asche erfahrt ihr von Christian mehr über ein kleines Hitze- und Performance-Problem und die Termine aller Webinare in der zweiten Jahreshälfte, während Silke vom Shop & Sales-Team euch darüber informiert: Die neuen STARFACE Pro V6 und STARFACE Compact V3 Anlagen sind da!
Und natürlich gibt es auch wieder eine bunte Kiste voller Tipps und Tricks von unseren Entwicklern, Administratoren und Consultants, die vielleicht auch euch das Leben erleichtern: Jennifer – Feu – verrät „How css-tricks improved my work life“. Thomas weiß, es gibt JSON in bequem. Noah stolpert durch Zufall darüber und ist ab sofort happy mit  Postman – API development and testing made simple. Philipp setzt seine i-doit-Reihe fort mit i-doit API create, update, delete.

La La Lan & Molecule

Max zeigt euch in seiner La La Lan-IT Love Story wie man Linux Netzwerkschnittstellen mit check_nwc_health überwachen kann. Florians Thema: MySQL-Datenbanken verwalten mit Sequel Pro. Tim teilt sein Wissen über Adfree Internet with pi-hole.
Blerim stieß, als er an der Ansible Role für Icinga 2 arbeitete, auf ein hilfreiches Tool. Lest selbst: Testing Ansible Roles with Molecule. Ihr wollt mehr über Icinga 2 wissen, genauer, wie ihr mit Puppet eine dezentrale Icinga 2-Umgebung aufbaut und konfiguriert? Wir haben da einen neuen Workshop! Was euch erwartet, erfahrt ihr von mir in Ice, Ice – Icinga 2 / Puppet – Baby!

GitLab as a Service, Mutual SSL und OpenStack

Gitlab | self-hosted vs. Gitlab as a ServiceMarius wagt den Vergleich! Die vergangenen Monate hat er außerdem genutzt, um eine neue Cloud aufzubauen und weiß nun allerhand über Bursting und Throtteling in OpenStack zu berichten.
Jean beschäftigt sich in The Walrus Has Landed mit Structured Logging in Go und Georg dank einer Kunden-Anfrage mit der Realisierung einer clientbasierten Zertifikats-Authentifizierung (Mutual SSL) mit selbstsignierten Zertifikaten auf Linux + Apache. Sein Motto: Gesagt, getan.

DevOpsDays, OSBConf, OSMC und OSCAMP

Eventmäßig ist der August selbst ein eher ruhiger Monat. Klar: Viele sind in Urlaub, in zahlreiche Länder verstreut. Dafür stehen im Herbst die Zeichen umso mehr auf Get-Together. DevOpsDays | Sep 12. – 13. // OSBConf | Sep 26 // OSMC | Nov 5. – 8. // OSCamp | Nov 8. Mehr erfahrt ihr hier von Keya und mir: Devs are from Venus, Ops are from Mars? – DevOpsDays Berlin Program Online!, Why you shouldn’t miss OSBConf 2018 – #1 und #2, OSMC program online: Check out who’s in! Und OSCAMP #2 on Puppet: Get on stage!

 Und sonst so?

Wir haben Gunnar verabschiedet, ohne den wir Icinga heute so nicht hätten, und unseren ersten neuen Azubi willkommen geheißen, Henrik Triem im Development, und eine Woche Unterstützung von Nadine gehabt, die als Berufsschullehrerin mal Firmenluft schnuppern wollte.
Unser Schulungsraum Kesselhaus hat jetzt Jalousien und kann verdunkelt werden. Wir werden am 17. Dezember ein IcingaCamp in Tel-Aviv veranstalten und Icinga ist jetzt offizieller Partner im HashiCorp Technology Partner Program.
Viele Themen, viele Stimmen, viel Neues, viel Spannendes!
So much happend, more to come! Stay tuned!

Julia Hornung
Julia Hornung
Marketing Manager

Julia ist seit Juni 2018 Mitglied der NETWAYS Family. Vor ihrer Zeit in unserem Marketing Team hat sie als Journalistin und in der freien Theaterszene gearbeitet. Ihre Leidenschaft gilt gutem Storytelling, klarer Sprache und ausgefeilten Texten. Privat widmet sie sich dem Klettern und ihrer Ausbildung zur Yogalehrerin.

Die NETWAYS Webinare starten in die nächste Runde!

Nicht nur unsere Webinarseite präsentiert sich seit letzter Woche in einem neuen Look. Auch planen wir in diesem Jahr noch zwei Themenblöcke, um es erfolgreich abzurunden.
Genau deshalb gibt es bereits am Mittwoch um 14:30 Uhr eine weitere Session zum Thema Icinga 2 – diesmal aber nicht für den aktuellen Developmentstand, sondern weshalb Monitoring wichtig ist und wie Icinga 2 aktiv dabei unterstützen kann.
Um dann mit genügend Stoff in 2014 zu starten, werden Blerim und ich am Freitag um 10:30 Uhr dann noch ein Webinar zu Logstash halten, wobei wir unter anderem auf die Architektur, die Vorteile und Einsatzszenarien eingehen werden. Eine Live-Demo gibt es am Ende natürlich auch.
Hier die nächsten Termine noch einmal im Überblick:

Icinga 2 Warum Monitoring und warum Icinga 2
04. Dezember 2013 um 14:30 Uhr
Logstash

Logstash

Logstash: Logfile-Archivierung leicht gemacht
06. Dezember 2013 um 10:30 Uhr

Icinga Web 2

Icinga Web 2: Icinga Web in neuem Design
25. Februar 2014 um 10:30 Uhr

Jetzt also noch registrieren und Plätze sichern, bevor alle vergeben sind! Weitere Details zu den Webinaren findet man natürlich noch auf unserer Webinarseite.
Wer sich noch einen Überblick über bisherige Themen verschaffen möchte, dem sei unser Webinararchiv nahegelegt. Hier gibt es die Präsentationen zum Download und natürlich noch die Videos.
Bis Mittwoch und Freitag!

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Neues in logstash 1.2.x

Ein Highlight der letzten PuppetConf war mit Sicherheit der Vortrag von Jordan Sissel zum Thema Logstash. Für Nutzer von Logstash war zwar nicht soviel Neues dabei, doch machte die ein oder andere Ankündigung für die neue Version neugierig und der Stil seines Vortrags war hinzu noch sehr unterhaltsam.

jordan_logstash

Logstash ist ein Werkzeug für das Management von Logdateien und man kann es sich grundsätzlich wie eine Art “Pipe” mit verschiedenen Ein- und Ausgabeformaten vorstellen. Die Log-Informationen werden also via File, Socket oder diversen anderen Inputs angenommen, gefiltert, getagged und weitergeleitet. Logstash selbst hält keine Daten vor, sondern sorgt “lediglich” für die konkrete Bearbeitung und Weiterleitung. Für die spätere Analyse setzt logstash auf elasticsearch als Datenhaltungsbackend.
Seit einigen Tagen steht nun die neue Version von logstash zur Verfügung, aber was gibt es Neues:

  • Neues Webinterface
    Man hatte fast den Eindruck dass Jordan etwas Scham beim Anblick seiner früheren Eigenentwicklung von logstash-web bekommen hat, aber man kann eben als Einzelkämpfer nicht alles perfekt lösen. Hier hat das Projekt Unterstützung von Rashid Khan bekommen und liefert ab sofort Kibana in der Version 3 mit aus. Das Javascript-Frontend läuft vollständig ohne Serverkomponenten und greift direkt auf das REST-Interface von elasticsearch zu.
  • Conditionals
    Viele Anwender wünschen sich dieses Feature seit langer Zeit und mit Version 1.2.x ist es nun endlich soweit. Zwar konnte man in der Vergangenheit bereits mit Tags ähnliche Ergebnisse erzielen, aber die integrierten Bedingungen erleichtern einem deutlich die praktische Arbeit. So ist bspw. eine Abfrage auf Umgebung und Loglevel möglich, welche dann nur kritische Events an das Monitoring-System oder einen Email-Account weiterleitet.Ein Beispiel:

    output {
      # Send production errors to nagios/icinga
      if [loglevel] == "ERROR" and [deployment] == "production" {
        nagios {
          ...
        }
      }
    }
  • elasticsearch Bulk API
    Wie der Name vermuten lässt erlaubt elasticsearch mit Hilfe der Bulk API die gleichzeitige Ausführung von mehreren Operationen in einem Request. Bei großen Umgebungen konnte es in früheren Versionen durchaus manchmal zu Schwierigkeiten in der Verarbeitung kommen, welche sich durch die neuen Bulk-Requests und das optimierte JSON-Schema deutlich vermindern lassen.

Zu den beschriebenen Features gibt es noch eine ganze Menge neuer In- und Outputs sowie viele kleine Optimierungen hinsichtlich Performance und Usability. Logstash ist ein tolles Werkzeug und ich werde auch bei der kommenden OSMC die Gelegenheit nutzen, Logstash und ein paar Tools drumherum vorzustellen. Logstash und die Tatsache, dass die Gold-Pakete langsam knapp werden sollte eigentlich Motivation genug sein, den Anmeldebutton zu betätigen.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.

Die Macht von SQL-Triggern

Trigger sind SQL-Anweisungen die bei bestimmten Events wie zum Beispiel Inserts, Deletes oder Updates ausgelöst werden. Mit Triggern ist es beispielsweise möglich komplexe Tabellenconstraints in MySQL zu realisieren, die wesentlich mächtiger als die herkömmlichen MySQL-Constraints sind. In diesem Blogpost will ich euch zeigen wie man Trigger verwendet und von welchen Anwendungen man besser die Finger lassen sollte.

Change-Logs mithilfe von Triggern in MySQL

Ein wirklich prominentes Beispiel für den Einsatz von Triggern ist das implementieren eines Change-Logs. Nehmen wir an, wir haben eine Anwendung die Blogposts verwaltet und wollen jetzt dem Nutzer zusätzlich anzeigen wann Änderungen an den Posts durchgeführt wurden.
Ausgangspunkt ist folgende Tabelle die einfach nur die Artikel eines Blogs enthält:

CREATE TABLE article (
   `id` INT AUTO_INCREMENT PRIMARY KEY,
   `title` VARCHAR(255),
   `author` VARCHAR(255),
   `text` VARCHAR(4096)
);

Wir können jetzt einen Trigger erstellen, der bei jedem UPDATE einer Tabellenzeile eine bestimmte Aktion durchführt. Für jede Änderung an einem Blogpost wollen wir den Text vor der Änderung, den Änderungszeitpunkt, die Aktion und den betroffenen Post speichern. Dafür erstellen wir uns eine Tabelle die die Einträge enthalten soll und einen Trigger der die Tabelle befüllt:

CREATE TABLE article_change_log (
   `article_id` INT, `time` DATETIME, `action` VARCHAR(16), `old` VARCHAR(4096)
);
CREATE TRIGGER update_article_logger
   BEFORE UPDATE ON article
   FOR EACH ROW
   INSERT INTO article_change_log SET
      `article_id` = NEW.`id`, `action` = 'update', `time` = NOW(), `old` = OLD.`text`;

CREATE TRIGGER erstellt einen Trigger der bei UPDATE einer Zeile der Tabelle “Article” ausgelöst wird. Der Trigger führt dann für jede betroffene Zeile eine bestimmte Anweisung durch. Die Bezeichner OLD und NEW können innerhalb dieser Anweisung verwendet werden um auf die Daten der Zeile vor und nach dem Update zuzugreifen.
Um einen vollständigen Logger zu implementieren müssten noch ähnliche Trigger für INSERT und DELETE erstellt werden. Damit ihr gleich etwas zum selbst ausprobieren habt und um den Rahmen dieses Blogposts nicht zu sprengen, überlasse ich euch diese Schritte allerdings selbst.

Vorsicht, unsichtbare Trigger!

Ein anderes Wort für “automatisches” Verhalten ist beim Programmieren auch oft “unsichtbares” Verhalten. Da Trigger automatisch Dinge tun ohne dass sie der Benutzer der Datenbank direkt angewiesen hat, sind sie auch immer eine eventuelle Fehlerquelle. Wenn möglich sollten Trigger keine Daten erstellen oder verändern, die von der eigentlichen Anwendungslogik erstellt werden, sondern immer nur eigene Datensätze verwalten. Damit kann sichergestellt werden, dass übersehene Trigger bei späteren Änderungen an der Anwendung zu keinem fehlerhaften Verhalten führen.