Monthly Snap September > SensorProbe 2+, Icinga Director, OSBConf 2017, DevOpsDays, Benchmarking Graphite, OSMC

In September, Isabel started with introducing Intelligente Überwachung mit der AKCP sensorProbe 2+ while Eric shared his tips on Hidden pearls in Icinga Web 2. Nicole shared important information on NETWAYS Web Services on Request Tracker.

Marius told us how VM volumes live works using blkdeviotune and Shopware Update, Julia announced for new upcoming Advanced Puppet training and 7 reasons for join OSBConf. Markus shared Trick 17 with the Icinga Director while Tobias shared Trick 42 with the Icinga Director – Job in order.

Julia Announced OSMC in Hackathon, DevOpsDays in Berlin and continued with reasons for OSBConf 2017,she also  said thank to sponsors of OSBConf.

Blerim told us about Benchmarking Graphite, Nicole reviewed Managed Services team event 2017, And Dirk again shared his insights in The Consultant and The dear Certifications II.

Keya Kher

Autor: Keya Kher

Keya hat im Oktober ihr Praktikum im Marketing bei NETWAYS gestartet. Letzten Dezember startete Sie gemeinsam mit Ihrem Mann das “Abenteuer Deutschland”. Seitdem lernt Sie fleißig deutsch und fühlt sich bei NETWAYS schon jetzt pudelwohl. Sie hat schon viele Erfahrungen im Social Media Marketing und ist gerade dabei auch im Grafikdesign ein Profi zu werden. Wenn sie nicht gerade dabei ist, sich kreativ auszuleben, entdeckt sie die Stadt und schmökert gerne im ein oder anderen Büchlein. Ihr Favorit ist hierbei “The Shiva Trilogy”.

Trick 42 mit dem Director – Jobs in Reihenfolge

Nachdem wir unseren Trick 17 mit dem Director veröffentlichten, schiebe ich Trick 42 direkt hinterher. Wie im Blogpost von Markus beschrieben, sind Schnittmengen aus mehreren Importquellen eine geniale Lösung um beispielsweise Hosts aus mehreren Quellen mit Informationen anzureichern. Konfiguriert man nun eine Vielzahl solcher Importquellen die für die Schnittmenge dienen sollen, bekommt man evtl. im Ablauf gewisse Probleme mit der Reihenfolge.

Zur genauen Erklärung unser Ausgangsszenario:

  • CMDB 1: Quelle für die Basisdaten des Hosts (Name, IP, FQDN, …)
  • CMDB 2: Quelle für den OS-Type (CentOS, OpenSuSE, Debian, …)
  • CMDB 3: Quelle für den Ansprechpartner (Hr. Müller, Hr. Maier, …)

Damit die Hosts aus CMDB 1 angereichert erstellt (Import + Sync) werden können müssen zuerst CMDB 2 und CMDB 3 abgearbeitet werden. Logisch – wenn der OS-Type und der Ansprechpartner des Hosts dem Director nicht bekannt sind wird es mit Hilfe von Trick 17 auch nicht möglich sein den Host aus CMDB 1 mit Daten anzureichern.

Hauptsächlich fällt dieses Problem beim initialen Import + Sync der Daten auf. Je nachdem wie oft sich eure Importquellen ändern kann dies “gar nicht schlimm” (Hr. Müller ist für den Server 3 Jahre zuständig) oder auch “sehr unglücklich” (Ihr importiert die Kontaktdaten einer ständig wechselnden Rufbereitschaft) sein.

Für den Fall das die Reihenfolge der Importquellen wichtig ist gibt es eine denkbar simple Lösung.

Ihr legt für jeden Import und Sync einen Job im Director an…

 

…und notiert euch jeweils die ID des Director Jobs (die Zahl an der letzten Stelle der URL).

Mit Hilfe dieser ID könnt ihr nun die im Director konfigurierten Jobs von der Kommandozeile aus ausführen. Der Job mit der ID 1 (Import Job für CMDB1) kann mit dem Kommando “icingacli director jobs run 1” gestartet werden.

