Verwendung der Scoutbees API mit Microsoft Power Automate

PowerShellProactive Synthetic TestingSynthetische Überwachung

ControlUp Scoutbees ist eine Cloud-basierte Lösung, die kontinuierliche synthetische Transaktionstests verwendet, um Sie proaktiv zu alarmieren, wenn die Verfügbarkeit Ihrer Anwendungen, Desktops und Netzwerkressourcen beeinträchtigt ist. Scoutbees ermöglicht es IT-Betriebsteams, die Ursache von Verfügbarkeitsproblemen schnell zu identifizieren und sie zu beheben, bevor die Produktivität der Benutzer beeinträchtigt wird.

Was die Benutzerfreundlichkeit betrifft, so ist die Benutzerschnittstelle glatt und intuitiv; Scoutbees ist ein rundum gelungenes Produkt. Eine Sache, um die uns unsere Kunden gebeten haben (und die im Produkt fehlte), war eine Möglichkeit, Scoutbees in ihre DevOps-Prozesse und bestehende interne Plattformen. Wir haben sie gehört, laut und deutlich, und freuen uns, Ihnen mitteilen zu können, dass Honeycomb, die Scoutbees APIIST HIER!

Figure 1 - Example of using the Scoutbees API in a custom web page
Abbildung 1: Beispiel für die Verwendung der Scoutbees-API in einer eigenen Webseite


Mit der API geben wir Ihnen die Möglichkeit, nicht nur programmatisch Daten von Scoutbees abzurufen, sondern auch neue Scouts zu erstellen und bestehende zu bearbeiten. Wenn Sie automatisch neue Scouts als Teil eines automatisierten Server-Build-Prozesses erstellen wollen, kein Problem! Wenn Sie einen optionalen Button zur Verfügung stellen wollen, um das Anlegen eines Scouts in Ihrer eigenen Webseite zu ermöglichen, kein Problem! Wollen Sie einige der Testergebnisse von Scoutbees auf Ihrer eigenen internen Seite anzeigen? Auch kein Problem! 

The Scoutbees Honeycomb API gives you access to pretty much all the features you can use in the service and lets you extend them for use in your own applications. It strives to be RESTful and is organized around the main resources you would be interacting with, such as Scouts, Tests, and Hives. If you can dream it, you can pretty much do it. 😊 

Genug diskutiert. Wie wäre es, wenn wir es gemeinsam ausprobieren?

Figure 2: Using Power Automate for automated server builds
Abbildung 2: Verwendung von Power Automate für die automatische Erstellung von Servern

Server Build Flow in Microsoft Power Automate für Desktop

Zuvor hatten wir in einem Blog über Aufbau einer eigenen, benutzerdefinierten ServiceNow-Integrationdie eine großartige Inspirationsquelle für diesen Beitrag war. Wenn Sie lernen möchten, wie man eine API verwendet, ist dies ein ausgezeichneter Ausgangspunkt. 

In diesem Artikel erfahren Sie, wie Sie die Scoutbees-API in einem Microsoft Power Automate Fluss. Der Ablauf in diesem Beispiel ist der Aufbau eines Servers. In den folgenden Schritten werden wir einen Schritt hinzufügen, um einen Scoutbees Scout einzurichten, der nach Abschluss des Serveraufbaus kontinuierliche Ping-Tests durchführt, um sicherzustellen, dass der Server sofort proaktiv überwacht wird. 

TIPP: Um mehr darüber zu erfahren, wie die Scoutbees API funktioniert und wie Sie sie nutzen können, können Sie die API-Dokumentation. Dies kann Ihnen auch helfen, ein Gefühl für die Daten, die Sie abrufen können, und die Aktionen, die Sie durchführen können, zu bekommen.

Voraussetzungen

Creating a Scoutbees Scout

Bevor wir beginnen, benötigen wir einen API-Schlüssel in unserem Scoutbees-Konto, mit dem wir arbeiten können. 

Um einen API Key zu erstellen, loggen Sie sich einfach in Scoutbees ein, klicken Sie auf das Hamburger-Menü und dann auf API.

Klicken Sie auf die Schaltfläche Erstellen API-Schlüssel Taste.

Click on the Create API Key button

Geben Sie Ihren API-Schlüssel und einen API-Schlüsselnamen an und klicken Sie auf Hinzufügen.

Provide your API Key an API Key Name and click Add

Navigieren Sie zu dem Schlüssel, den Sie gerade erstellt haben, erweitern Sie ihn und wählen Sie API-Schlüssel kopieren. Sie können diese Daten zunächst in Notepad einfügen, da wir sie in unserem PowerShell-Skript benötigen.

Aufbau unseres Skripts

Provide your API Key an API Key Name and click Add

