SSH-Aktivitäten erstellen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 5 Minuten Lesedauer
  • Erstellen Sie eine Aktivität, die das SSH-Netzwerkprotokoll verwendet, um Daten von einem Zielhost zu extrahieren.

    Vorbereitungen

    Erforderliche Rolle: activity_creator oder workflow_admin

    Warum und wann dieser Vorgang ausgeführt wird

    Anweisungen zur Verwendung des Prozess-Flows für Aktivitätsvorlagen finden Sie unter Anwenderdefinierte Aktivitäten erstellen.

    Prozedur

    1. Erstellen Sie eine benutzerdefinierte Aktivität.
      Diese Aktion erstellt eine benutzerdefinierte Aktivität mithilfe einer Vorlage.
    2. Nach dem Einrichten allgemeiner Eigenschaften und dem Erstellen von Eingabevariablenkonfigurieren Sie den SSH-Ausführungsbefehl.
      OptionBezeichnung
      Ordnen Sie die Eingabevariablen zu Verwenden Sie die von Ihnen erstellten Variablen, um den Befehl zu konfigurieren, den Orchestration ausführt.
      Zielhost Hostname oder IP-Adresse des Zielservers für diese Aktivität
      Befehl Befehl, mit dem diese Aktivität auf dem Zielhost ausgeführt wird. Sie können ein MID-Server-Skript aus diesem Feld mit einem beliebigen Skripttyp aufrufen, der von der SSH-Befehlszeile unterstützt wird. Weitere Informationen finden Sie unter Erweiterte SSH-Skriptoptionen unter der Tabelle.
      Verzeichnis Verzeichnis auf dem Zielhost, auf dem der Befehl ausgeführt wird
      Anmelde-Tag Das Anmelde-Tag von Orchestration, das beim Ausführen des Befehls verwendet werden soll
      Erforderliche MID Server-Fähigkeiten MID Server mit den entsprechenden Fähigkeiten für die Verbindung zum Host. Standardmäßig wählt das System einen MID Server mit SSH-Fähigkeiten aus.
      Lang laufend Wenn dieses Kontrollkästchen aktiviert ist, wird der SSH-Verbindungstimeout für Befehle deaktiviert, deren Ausführung länger als die standardmäßigen 60 Sekunden dauern kann. Orchestration überprüft regelmäßig den laufenden Prozess, um den Status zu ermitteln, bis er abgeschlossen ist.
      Sudo erforderlich Falls aktiviert, wird die Verwendung von sudo zum Ausführen von Befehlen aktiviert.
      Hinweis:
      Sie können Parameterwerte in einem Test-Payload Variablen auf der Registerkarte Ausgaben automatisch zuordnen. Siehe Ausgabevariablen automatisch zuordnen.

    Erweiterte SSH-Skriptoptionen

    Um ein MID-Server -Skript auf dem Zielhost auszuführen, geben Sie den Skripttyp an, und übergeben Sie den Namen des Skripts an den Parameter ${syncFile()}. Das System verwendet diesen Parameter, um nach dem benannten Skript in der Tabelle der MID Server-Skriptdatei [ecc_agent_script_file] zu suchen und dieses auf dem Ziel host auszuführen. Beispielsweise kann ein Bash-Skript wie folgt ausgedrückt werden:
    bash ${syncFile("<MID script name>")} argument1 argument2 argument3
    Ein Basisskript (main_script.bash) kann auf ein anderes Skript (my_include.bash) sowie auf eine andere Datei (.my_profile) verweisen, die sich auf dem Ziel-Host befindet. Sowohl das Skript als auch die Datei, auf die verwiesen wird, müssen mithilfe des Parameters ${syncFile()} mit MID-Serversynchronisiert werden, um ordnungsgemäß ausgeführt zu werden.
    source ${syncFile(".my_profile")}
    cp ${syncFile("my_include.bash")} /usr/ssmith/my_include.bash
    bash ${syncFile("main_script.bash")} one two three four five six 
    rm /usr/ssmith/my_include.bash
    Ein Python-Beispiel mit Inline-Kommentaren könnte wie folgt aussehen:
    set $LIB_DIR=/usr/bin;. 
    # Sync a file that is referenced inside myF5CreateLBPool.py 
    cp ${syncFile("specialFunctions.py")} ~/specialFunctions.py 
    # set up environment variables 
    source ${syncFile(".python_profile")} 
    # call script that sets up dependencies on the box from remote package repos 
    python ${syncFile("setupPythonDependencies.py")} pycontrol 
    # call a script that requires functions from the package as well as a function from myIncludedFile 
    python ${syncFile("myF5CreateLBPool.py")} snow_pool myActualValue 
    # user is responsible for their own cleanup 
    rm ~/specialFunctions.py 

    Nächste Maßnahme

    Ausführungsparameter für SSH-Vorlagen

    Verwenden Sie Ausführungsparameter, um das Eingabeprozessskript im Formular Vorverarbeitung des Aktivitätendesigners zu erstellen.

    Beschreibungen der Befehlsfelder finden Sie unter SSH-Ausführungsbefehle konfigurieren.
    Hinweis:
    Sie müssen das Präfix executionParam. mit allen Variablen in dieser Tabelle verwenden.
    Tabelle : 1. SSH-Ausführungsparameter
    Name Variable Typ Verwendung
    Quelle source Zeichenfolge Vorgesehenes Ziel oder vorgesehener Host
    Befehl command Zeichenfolge Auf dem Host auszuführender Befehl
    Verzeichnis directory Zeichenfolge Verzeichnis auf dem Host, in dem der Befehl ausgeführt werden soll
    Anmelde-Tag credential_tag Zeichenfolge Anmelde-Tag von Orchestration, das beim Ausführen des Befehls verwendet werden soll
    MidCapabilities midCapabilities Zeichenfolge (durch Kommas getrennt) Liste der erforderlichen MID Server-Fähigkeiten
    ValueCapabilities valueCapabilities Hashmap-Array Fähigkeitswerte zur Auswahl des MID Servers. Weitere Informationen finden Sie unter MID Server-Fähigkeiten. Verwenden Sie dieses Beispiel, um die Auswahl des MID Servers anzupassen, wenn zusätzliche Fähigkeiten nach Wert zugewiesen werden:
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);
    Lang laufend long_running Boolesch Gibt an, ob die Befehlsausführung lange Zeit in Anspruch nimmt oder nicht. Der Wert „wahr“ gibt an, dass der Befehl lange ausgeführt wird.
    Sudo erforderlich must_sudo Boolesch Gibt an, ob diese Aktivität Sudo verwenden muss, um Root-Befehle auszuführen. Der Wert „true“ gibt an, dass sudo- SSH-Anmeldeinformationen verwendet werden müssen.

    SSH-Nachverarbeitungsparameter und Analyse des Payload

    Verwenden Sie diese Parameter, um ein Nachverarbeitungsskript und eine Payload-Analyse zu erstellen sowie ein Tagging vorzunehmen.

    Tabelle : 2. SSH-Nachverarbeitungsparameter
    Name Variable Typ Verwendung
    Ausgabe Ausgabe Zeichenfolge Enthält die vom SSH-Befehl zurückgegebene Ausgabe
    EccSysID eccSysID Zeichenfolge Enthält die Referenz-ID, die der von der Aktivität zurückgegebenen Eingabenachricht der ECC-Warteschlange zugeordnet ist
    ErrorMessages errorMessages Zeichenfolge Enthält die vom SSH-Befehl abgerufenen Fehlermeldungen. Dieser Wert ist null, wenn keine Fehlermeldungen vorhanden sind.
    Tags tags Hashmap der vom SSH-Befehl zurückgegebenen Tag-Werte. Enthält die Tags, die zum Extrahieren der Ausgabe mithilfe der SSH-Befehle verwendet werden. Die Tag-Ausgabe wird durch doppelte Prozentzeichen begrenzt, wie z. B. %%tagname%% … %%. Geben Sie den Befehl in folgendem Format an:
    %%tagname1%%
    output1 line 1
    output1 line 2
    …
    %%
    
    %%tagname2%%
    output2 line 1
    output2 line 2
    …
    %%
    Die zurückgegebenen Tags sind JavaScript-Hashmap-Objekte, wobei jeder Key mit dem Präfix tag beginnt und mit dem Tag-Namen endet.
    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}

    SSH-Ausführungsbefehle konfigurieren

    Verwenden Sie die von Ihnen erstellten Eingabevariablen, um den Befehl zu konfigurieren, den Orchestration auf dem Hostziel ausführt.

    Vorbereitungen

    Erstellen Sie im Formular Eingaben die benötigten Eingabevariablen, bevor Sie mit der Stufe Ausführungsbefehl fortfahren.

    Erforderliche Rolle: activity_creator, admin

    Hinweis:
    Sie können die SSH-Verbindung zwischen dem MID Server und dem Ziel testen, ohne die Aktivität in einem Workflow-Kontext ausführen zu müssen. Details dazu finden Sie unter „Vorlagenausgaben testen“.

    Prozedur

    1. Ziehen Sie Variablen aus der Liste der Eingaben, und legen Sie sie in den Befehlsfeldern ab.
      Das System formatiert die Variablen in der richtigen Syntax für den Befehl.
      Abbildung : 1. SSH-Ausführungsbefehl
      SSH-Ausführungsbefehl
    2. Füllen Sie die in der Tabelle angegebenen Felder aus.
      Tabelle : 3. Eingaben für die SSH-Aktivität
      Feld Beschreibung
      Eingabe Generator für Eingabevariablen. Eingabevariablen erstellen, um sie verfügbaren Feldern zuzuordnen.
      Zielhost Hostname oder IP-Adresse des Zielservers für diese Aktivität
      Befehl Befehl, mit dem diese Aktivität auf dem Zielhost ausgeführt wird.

      Sie können ein MID-Server-Skript aus diesem Feld mit einem beliebigen Skripttyp aufrufen, der von der SSH-Befehlszeile unterstützt wird. Weitere Informationen finden Sie unter Erweiterte SSH-Skriptoptionen unter der Tabelle.

      Verzeichnis Verzeichnis auf dem Zielhost, auf dem der Befehl ausgeführt wird
      Anmelde-Tag Die Anmeldeinformationsaliase für Orchestration-Aktivitäten, die beim Ausführen des Befehls verwendet werden sollen.
      MID Server nach Fähigkeiten auswählen MID Server mit den entsprechenden Fähigkeiten für die Verbindung zum Host. Standardmäßig wählt das System einen MID Server mit SSH-Fähigkeiten aus.
      Lang laufend Kontrollkästchen, um den SSH-Verbindungstimeout für Befehle zu deaktivieren, deren Ausführung länger als die standardmäßigen 60 Sekunden dauern kann. Orchestration überprüft regelmäßig den laufenden Prozess, um den Status zu ermitteln, bis er abgeschlossen ist.
      Sudo erforderlich Checkbox, um die Verwendung von SSH-Anmeldeinformationen zum Ausführen von Befehlen zuzulassen.
    3. Klicken Sie auf Speichern.
    4. Klicken Sie auf Fortsetzen, um mit der Stufe Ausgaben fortzufahren.