semisatch - stock.adobe.com

ChatOps zur Automatisierung von Netzwerkaufgaben verwenden

Durch die Nutzung von Chatsystemen für die Teamzusammenarbeit lassen sich Arbeitsabläufe automatisieren. Das ermöglicht eine schnellere Problemlösung und optimierte Abläufe.

ChatOps beschreibt den Einsatz einer Software Execution Engine zur Interaktion mit Benutzern über ein Team-Chat-Kollaborationssystem wie Slack, Microsoft Teams, Webex Teams oder Mattermost. Die Software-Engine wird als Chat-Roboter oder Chatbot bezeichnet. Collaboration-Nutzer geben Befehle an den Chatbot, der wiederum eine Reihe von Aktionen ausführt und die Ergebnisse an den Kanal oder Raum des Chatsystems zurückgibt. Der Chatbot rationalisiert den Arbeitsablauf, in dem die Automatisierung Daten aus einem oder mehreren Systemen sammelt und präsentiert, ohne dass eine Benutzeraktion erforderlich ist.

Netzwerkteams können ChatOps nutzen, um Netzwerkaufgaben und Arbeitsabläufe zu automatisieren und so die Prozesse zu optimieren. Als Beispiel wollen wir einen Chatbot mit Slack verwenden, um einen allgemeinen Netzwerk-Workflow zu automatisieren, der den Standort eines Geräts basierend auf seiner IP-Adresse mit dem Befehl /net-find ip 10.1.1.1 meldet.

Interaktive Befehle in Slack beginnen mit dem Zeichen /, in diesem Beispiel /net-find. Der Chatbot erhält den Rest des Befehls, ip 10.1.1.1, den er verwendet, um die Verbindungsinformationen für diese Adresse zu finden. Wenn die Suche erfolgreich ist, werden die Verbindungsinformationen dem Slack-Kanal hinzugefügt.

Komplexere Arbeitsabläufe lassen sich automatisieren. Ein häufiger Anwendungsfall ist das Auslösen eines Bots, wenn wichtige Netzwerkereignisse erkannt werden, zum Beispiel der Ausfall einer wichtigen Netzwerkkomponente. Der Bot erstellt einen neuen Kanal, fügt wichtige Netzwerkmitarbeiter hinzu und postet dann Diagnoseinformationen über den Ausfall. Der Verlauf des Ereignisses wird an einem Ort gesammelt, so dass die Netzwerkmitarbeiter den Verlauf und den aktuellen Status leicht verfolgen können. Das Netzwerkteam würde dann weitere Chatbot-Befehle erteilen, um zusätzliche Informationen zu sammeln und dem Kanal hinzuzufügen.

Abbildung 1: Screenshot einer ChatOps-Funktion auf Slack: /net-find ip 10.1.1.1. Mit freundlicher Genehmigung von Tim Schreyack von NetworkToCode.com.
Abbildung 1: Screenshot einer ChatOps-Funktion auf Slack: /net-find ip 10.1.1.1. Mit freundlicher Genehmigung von Tim Schreyack von NetworkToCode.com.

Integration von ChatOps mit Netzwerkautomatisierung

IT-Teams sollten ChatOps nutzen, um gängige Arbeitsabläufe zu automatisieren, insbesondere solche rund um die Netzwerkautomatisierung und die Fehlersuche im Netzwerk. Es ist empfehlenswert, mit ein paar einfachen, schreibgeschützten Aufgaben zu beginnen, um Erfahrungen zu sammeln und diese zu erweitern, wenn die Teams lernen.

Das Sammeln von Informationen zur Fehlerbehebung ist eine ideale Aufgabe, insbesondere für zeitaufwendige Arbeitsabläufe. Zum Beispiel können IT-Teams die Abfrage einer Konfigurationsmanagement-Datenbank (CMDB) über die Geräte an den Enden einer ausgefallenen Netzwerkverbindung automatisieren. Sie können dann Netzwerkautomatisierung nutzen, um Schnittstelleninformationen zu sammeln und so möglicherweise die Grundursache zu finden. Diese Schritte wären zu dem Zeitpunkt, an dem die IT-Teams von dem Problem erfahren, bereits abgeschlossen und im Fallkanal veröffentlicht.