Unser Skript ist sehr einfach. Sie können im obigen Bild sehen, wie wenige Zeilen erforderlich sind. Um es so einfach wie möglich zu erklären, gehen wir durch 3 Abschnitte des Codes und fügen sie am Ende zusammen, um unseren ersten Scout mit PowerShell zu erstellen und ihn dann zu unserem automatisierten Server-Build-Prozess in Power Automate hinzuzufügen. Mit diesen Schritten können Sie leicht Ihre eigenen Skripte erstellen und sie in die DevOPs-Plattform Ihrer Wahl integrieren.

 

  • Verwenden des API-Schlüssels in einem PowerShell-Skript

Jetzt, wo wir unseren API-Schlüssel haben, können wir ihn einsetzen.

$headers = @{
            "x-scoutbees-key"='';
        }

In unserem Skript setze ich eine Header-Variable, die meinen API-Schlüssel enthält. Dies ist ein HTML-Header-Abschnitt, der bei der Ausführung unseres Codes geparst wird, um den API-Schlüssel zu übergeben, damit der Scoutbees-Dienst in der Lage ist, sich zu authentifizieren und zu überprüfen, ob der Schlüssel gültig und mit unserem Scoutbees-Konto verbunden ist. Dies ermöglicht uns, unseren Scout zu erstellen.

Kopieren Sie den obigen Code und fügen Sie ihn oben in Ihr PowerShell-Skript ein, und ersetzen Sie <APIKey> mit dem API-Schlüssel, den Sie in Ihrem Scoutbees-Konto erstellt haben. Achten Sie darauf, dass Sie Ihren API-Schlüssel in einfache Anführungszeichen setzen.

 

2.) Körper mit Scoutbees bevölkern Scout Parameter

Als Nächstes lege ich im PowerShell-Skript einen HTML-Body fest.

$body = @{
    "adresse" = "SERVER01.domain.com"
    "subType" = "net_ping";
    "hive" = "eu-central-1";
    "options" = @{
        "Protokoll" = "ICMP";
        "payload" = 32;
    }
    "scoutName"="SERVER01.domain.com Ping";
    "intervall"=5;
}

Wenn Sie mit HTML vertraut sind, kennen Sie bereits die Tags für header und body. Während ein Header für einen Kopf- oder Zwischenüberschriftenabschnitt einer Seite verwendet wird, ist der Body in der Regel der Hauptabschnitt des Inhalts, der auf einer Seite angezeigt wird. In unserem Zusammenhang enthält der Body die relevanten Parameter, die wir für unseren Ping-Test festlegen wollen.

In diesem Beispiel erstellen wir einen Scout mit dem Namen SERVER01.domain.com Ping, der alle 5 Minuten über das ICMP-Protokoll einen Ping-Test an SERVER01.domain.com von unserem in der Cloud gehosteten Scoutbees Hive in der EU durchführt.

Wenn Sie von einem anderen Cloud-Hive aus testen möchten, können Sie einfach den Namen des Cloud-Hives angeben, von dem aus Sie testen möchten. Zum Beispiel:

Cloud Hive Standort Hive-Name (API) Cloud-Dienst Region
EU (Frankfurt) eu-zentral-1 Europa (Frankfurt)
US-Ost (N. Virginia) us-ost-1 US-Ost (N. Virginia)
Asien (Sydney) ap-südost-2 Asien-Pazifik-Raum (Sydney)
Nordische Länder (Oslo) Norwegen-Ost Norwegen Ost
Asien Ost (Hongkong) eastasia Ostasien
US West (Seattle, WA) westus2 West US 2
Südindien (Chennai) southindia Südindien
UK (London) eu-west-2 Europa (London)
Afrika (Kap-Stadt) af-süd-1 Afrika (Kapstadt)
Südliche Zentral-USA (Texas) southcentralus South Central US
Kanada (Montreal) ca-zentral-1 Kanada (Zentral)

 

3.) Invoke-RestMethod zum Erstellen unseres Scouts

Dies ist das vollständige Skript zur Erstellung unseres Scouts. Geben Sie es in den PowerShell-Editor Ihrer Wahl ein, geben Sie Ihren API-Schlüssel ein und führen Sie es aus.

$headers = @{
            "x-scoutbees-key"='';
        }
$body = @{
    "adresse" = "SERVER01.domain.com"
    "subType" = "net_ping";
    "hive" = "eu-central-1";
    "options" = @{
        "Protokoll" = "ICMP";
        "payload" = 32;
    }
    "scoutName"="SERVER01.domain.com Ping Test";
    "intervall"=5;
}
$CreateScout = Invoke-RestMethod -Method POST -Uri https://api.scoutbees.io/honeycomb/v1/scouts -Body $($body | ConvertTo-Json) -Headers $headers -ContentType "application/json"

Wir haben unseren letzten Abschnitt oben hinzugefügt. Ich habe alles in diesem Bild aufgeschlüsselt, damit wir sehen können, was alles passiert:

Script breakdown

Und was haben Sie nun? Hoffentlich haben Sie das: 

  • Ein PowerShell-Skript, das entsprechend unserer API-Dokumentation strukturiert ist 
  • Das ruft eine REST-Methode auf 
  • Diese sendet eine Anfrage an den Scoutbees RESTful Web Service 
  • Ein Netzwerk-Scout, der Ihren Server von einem ausgewählten Cloud Hive aus anpingen wird