Am Ende bauen wir uns dazu noch ein kleines Skript:

#!/bin/bash

# set paths and vars
ICINGA_CLI=`which icingacli`
JOB_CMD=${ICINGA_CLI}" director jobs run"

# execute jobs
echo "import and sync..."

echo -e "\tcmdb1"
${JOB_CMD} 1
${JOB_CMD} 2

echo -e "\tcmdb2";
${JOB_CMD} 3
${JOB_CMD} 4

echo -e "\tcmdb3";
${JOB_CMD} 5
${JOB_CMD} 6

Und voilà – wir haben die Imports und Syncs in einer Reihenfolge 🙂

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

Trick 17 mit dem Director

Möchte man die Schnittmenge aus mehreren Importquellen im Icinga Director vereinen, so gibt es dafür einen Lösungsweg der bislang vielen noch nicht bekannt ist.

Beispielhaft dienen folgende zwei SQL-Tabellen als Ausgangslage, testhost03 ist dabei nur in der Tabelle “hosts01” enthalten:

MariaDB [cmdb]> SELECT * FROM cmdb.hosts01;
+----+------------+----------+---------+
| id | hostname   | address  | os      |
+----+------------+----------+---------+
|  1 | testhost01 | 10.0.0.1 | Windows |
|  2 | testhost02 | 10.0.0.2 | Linux   |
|  3 | testhost03 | 10.0.0.3 | Windows |
+----+------------+----------+---------+

MariaDB [cmdb]> SELECT * FROM cmdb.hosts02;
+----+------------+----------+---------+
| id | hostname   | address  | os      |
+----+------------+----------+---------+
|  1 | testhost01 | 10.0.0.1 | Windows |
|  2 | testhost02 | 10.0.0.2 | Linux   |
+----+------------+----------+---------+

Um nun die Daten aus beiden Quellen abzugleichen ohne gleich Objekte im Director zu erzeugen, behilft man sich mit einer Datenliste als Zwischenschritt. Die ID der neu erstellten Datenliste wird später benötigt und kann über die Director-Datenbank herausgefunden werden:

MariaDB [director]> SELECT * FROM director.director_datalist WHERE list_name = "Hosts from 2nd import source";
+----+------------------------------+-------------+
| id | list_name                    | owner       |
+----+------------------------------+-------------+
|  2 | Hosts from 2nd import source | icingaadmin |
+----+------------------------------+-------------+

Wie dem Namen der Liste unschwer zu entnehmen ist sollen dort die Hosts aus der 2ten Importquelle, also von “hosts02”, zwischengespeichert werden.

Mit diesen Informationen kann die entsprechende Sync Rule für die Synchronisation der Hosts aus der 2ten Quelle in die Datenliste erstellt werden. Neben der ID als jeweilige “list_id” (hier “2”) werden die Felder “entry_name” und “entry_value” definiert:

Nach dem Syncvorgang erhält die Datenliste die entsprechenden Einträge. Im Beispiel sind das testhost01 und testhost02. In der Import Source für die erste Datenquelle werden deren Einträge nun anhand des “Map”-Modifiers mit den Einträgen aus der Datenliste abgeglichen:

Damit ergibt sich folgende Vorschau der Import Source:

In der darauf aufbauenden Sync Rule ist es wichtig eine entsprechende Filter expression zu setzen:

Ist sie negiert, wie im vorangegangenen Beispiel, werden die Hosts die in beiden Datenquellen vorkommen erzeugt. Im Beispiel wären das testhost01 und testhost02. Liegt keine Negierung vor (z.B. “map=”), so werden nur die Hosts erzeugt die in der zweiten Datenquelle nicht vorkommen. Also beispielhaft testhost03. Damit der Filter greift, muss der Bezeichner (hier “map”) allerdings auch als Eigenschaft der Sync Rule vorkommen.

