Fernverwaltung mit REST API
Sie können die REST API verwenden, um ferne Warteschlangenmanager und die IBM® MQ -Objekte zu verwalten, die diesen Warteschlangenmanagern zugeordnet sind. Diese Fernverwaltung umfasst Warteschlangenmanager, die sich auf demselben System befinden, jedoch nicht in derselben IBM MQ -Installation wie der mqweb-Server. Daher können Sie REST API verwenden, um Ihr gesamtes IBM MQ -Netzwerk mit nur einer Installation zu verwalten, auf der der mqweb-Server ausgeführt wird. Um Remote-Queue-Manager zu verwalten, müssen Sie das Gateway administrative REST API so konfigurieren, dass mindestens ein Queue-Manager in derselben Installation wie der mqweb-Server als Gateway-Queue-Manager fungiert. Anschließend können Sie den Remote-Queue-Manager in URL REST API angeben, um die angegebene Verwaltungsaktion auszuführen.
Vorbereitungen
Sie können die Fernverwaltung verhindern, indem Sie das Gateway administrative REST API inaktivieren. Weitere Informationen finden Sie unter administrative REST API -Gateway konfigurieren.
- Der mqweb-Server muss konfiguriert und gestartet sein. Weitere Informationen zum Konfigurieren und Starten des mqweb-Servers finden Sie unter Einstieg in die administrative REST-API.
- Der Warteschlangenmanager, der als Gateway-Warteschlangenmanager konfiguriert werden soll, muss sich in derselben Installation befinden wie der mqweb-Server.
- Der ferne Warteschlangenmanager, den Sie verwalten möchten, muss IBM MQ 8.0 oder höher sein.
- Sie müssen sicherstellen, dass alle in Ihrer Anforderung angegebenen
Attribute für das System, an das die Anforderung gesendet wird, gültig
sind. Wenn beispielsweise der Gateway-Warteschlangen-Manager auf Windows und der Remote-Warteschlangen-Manager auf z/OS® lautet, können Sie nicht anfordern, dass das Attribut
dataCollection.statisticsfür HTTP an die Ressourcequeuezurückgegeben wird. - Sie müssen sicherstellen, dass alle in Ihrer Anforderung angegebenen Attribute für die Stufe von IBM MQ gültig sind, an die Sie die Anforderung senden. Wenn beispielsweise der Remote-Queue-Manager IBM MQ 8.0 ausführt, können Sie nicht anfordern, dass das Attribut
extended.enableMediaImageOperationsfür HTTP für die Ressourcequeuezurückgegeben wird. - Sie müssen eine der folgenden unterstützten REST-Ressourcen verwenden:
/queue/subscription/channel/mqsc/qmgrDie
/qmgr-Ressource gibt nur eine Untergruppe der Attribute zurück, wenn Sie einen fernen WS-Manager abfragen:name,status.started,status.channelInitiatorState,status.ldapConnectionState,status.connectionCountundstatus.publishSubscribeState.
Informationen zu dieser Task
mqRestGatewayQmgr auf den Namen des Gateway-Warteschlangenmanagers zu setzen, oder indem der Name des Gateway-Warteschlangenmanagers in einem Header gesendet wird, der mit der Anforderung gesendet wird. Die Anforderung wird über den Gateway-WS-Manager an den fernen Warteschlangenmanager gesendet. Die Antwort wird mit einem Header zurückgegeben, der den Warteschlangenmanager angibt, der als Gateway-WS-Manager verwendet wurde.Verfahren
Ergebnisse
Ein ibm-mq-rest-gateway-qmgr -Header wird mit der REST-Antwort zurückgegeben. Dieser Header gibt an, welcher WS-Manager als Gateway-Warteschlangenmanager verwendet wurde.
- Überprüfen Sie, ob der ferne WS-Manager aktiv ist.
- Überprüfen Sie, ob der Befehlsserver auf dem fernen System ausgeführt wird.
- Überprüfen Sie, ob das Intervall für die Kanalunterbrechung abgelaufen ist. Beispiel: Wenn ein Kanal gestartet wurde, aber dann nach einiger Zeit heruntergefahren wurde. Dies ist besonders wichtig, wenn Sie die Kanäle manuell starten.
Beispiel
Machine 1gibt es eine Installation
1 und eine Installation 2. Unter Machine 2gibt es eine Installation 3. Ein mqweb-Server ist für Installation 1konfiguriert. In jeder Installation ist ein einzelner Warteschlangenmanager vorhanden, und diese Warteschlangenmanager sind für die Fernverwaltung konfiguriert. Das heißt, die folgenden Empfangsprogramme, Kanäle und Warteschlangen sind konfiguriert und gestartet:- Auf WS-Manager QM1 in
Installation 1unterMachine 1:- Senderkanal QM1.to.WSM2
- Empfängerkanal QM2.to.QM1
- Senderkanal QM1.to.QM3
- Empfängerkanal QM3.to.QM1
- Übertragungswarteschlange QM2
- Übertragungswarteschlange QM3
- Ein Listener, der an Port 1414 konfiguriert ist
- Auf WS-Manager QM2 in
Installation 2unterMachine 1:- Senderkanal QM2.to.QM1
- Empfängerkanal QM1.to.WSM2
- Übertragungswarteschlange QM1
- Ein Listener ist an Port 1415 konfiguriert.
- Auf WS-Manager QM3 in
Installation 3unterMachine 2:- Senderkanal QM3.to.QM1
- Empfängerkanal QM1.to.WSM3
- Übertragungswarteschlange QM1
- Der Standardlistener
Eine Warteschlange, Qon2 ist in QM2 definiert, und eine Warteschlange Qon3 ist in QM3 definiert.
Der Benutzer mquser ist auf beiden Maschinen definiert, erhält die Rolle MQWebAdmin in der REST APIund erhält die Berechtigung für den Zugriff auf die entsprechenden Warteschlangen auf jedem Warteschlangenmanager.
Der Befehl setmqweb wird zum Konfigurieren des Warteschlangenmanagers QM1 als Standard-Gateway-Warteschlangenmanager verwendet.

POST https://localhost:9443/ibmmq/rest/v3/admin/action/qmgr/QM2/mqscDie REST-Anfrage enthält das folgende JSON:{
"type": "runCommandJSON",
"command": "display",
"qualifier": "qlocal",
"name": "Qon2",
"responseParameters": ["type", "descr"]
}{
"commandResponse": [ {
"completionCode": 0,
"reasonCode": 0,
"parameters": {
"descr": "Queue on QM2, Installation 2",
"type": "QLOCAL",
"queue": "Qon2"
}
}],
"overallReasonCode": 0,
"overallCompletionCode": 0
}POST https://localhost:9443/ibmmq/rest/v3/admin/action/qmgr/QM3/mqsc{
"type": "runCommandJSON",
"command": "display",
"qualifier": "qlocal",
"name": "Qon3",
"responseParameters": ["type", "descr"]
}{
"commandResponse": [ {
"completionCode": 0,
"reasonCode": 0,
"parameters": {
"descr": "Queue on QM3, Installation 3",
"type": "QLOCAL",
"queue": "Qon3"
}
}],
"overallReasonCode": 0,
"overallCompletionCode": 0
}