In der folgenden Abbildung wird der Bildschirm "Configure" gezeigt. Dieser Bildschirm wird angezeigt, nachdem Agent Builder die Erstellung des Ressourcentyps beendet hat und Sie im Bildschirm "Create" auf Next geklickt haben. Auf den Bildschirm "Configure" kann erst dann zugegriffen werden, wenn der Ressourcentyp erstellt worden ist.
Der Bildschirm "Configure" enthält folgende Felder:
Start Command — Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu starten. Die Angabe dieses Befehls ist erforderlich. Sie können ihn in das dafür vorgesehene Feld eingeben oder mit der Schaltfläche Browse die Datei suchen, die den Startbefehl für die Anwendung enthält.
Die vollständige Befehlszeile muss alle erforderlichen Parameter zum Starten der Anwendung enthalten, wie Hostnamen, Port-Nummern, einen Pfad zu Konfigurationsdateien usw. Wenn für die Anwendung ein Hostname an der Befehlszeile angegeben werden muss, können Sie die von Agent Builder definierte $hostnames-Variable verwenden (siehe Verwenden der $hostnames-Variablen von Agent Builder).
Der Befehl darf nicht in doppelten Anführungszeichen stehen (““).
Wenn die Basisanwendung über mehrere unabhängige Prozessbaumstrukturen verfügt, von denen jede unter einer eigenen Markierung unter PMF-Steuerung gestartet wird, kann kein einzelner Befehl angegeben werden. Stattdessen müssen Sie eine Textdatei mit den einzelnen Befehlen zum Starten jeder Prozessbaumstruktur erstellen und im Textfeld "Start Command" den Pfad zu dieser Datei angeben. In Erstellen von Ressourcentypen mit mehreren unabhängigen Prozessbaumstrukturen finden Sie Informationen zu einigen speziellen Eigenschaften, die diese Datei erfüllen muss, um ordnungsgemäß zu funktionieren.
Stop Command — Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu stoppen. Sie können den Befehl in das dafür vorgesehene Feld eingeben oder die Schaltfläche "Browse" verwenden, um die Datei zu suchen, die den Stopp-Befehl für die Anwendung enthält. Wenn für die Anwendung ein Hostname an der Befehlszeile eingegeben werden muss, können Sie die von Agent Builder definierte $hostnames-Variable verwenden (siehe Verwenden der $hostnames-Variablen von Agent Builder).
Dieser Befehl ist optional. Wenn Sie keinen Stopp-Befehl angeben, verwendet der generierte Code die folgenden Signale (in der Stop-Methode), um die Anwendung zu stoppen.
Die Stop-Methode sendet SIGTERM , um die Anwendung zu stoppen, und wartet 80% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Wenn das SIGTERM-Signal nicht erfolgreich ist, sendet die Stop-Methode SIGKILL, um die Anwendung zu stoppen, und wartet während 15% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Wenn SIGKILL nicht erfolgreich ist, wird die Stop-Methode erfolglos beendet (die restlichen 5% des Zeitüberschreitungswertes werden als Überlauf betrachtet).
Stellen Sie sicher, dass der Stopp-Befehl keine Antwort zurückgibt, bevor die Anwendung vollständig gestoppt wurde.
Probe Command — Ein Befehl, der in regelmäßigen Abständen ausgeführt werden kann, um die Anwendung auf Fehler zu überprüfen und einen entsprechenden Beendigungsstatus zwischen 0 (Erfolg) und 100 (Totalfehlschlag) zurückzugeben. Dieser Befehl ist optional. Sie können den gesamten Pfad zum Befehl eingeben oder mit der Schaltfläche "Browse" die Datei suchen, die den Befehl für das Testen der Anwendung enthält.
In der Regel wird ein einfacher Client der Basisanwendung angegeben. Wenn Sie keinen Testsignal-Befehl angeben, stellt der generierte Code einfach Verbindungen mit dem von der Ressource verwendeten Port her und trennt diese wieder. Wenn dieser Vorgang erfolgreich verläuft, wird die Anwendung als fehlerfrei deklariert. Der Testsignal-Befehl kann nur für Anwendungen mit Netzwerkunterstützung verwendet werden. Agent Builder generiert immer einen Testsignal-Befehl. Für Anwendungen ohne Netzwerkunterstützung wird dieser jedoch deaktiviert.
Wenn für die Anwendung an der Testsignal-Befehlszeile ein Hostname angegeben werden muss, können Sie die von Agent Builder definierte $hostnames-Variable verwenden (siehe Verwenden der $hostnames-Variablen von Agent Builder).
Timeout — (für jeden Befehl) — Ein Zeitüberschreitungswert in Sekunden für jeden Befehl. Sie können einen neuen Wert angeben oder den von Agent Builder vorgegebenen Standardwert (300 Sekunden für "start" und "stop", 30 Sekunden für "probe") akzeptieren.
Für viele Anwendungen, insbesondere Anwendungen mit Netzwerkunterstützung, muss der Hostname, auf dem die Anwendung Kundenanforderungen abhört und beantwortet, der Anwendung an der Befehlszeile angegeben werden. Daher ist der Hostname in vielen Fällen ein Parameter, der für Start-, Stopp- und Testsignal-Befehle für den Zielressourcentyp angegeben werden muss (auf dem Bildschirm "Configure"). Der Hostname, auf dem die Anwendung abhört, ist jedoch Cluster-spezifisch—er wird festgelegt, wenn die Ressource auf einem Cluster ausgeführt wird und kann nicht festgelegt werden, wenn Agent Builder den Ressourcentypcode generiert.
Zum Beheben dieses Problems stellt Agent Builder die $hostnames-Variable bereit, die Sie an der Befehlszeile für die Start-, Stopp- und Testsignal-Befehle angeben können. Sie geben die $hostnames-Variable genau so an, wie Sie dies mit einem tatsächlichen Hostnamen tun würden, zum Beispiel:
/opt/network_aware/echo_server -p Port-Nummer -l $hostnames |
Wenn eine Ressource des Zielressourcentyps auf einem Cluster ausgeführt wird, ersetzt der für diese Ressource konfigurierte LogicalHostname bzw. SharedAddress-Hostname für die Ressource (in der Ressourceneigenschaft Network_resources_used der Ressource) den Wert der $hostnames-Variablen.
Wenn Sie die Eigenschaft Network_resources_used mit mehreren Hostnamen konfigurieren, enthält die $hostnames alle Hostnamen, durch Komma voneinander getrennt.
Agent Builder kann Ressourcentypen für Anwendungen erstellen, die über mehr als eine unabhängige Prozessbaumstruktur verfügen. Diese Prozessbaumstrukturen sind unabhängig in dem Sinn, dass sie PMF-Monitoren einzeln starten und anhalten. PMF startet jede dieser Prozessbaumstrukturen mit ihrer eigenen Markierung.
Agent Builder ermöglicht das Erstellen von Ressourcentypen mit mehreren unabhängigen Prozessbaumstrukturen nur dann, wenn der angegebene generierte Quellcode C ist. Für das Erstellen dieser Ressourcentypen für ksh oder für GDS kann Agent Builder nicht eingesetzt werden. Der Code zum Erstellen dieser Ressourcentypen für ksh oder für GDS muss manuell geschrieben werden.
Im Fall einer Basisanwendung mit mehreren unabhängigen Prozessbaumstrukturen können Sie keinen einzelnen Befehl für das Starten der Anwendung angeben. Stattdessen muss eine Textdatei erstellt werden, in der jede Zeile den vollständigen Pfad zum Start-Befehl für eine der Prozessbaumstrukturen der Anwendung enthält. Diese Datei darf keine Leerzeilen enthalten. Sie können diese Textdatei im Textfeld "Start Command" im Bildschirm "Configure" angeben.
Vergewissern Sie sich auch, dass die Textdatei keine Ausführungsberechtigungen hat. So kann Agent Builder die Datei, die dem Starten von mehreren Prozessbaumstrukturen dient, von einem einfachen ausführbaren Skript mit mehreren Befehlen unterscheiden. Wenn die Textdatei Ausführungsberechtigungen erhält, werden zwar die Ressourcen auf einem Cluster einwandfrei hochgeladen. Alle Befehle werden jedoch unter einer einzigen PMF-Markierung gestartet, was die Möglichkeit ausschließt, die Prozessbaumstrukturen einzeln mit PMF zu überwachen und neu zu starten.