Der Icinga Director hält noch wesentlich mehr Funktionen für verschiedenste Anwendungsbereiche bereit. Das vorangegangene Beispiel dient lediglich dazu die Fähigkeiten dieses mächtigen Tools etwas zu veranschaulichen. Bei weiteren Fragen rund um den Director oder auch Icinga 2 stehen wir bei NETWAYS natürlich gerne zur Verfügung.

Markus Waldmüller

Autor: Markus Waldmüller

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Lead Senior Consultant gelandet. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

Was gibt’s Neues vom Director?

Gleich zwei neue Releases stehen an, und während die v1.3.2 bereits vor einer Woche inoffiziell getagged wurde, werden bei der v1.4.0 gerade noch die letzten Kanten rund geschliffen. Wenn nichts dazwischen kommt werden dann Anfang nächster Woche beide gemeinsam offiziell angekündigt werden.

Director v1.4.0 Dashboard

Director v1.4.0 Dashboard

Warum aber gleich zwei Releases auf einmal?

Director v1.4.0 versucht zwar, optisch möglichst nah an seinem Vorgänger zu bleiben, ist aber unter der Haube in großen Teilen komplett neu. In diesem Zuge haben wir die System-Anforderungen minimal erhöht, PHP 5.4 anstelle von PHP 5.3 ist jetzt vonnöten. Wer beste Performance und minimalen Ressourcenverbrauch schätzt, sollte auf 7.x wechseln.

Property Modifier "Combine"

Property Modifier “Combine”

PHP 5.4 sollte in allen aktiv von uns unterstützten Linux-Distributionen verfügbar sein, lediglich Nutzer von RHEL/CentOS 6.x müssten deren Konfiguration auf die in den offiziellen SCLs (Software Collections) vorhandenen Pakete umstellen. Das Standardverhalten beim Packaging von Icinga Web 2 werden wir vermutlich heuer noch entsprechend umbauen.

Property Modifier "Array Filter"

Property Modifier “Array Filter”

Für all jene, die jetzt auf die Schnelle nicht umstellen können/wollen ist die neue Version 1.3.2 gedacht. Diese enthält eine ganze Menge kleinerer und größerer Bugfixes, welche seit der 1.3.1 entstanden sind. Zudem haben wir ein paar neue nützliche Import Property Modifier einfließen lassen. Da sie am bestehenden Verhalten nichts ändern, durften sie gemeinsam mit ein paar neuen CLI-Befehlen mit in dieses Patch-Release:

Einfachere Suche, flexiblere Tabellen

Sämtliche Tabellen unterstützen intern zwar weiterhin unsere mächtigen Filter-Funktionen, stellen in der GUI aber vorerst nur noch ein einfaches Suchfeld bereit. Einfach testen, mehrere Wörter kombinieren, auch wenn diese in unterschiedlichen Spalten stecken – es sollte ziemlich intuitiv sein.

Beim Umbau der Tabellen sind neue generische Features entstanden. So konnten wir ohne großen Aufwand an mehreren Stellen historische Darstellungen säuberlich nach Tagen getrennt übersichtlicher gestalten.

Director Deployment History

Historie der Deployment

 

Template Choices

Der Director trennt strikt zwischen Objekten und Templates und erlaubt bestimmte Optionen nur an Templates. Das hat einen einfachen Grund: Templates sollen von Icinga-Admins betreut werden, “normale” Objekte (also Hosts und Services) sollen aber durchaus Systembetreuer nutzen dürfen, die sich nicht täglich um’s Monitoring kümmern. Alles was potentiell “gefährlich” sein kann wird aus dem Grund dort nicht angeboten.

Host Template Choices: Dashboard, Table

Host Template Choices: Dashboard, Tabelle