Nun, da unser PowerShell-Skript fertig ist, können wir den Code testen und ausführen, um zu bestätigen, dass er wie erwartet funktioniert.

Hinzufügen des Skripts in einen Power Automate-Ablauf

Add the Script into a Power Automate Flow

Schließlich haben wir für diesen Anwendungsfall eine Skriptaktion "Run PowerShell" in unseren Power Automate Flow eingefügt und das Skript eingefügt. Ich habe dies als letzte Aktion in meinem Ablauf gewählt, so dass sie nur ausgeführt wird, wenn die vollständigen Server-Build-Schritte erfolgreich abgeschlossen wurden. 

Option zum Testen aus einem benutzerdefinierten Hive

Wenn Sie ein Eagle Eye haben, ist Ihnen vielleicht aufgefallen, dass das Skript, das ich in Power Automate eingefügt habe, eine Zahl anstelle des Namens eines Cloud Hive enthielt. Diese Nummer ist eine benutzerdefinierte Hive-ID in meiner Organisation. Wenn Sie einen Server einrichten, ist es wahrscheinlich, dass er von außerhalb Ihres Unternehmensnetzwerks nicht zugänglich sein wird. In diesem Fall ist die Einrichtung eines benutzerdefinierten Hives auf einem Computer in Ihrem Unternehmensnetzwerk sehr nützlich. 

Wenn Sie von einem benutzerdefinierten Hive aus testen möchten, installieren Sie den Agenten auf einem Windows-Rechner in Ihrem Unternehmensnetzwerk mit diese Anweisungen.

Abrufen der benutzerdefinierten Hive-ID

$headers = @{
            "x-scoutbees-key"='';
        }
#Get list of network scouts
#$body = @{
 # "subType" = "net_ping";
#}
$scoutsQuery = Invoke-RestMethod -Method GET -Uri https://api.scoutbees.io/honeycomb/v1/hives -Body $body -Headers $headers

if ($scoutsQuery.total_pages -ne 1) {
    ## Mehr Scouts als Daten zurückgegeben
}

## Liste der Hives anzeigen
$scouts = $scoutsQuery.Data

$scouts = $scoutsQuery.Data
## Pfadfinderdaten in Objekte umwandeln

write-host $scouts

Geben Sie Ihren API-Schlüssel in den obigen Code ein und führen Sie diesen in PowerShell aus, um eine Liste Ihrer Pfadfinder abzurufen. Kopieren Sie aus der Ausgabe den zurückgegebenen id=-Wert in Ihr Skript. Wenn Sie mehrere benutzerdefinierte Hives haben, wählen Sie die id derjenigen aus, die Sie zum Testen verwenden möchten, und stellen Sie sicher, dass sie aktiviert und verbunden ist.

Ändern Sie nun einfach Ihr Skript und ersetzen Sie den Namen des Cloud Hive durch die kopierte ID-Nummer, und schon können Sie einen Scout erstellen, der von einem Hive innerhalb Ihres Unternehmensnetzwerks aus testet.

Erweitern Sie Ihren Scout

Vielleicht möchten Sie mehr als nur einen Ping-Test für Ihren Server durchführen. Vielleicht möchten Sie auch einen Scout einrichten, der einen Traceroute über Port 443 für einen Webserver oder vielleicht 1433 für einen SQL-Server durchführt, dann können Sie einfach den folgenden Code zu Ihrem Skript hinzufügen:

$headers = @{
            "x-scoutbees-key"='';
        }

$body = @{
    "adresse" = "SERVER01.domain.com"
    "subType" = "net_traceroute";
    "hive" = "CloudHiveoderCustomHiveID";
    "options" = @{
        "protocol" = "TCP";
        "port" = ;
        "timeout" = 3.6;
        "numpaths" = 10;
    }
    "scoutName"="SERVER01.domain.com  Test";
    "interval"=5;
}

Geben Sie Ihren eigenen API-Schlüssel, den Hive, den Sie zum Testen verwenden möchten, und die Portnummer, die Sie auf Verfügbarkeit testen möchten, ein.

ControlUp Pfadfinderbienen hat sich seit seiner Veröffentlichung als unschätzbares Werkzeug im Werkzeuggürtel unserer Kunden erwiesen. Es ist wahrscheinlich das am einfachsten einzurichtende Unternehmensprodukt der Welt. Tatsächlich können Sie Scoutbees in etwas mehr als zwei Minuten einrichten und nutzen!

Wir hoffen, dass Ihnen dieser Blog-Beitrag gefallen hat und dass ich nach dem Lesen des Blog zur ServiceNow-IntegrationVielleicht werden Sie inspiriert, dies in Ihren automatisierten Servererstellungsprozess oder andere Automatisierungsprozesse, die Sie bei Ihrer täglichen Arbeit verwenden, einzubauen. Starten Sie mit ControlUp Scoutbees heute!