Die IT-Abteilung kann dann ihr Wissen nutzen, um es auf andere Arbeitsabläufe auszuweiten, wie beispielsweise die Zuweisung einer neuen Server-IP-Adresse oder das Anlegen eines neuen virtuellen LANs (VLAN).

Was man für die ChatOps-Automatisierung wissen muss

Kenntnisse der Skriptsprache: Um ChatOps für die Automatisierung zu nutzen, benötigen Sie Kenntnisse in einer Skriptsprache, wahrscheinlich Python oder JavaScript mit JSON. Die Team-Collaboration-Produkte veröffentlichen Anleitungen zum Erstellen einfacher Chatbots (siehe Referenzen unten).

APIs: Die Integration Ihres Chatbots mit Netzwerkautomatisierungs-Tools erfordert Erfahrung mit der API des jeweiligen Tools. Es gibt keine aktuellen Standards für APIs. Alle REST-APIs folgen einem ähnlichen Modell, aber mit Variationen in den Funktionsnamen, den zu liefernden Parametern und den zurückgegebenen Daten.

Sicherheit: Vernachlässigen Sie nicht, Sicherheit in Ihr ChatOps-System einzubauen. Jedes Netzwerkautomatisierungs-Tool hat seine eigenen API-Sicherheits-Token oder -Schlüssel, und es ist verlockend, diese Token in die Skripte einzubauen. Allerdings kann es leicht passieren, dass das Skript versehentlich in ein öffentliches Code-Repository gestellt wird, in dem böswillige Akteure die Token entdecken und so Ihr Netzwerk für unbefugten Zugriff öffnen können.

Befehle: Wenn Sie ChatOps von Grund auf neu starten, ist es einfacher, mit festen Befehlen zu beginnen, da diese eindeutig sind, sodass Sie nicht raten müssen, was angefordert wird. Übliche Arbeitsabläufe für Netzwerkoperationen lassen sich mit Befehlen mit fester Syntax wie im obigen Beispiel /net-find leicht automatisieren.

Bot-Framework: Ein Bot-Framework kann Ihnen helfen, eine Chatbot-Konversation zu verwalten. Es steht eine Vielzahl von Frameworks zur Verfügung, von denen einige mit einer Reihe von Chat-Systemen funktionieren. Recherchieren Sie Chatbot-Frameworks, um die Optionen zu bewerten. Diese Frameworks können eine Middleware-Pipeline verwenden, um eine Sequenz von Interaktionen mit einer Person zu verarbeiten. Pipelines sind komplexer zu konstruieren und werden typischerweise in kundenorientierten Chatbots verwendet, die natürliches Sprachverständnis mit maschinellem Lernen verbinden. Diese Komplexität wird bei der Netzwerkautomatisierung selten benötigt.

Erste Schritte mit ChatOps

Der Einstieg in ChatOps ist nicht besonders schwierig. Es kann sogar weniger Aufwand bedeuten, als einige der Netzwerkautomatisierungssysteme zu adoptieren. Um Ihnen zu helfen, haben wir einige Referenzen gesammelt, die Ihnen die Reise erleichtern.

Referenzen für den Einstieg in die ChatOps-Automatisierung

Wie die Netzwerkautomatisierung ist auch die Einführung von ChatOps eine Reise, die einen Kulturwandel erfordert. Anstelle von Telefonkonferenzen zur Fehlerbehebung werden sich die Mitarbeiter über ein Kollaborationssystem austauschen. Die Aufzeichnung der Sitzung liefert eine Historie, die Aufschluss darüber gibt, wie zukünftige Ereignisse behandelt werden können. Teams sollten sich darauf einstellen, dass sie Phasen zunehmender Komplexität durchlaufen, in einer Crawl-, Walk-, Run-Progression. Viel Glück auf dieser Reise.

Erfahren Sie mehr über LAN-Design und Netzwerkbetrieb