Nun ist es aber nicht gerade intuitiv, bei jedem zweiten Host zusätzlich ein Template namens “Schnelle Checks” einzubinden. Also erstellt man sich jetzt sogenannte Choices, gibt denen einen schönen Namen – und bietet sie auf diese Weise elegant im Formular an.

Template Choice in Action

Template Choices in Aktion

 

Schnelleres Arbeiten mit einzelnen Services

Die letzten Director-Releases kamen mit so einigen neuen Tricks. Gerade die “Variable Overrides” werden gern genutzt. Sie erlauben das Ändern von Schwellwerten für einzelne Hosts auch dann, wenn der zugehörige Service eigentlich via Apply-Rule erstellt wird.

Mehrere Services auswählen

Die Version 1.4.0 legt jetzt den Fokus auf schnelleres Arbeiten mit einzelnen Services. Neu ist eine Übersicht aller Einzel-Services auf allen Hosts. Von hier kann man mit SHIFT/STRG-Klick mehrere Services auswählen und gemeinsam anpassen. Oder löschen. Selbiges geht auch in die andere Richtung bei den Hosts: mehrere auswählen, Service oder Service Set hinzufügen, wählen, speichern:

Mehrere Services auf einmal bearbeiten

Mehrere Services auf einmal bearbeiten

Autocompletion

Neu an Board ist endlich ein Mechanismus zur Autovervollständigung. Dieser hat bereits so einige Dropdownfelder abgelöst und wird in Zukunft noch intensiv für weitere Aufgaben genutzt werden.

Autovervollständigung

Autovervollständigung

Gerade Formulare welche potentiell viele Objekte verknüpfen müssen, können wir damit jetzt schonend für den Browser umsetzen. Dependencies, Ein Punkt der schon lange auf der Wunschliste steht, kommen damit jetzt in Reichweite!

Neue Dashboards und Dashlets

Wie schon der Screenshot eingangs gezeigt hat: das Dashboard wurde umgestaltet und aufgeräumt. Die Tabs passen zu den Dashlets, wenn man umschaltet wird optisch hervorgehoben, wo man sich befindet. Aber nicht nur das, es kamen viele neue Unter-Dashboards hinzu. Und, neu in Kombination mit den Tabs: im Zweispalten-Modus macht ein Doppelklick auf den Tab-Titel jetzt die aktuelle Spalte “groß”.

Mobiles Director Dashboard

Mobiles Director Dashboard

Das Layout wurde übrigens für breitere Bildschirme auf ein 50/50 Spaltenverhältnis umgestellt, statt wie bisher 33/66. Sehr viele Verbesserungen gab es auch beim mobilen Layout. Dashboards sind dort jetzt angenehmer und auch die Formulare wurden für mobile Nutzung optimiert:

Formulare - mobile

Formulare – mobile

Vererbung ist alles

Bugs im Template-Baum wurden gefixt, und ganz neu ist eine Übersicht welche die Nutzung von Templates anzeigt:

Template-Baum

Template-Baum

Zudem werden Apply-Regeln für Hostgruppen jetzt voll aufgelöst und Gruppenmitglieder sowie der Typ der Mitgliedschaft (direkt oder via Apply) werden angezeigt.

Benutzung von Templates

Benutzung von Templates

Berechtigungen

Damit wären wir auch schon beim nächsten Thema. Das Auflösen von Vererbung und Apply-Regeln erlaubt uns jetzt endlich, entsprechende Restrictions freizugeben. Begonnen haben wir mit dem was einige unserer Kunden am dringendsten benötigt hatten. Hostgruppen, unterschiedliche Prefix-basierte Filter, sogar einzelne Einträge in Data Lists können jetzt nur für bestimmte Rollen freigegeben werden.

Genutzte Custom Variablen

Eher an Admins richtet sich ein neues Feature, das eine Übersicht aller benutzten Custom Variablen und deren Varianten anzeigen kann:

Übersicht Custom-Variablen

Übersicht Custom-Variablen

Genutzte Varianten einer bestimmten Variable

Genutzte Varianten einer bestimmten Variable

An dieser Stelle möchten wir in Zukunft noch die Möglichkeit anbieten, gleich an Ort und Stelle umfangreiche Massen-Changes und Aufräumarbeiten vornehmen zu können.

Stark überarbeitet wurde übrigens auch die Inspect-Funktionalität. Wer tiefer in den Core blicken möchte findet dort jetzt detaillierte Informationen zu den verfügbaren Eigenschaften und Methoden der unterschiedlichen Objekt-Typen. Auch der aktuelle Status der einzelnen Komponenten lässt sich abrufen, wenn auch noch nicht sehr schön formatiert.

VMware vSphere/ESXi Import

Diese Funktionalität wurde im Kundenauftrag als dediziertes Icinga Web 2 Modul entwickelt. Vorerst stellt es “nur” eine Import-Quelle für den Icinga-Director bereit. Wir haben damit aber noch so einiges vor. So möchten wir das Modul so aufbohren, dass es in einem kleinen eigenen DB-Schema ein Subset der in vSphere verfügbaren Informationen vorhält und ständig aktuell hält.

VMware vSphere Import

VMware vSphere Import

Festhalten wollen wir vor allem:

  • Welche VM mit welchen Eigenschaften seit wann wo läuft
  • Eine Historie der Migrationen
  • Ein paar wenige aggregierte aktuell Kennzahlen/Performancewerte

Diese Informationen möchten wir dann gleich mehrfach nutzen:

  • Für schnellere und schonendere Check-Plugins, da diese darauf verzichten können bei jedem Aufruf mit teuren API-Abfragen die benötigten Komponenten zu suchen
  • Für ein kleines Visualisierungsmodul
  • Um Zusatz-Informationen via Hook anderen Modulen in Icinga Web 2 bereitzustellen, in erste Linie natürlich dem zentralen Monitoring-Modul.

Bei der Entwicklung wurde auf sämtliche SDKs von VMware verzichtet. Mit selbigen hatten wir bisher keine guten Erfahrungen gesammelt. Probleme beim Upgrade, Inkompatibilitäten anderen Bibliotheken und/oder je nach Sprache auch einfach vollständiger Entwicklungsstillstand machten das Leben schwer.

Bei diesem Modul sind wir jetzt einen anderen Weg gegangen und nutzen zu 100% eigenem Code. Der deckt natürlich nicht die volle API ab – aber all das was wir brauchen. Damit fällt einiges an Overhead weg, und wir haben bei Bedarf die Möglichkeit viel flexibler auf Inkonsistenzen bei neuen Releases reagieren zu können. Wir sprechen direkt mit der SOAP-Schnittstelle und schaffen es damit, einen ziemlich breiten Bereich von vSphere- und ESXi-Versionen abdecken zu können. Für Nutzer des Moduls heißt das: runterladen, aktivieren, loslegen.

Es wird jedenfalls nicht langweilig. Und in diesem Sinne wünsche ich schon mal ein schönes Wochenende!

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.

Icinga Web 2 Modul fileshipper imports im Director

Es werden viele Importe im Icinga Web 2 Modul Director via Ldap / SQL-Ressource getätigt, aber viele übesehen eine einfache Möglichkeit bestehende Dateien mittels Icinga 2 Modul “fileshipper” in den Icinga Web 2 Director zu importieren. Wie man dieses umsetzt werde ich an einem einfachen Beispiel, einer CSV-Datei hier beschreiben.

Zuerst muss man sich das Fileshipper-Modul von Github per “git clone” oder .zip-Datei herunterladen und in dem Verzeichnis '/usr/share/icingaweb2/modules/' ablegen und anschießend das Verzeichnis in “fileshipper” umbennen, denn sonst erkennt es Icinga Web 2 als Modul nicht an.
# cd /usr/share/icingaweb2/modules/ && git clone https://github.com/Icinga/icingaweb2-module-fileshipper.git
oder
# cd /usr/share/icingaweb2/modules/ && unzip master.zip

Anschließend muss das neu installierte Modul noch aktiviert werden,  mit dem icingacli Kommando:
# icingacli module enable fileshipper
icingacli module list
MODULE VERSION STATE DESCRIPTION
director 1.3.1 enabled Director - Config tool for Icinga 2
doc 2.4.1 enabled Documentation module
fileshipper 1.0.0 enabled Fileshipper for Icinga Director
monitoring 2.4.1 enabled Icinga monitoring module

Es geht aber aber auch über die Icinga Web 2 –  Oberfläche siehe Screenshot:

Nachdem das Modul installiert und aktiviert ist kann es losgehen. Zuerst erstellt man das Verzeichnis “fileshipper” unter # mkdir /etc/icingaweb2/modules/fileshipper und erstellt eine import.ini Datei in der das Verzeichnis angeben wird, wo sich die zu importierenden Dateien (.csv) liegen.
[fileshipper files]
basedir = "/usr/local/share/"

Dann wird im Icinga Web 2 => Director => Automation => Add Import Source

ein Name des zukünftigen Imports z.B fileshipper-import-hosts vergeben und bei Source “Import from files (fileshipper) ausgewählt.

Jetzt muss die neue Import-Quelle noch modifiziert werden z.B. so:

Ich denke das Bild ist selbsterklärend und Bedarf keiner weiteren Erklärung.

Jetzt kann man einen Import run starten in dem man auf die Import-Source fileshipper-import-hosts und Trigger Import Run auswählt.

Nun sollte in der Voransicht (Preview) die importierten Hosts sichtbar werden.

Um jetzt aus diesen RAW-Daten Icinga 2 konforme Objekte werden zu lassen brauchen wir eine Sync-Rule die man z.B.so anlegt:


Hier wird in der Maske angeben, welcher Typ (Host-Objekt) daraus werden soll und ob bereits existierende Daten ersetzt (replace) oder zusammengeführt (merge) werden sollen.
Mit Purge können bereits existierende Daten gelöscht werde, JA oder NEIN.

Im Kartei-Reiter “Properties/Eigenschaften” werden die Felder vom Import (Source/Quelle) den Icinga 2 konformen Zielen (Destination) zugeordnet:

Danach kann der Sync-Run der erstellten Sync-Rule gestartet werden und bei erfolgreichen Lauf, werden Konfigurations-Dateien erstellt und sind bereit für den Director zu deployen.

Im Activity-Log kann der Vorgang nochmals überprüft werden, bevor man die Konfiguration per Director deploy übernehmen kann.

So jetzt sollten nach erfolgreichem Deployment die Hosts im Icinga Web 2 unter Hosts sichtbar sein.

 

Im Rahmen einer Icinga 2 Fundamentals Schulung, die wir anbieten, werden auch noch weitere Import-Quellen besprochen und praktisch vollzogen.

Unter anderem haben wir noch weitere Schulungen zu Open Source Themen im Portofolio, einen Überblick bekommen Sie hier bei NETWAYS-Schulungen.

Johannes Carraro

Autor: Johannes Carraro

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Managed Services Team als Systems Engineer.

In seiner Freizeit spielt Johannes E-Gitarre in einer Metalband, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren

Apply Service for im Icinga Director

Mit den Icinga 2 Apply Rules ist es spielend einfach möglich Services zu erstellen. Möchte man mehrere, gleiche Services erstellen (z. B. mehrere Port-Checks oder SNMP-Counteer) kommt Apply For zum Einsatz.

Im Zusammenhang mit dem Icinga Director erhalten wir ab und an Fragen zur Konfiguration von Apply For und sehr oft stellt sich dabei heraus das die Erklärung dieser Konfiguration per E-Mail oder Telefon sehr umständlich ist. Daher habe ich ein kleines Video für euch vorbereitet.

 

Schönes Wochenende! 🙂

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.