strmqtrc

Mit diesem Befehl wird die Tracefunktion auf einer angegebenen Detailebene aktiviert oder die aktuelle Tracingebene gemeldet.

Zweck

Mit dem Befehl strmqtrc wird die Tracefunktion aktiviert.

Sie müssen den Befehl strmqtrc aus der Installation des Warteschlangenmanagers ausführen, mit dem Sie arbeiten. Um herauszufinden, welcher Installation ein Warteschlangenmanager zugeordnet ist, verwenden Sie den Befehl dspmq -o installation. Dies gilt nicht für ein Clientprodukt (z. B. HP Integrity NonStop Server ) da es keine Warteschlangenmanager gibt, von denen direkte Ausgabe angefordert werden kann.

Syntax

The syntax of this command is as follows:

Read syntax diagramSkip visual syntax diagram strmqtrc   -m QMgrName  -e   -t TraceType  -x TraceType  -l MaxSize-d0-1NumOfBytes  -i PidTids  -p Apps  -s   -b StartTrigger  -c StopTrigger

Beschreibung

Mit dem Befehl strmqtrc wird die Tracefunktion aktiviert. Es gibt optionale Parameter zur Angabe der gewünschten Tracingebene:
  • Einen oder mehrere Warteschlangenmanager
  • Detailebene der Tracefunktion
  • Mindestens ein IBM MQ -Prozess. Die Prozesse können entweder Teil der IBM MQ -Produkt-oder Kundenanwendungen sein, die die IBM MQ -API verwenden
  • Bestimmte Threads in Kundenanwendungen, entweder nach IBM MQ -Threadnummer oder nach Betriebssystemthreadnummer
  • Ereignisse Dabei kann es sich entweder um den Eingang oder den Ausgang interner IBM MQ -Funktionen oder um das Auftreten einer Erfassung von Fehlerdaten beim ersten Auftreten (First Failure Data Capture, FDC) handeln.
Jede Parameterkombination bei einem einzelnen Aufruf des Befehls wird von IBM MQ als mit einem logischen UND verknüpft interpretiert. Sie können den Befehl strmqtrc mehrmals starten, auch wenn die Tracefunktion bereits aktiviert ist. Wenn die Tracefunktion bereits aktiviert ist, werden die wirksamen Traceoptionen in die Optionen geändert, die beim letzten Aufruf des Befehls angegeben wurden. Mehrere Aufrufe des Befehls ohne zwischengeschalteten Befehl enqmqtrc werden von IBM MQ als mit einem logischen OR verbunden interpretiert. Es können maximal 16 Befehle strmqtrc gleichzeitig ablaufen.

Für den IBM MQ -Client unter HP Integrity NonStop Servermüssen Sie Ihre Tracebefehle an bestimmte Prozessoren übertragen. Wenn Ihr Client beispielsweise auf Prozessor 2 ausgeführt wird und sich Ihre Shell auf Prozessor 1 befindet, wird der Client beim Einleiten des Trace mit strmqtrc <options> nicht verfolgt. In diesem Fall wäre run -cpu=2 strmqtrc erforderlich.

Optionale Parameter

-m QMgrName
Der Name des Warteschlangenmanagers, auf den der Trace angewendet werden soll. Dieser Parameter ist nur bei Serverprodukten gültig.

Die folgenden Platzhalterzeichen sind zulässig: Asterisk (*), Ersetzen von Null oder mehr Zeichen und Fragezeichen (?), wobei alle einzelnen Zeichen ersetzt werden. In Befehlsumgebungen, wie z. B. der UNIX-Shell, in der die Zeichen Asterisk (*) und Fragezeichen (?) eine besondere Bedeutung haben, müssen Sie entweder dem Platzhalterzeichen entziehen oder es in Anführungszeichen setzen, um zu verhindern, dass die Befehlsumgebung mit dem Platzhalterzeichen arbeitet.

-e
Mit dieser Option wird Tracing aller Prozesse in einem frühen Stadium angefordert. Dadurch lässt sich die Erstellung oder der Start eines Warteschlangenmanagers verfolgen. Wenn Sie dieses Flag angeben, verfolgt jeder Prozess, der zu einer Komponente eines Warteschlangenmanagers gehört, dessen Verarbeitung in einem frühen Stadium. Standardmäßig wird Tracing in einem frühen Stadium nicht ausgeführt.

Führen Sie mit folgendem Befehl einen Trace für einen Client durch:

strmqtrc -e

Sie können das Flag -e nicht mit dem Flag -m, -i, -p, -c oder -b verwenden. Wenn Sie versuchen, das Flag -e mit dem Flag -m, -i, -p, -c oder -b zu verwenden, wird eine Fehlernachricht ausgegeben.

-t TraceType
Die zu verfolgenden Punkte und die aufzuzeichnende Tracedetailebene. Standardmäßig werden alle Tracepunkte aktiviert und ein Trace auf Standarddetailebene wird generiert.

Alternativ können Sie eine oder mehrere der in der folgenden Liste aufgeführten Optionen eingeben. Geben Sie für jeden Wert für tracetype , einschließlich -t all, entweder -t parms oder -t detail an, um die entsprechende Tracedetailstufe zu erhalten. Wenn Sie für einen bestimmten Tracetyp weder -t parms noch -t detail angeben, wird für diesen Tracetyp nur ein Trace auf Standarddetailebene generiert.

Achtung: Bei Verwendung der Option -t api wird ein Trace der MQI-Aufrufe angezeigt, wobei alle Eingabe-und Ausgabedatenblöcke im Hexadezimalformat ausgegeben werden.

Sie sollten sich bewusst sein, dass interne IBM MQ -Programme auch MQI-Aufrufe ausführen, und Sie werden Tracedateien für diese Programme sehen. Normalerweise beginnen die Programmnamen mit amq oder runmq.

Beachten Sie, dass amqrmppa-Programme viele Threads betreiben, von denen einige MQI-Aufrufe über das Netz von Clientanwendung erhalten. In diesen Threads werden MQI-Aufrufe in den -t api-Traces angezeigt, aber Sie müssen daran denken, dass die Eingabeargumente für die MQI-Aufrufe, die im Programm amqrmppa aufgezeichnet wurden, möglicherweise nicht mit allen Details der MQI-Aufrufe übereinstimmen, die ursprünglich vom Client gestellt wurden.

Wenn Sie also die Eingabeargumente für MQI-Aufrufe, die von der Clientanwendung ausgeführt werden, zuverlässig kennen müssen, müssen Sie die -t api -Traceerstellung auf der Clientmaschine verwenden.

Wenn Sie mehrere Tracetypen angeben, muss jeder über ein eigenes Flag '-t' verfügen. Sie können eine beliebige Anzahl Flags vom Typ '-t' angeben, sofern jedem ein gültiger Tracetyp zugeordnet wird.

Es ist kein Fehler, denselben Tracetyp für mehrere Flags '-t' anzugeben.
Tabelle 1. TraceType-Parameterwerte
Wert Beschreibung
All Gibt Daten für alle Tracepunkte im System aus (Standardeinstellung). Mit dem Parameter all wird Tracing auf der Standarddetailebene aktiviert.
API Gibt Daten für Tracepunkte aus, die MQI und wichtigen Komponenten des Warteschlangenmanagers zugeordnet sind.
commentary Ausgabedaten für Tracepunkte, die Kommentaren in den IBM MQ -Komponenten zugeordnet sind.
comms Gibt Daten für Tracepunkte aus, die Daten zugeordnet sind, die über Kommunikationsnetze laufen.
csdata Gibt Daten für Tracepunkte aus, die internen Datenpuffern in allgemeinen Services zugeordnet sind.
csflows Gibt Daten für Tracepunkte aus, die Prozessabläufen in allgemeinen Services zugeordnet sind.
detail Aktiviert die Tracefunktion auf einer hohen Detailebene für Tracepunkte von Prozessabläufen.
Explorer Ausgabedaten für Tracepunkte, die IBM MQ Explorer zugeordnet sind.
Java Ausgabedaten für Tracepunkte, die Anwendungen zugeordnet sind, die die IBM MQ classes for Java -API verwenden.
lqmdata Es werden Daten für die mit internen Datenpuffern im lokalen Warteschlangenmanager verknüpften Tracepunkte ausgegeben.
lqmflows Gibt Daten für Tracepunkte aus, die Prozessabläufen im lokalen Warteschlangenmanager zugeordnet sind.
mqxr Ausgabedaten für den Telemetrieservice (MQXR)
otherdata Gibt Daten für Tracepunkte aus, die internen Datenpuffern in anderen Komponenten zugeordnet sind.
otherflows Gibt Daten für Tracepunkte aus, die Prozessabläufen in anderen Komponenten zugeordnet sind.
parms Aktiviert die Tracefunktion auf Standarddetailebene für Tracepunkte von Prozessabläufen.
remotedata Gibt Daten für Tracepunkte aus, die internen Datenpuffern in der DFV-Komponente zugeordnet sind.
remoteflows Es werden Daten für die mit dem Verarbeitungsfluss in der Kommunikationskomponente verknüpften Tracepunkte ausgegeben.
servicedata Es werden Daten für die mit internen Datenpuffern in der Servicekomponente verknüpften Tracepunkte ausgegeben.
serviceflows Gibt Daten für Tracepunkte aus, die Prozessabläufen in der Servicekomponente zugeordnet sind.
spldata Gibt Daten für Tracepunkte aus, die Puffern und Steuerblöcken zugeordnet sind, die eine Sicherheitsrichtlinienoperation (AMS) verwenden.
SPLFlows Gibt Daten für Tracepunkte aus, die Einstiegs- und Exitdaten für Funktionen zugeordnet sind, die eine Sicherheitsrichtlinienoperation (AMS) verwenden.
soap Ausgabedaten für Tracepunkte, die IBM MQ Transport for SOAP zugeordnet sind.
ssl Gibt Daten aus, die IBM Global Security Kit (GSKit) zugeordnet sind, um die SSL-Kanalsicherheit (Secure Sockets Layer) zu aktivieren.
versiondata Ausgabedaten für Tracepunkte, die der aktiven Version von IBM MQ zugeordnet sind
-x TraceType
Die Punkte, die nicht verfolgt werden sollen. Standardmäßig werden alle Tracepunkte aktiviert und ein Trace auf Standarddetailebene wird generiert. Sie können die Tracepunkte angeben, die für das Flag -t aufgeführt sind.

Sie können das Flag -x mit Tracetypwerten verwenden, um die Eingangspunkte auszuschließen, die Sie nicht aufzeichnen wollen. Dies hilft, die produzierte Tracemenge zu verringern.

Wenn Sie mehrere Tracetypen eingeben, muss jeder über ein eigenes Flag '-x' verfügen. Sie können eine beliebige Anzahl Flags -x angeben, sofern jedem ein gültiger Tracetyp zugeordnet wird.

-l MaxSize
Die maximale Größe einer Tracedatei ( AMQppppp.qq.TRC) in Megabyte (MB), wobei ppppp auf die Betriebssystemprozess-ID des jeweiligen IBM MQ -Prozesses verweist, für den ein Trace erstellt wird, und qq eine Folgenummer ist, wenn bereits eine Datei mit diesem Namen vorhanden ist. Wenn Sie beispielsweise für MaxSize den Wert 1 angeben, wird die Größe des Trace auf 1 MB beschränkt.

Wenn eine Tracedatei den angegebenen Maximalwert erreicht, wird sie in AMQppppp.qq.TRS umbenannt und eine neue Datei AMQppppp.qq.TRC wird begonnen. Wenn eine frühere Kopie einer Datei AMQppppp.qq.TRS vorhanden ist, wird sie gelöscht.

Der höchste Wert, auf den MaxSize eingestellt werden kann, ist 2048 MB.

-d 0
Verfolgt keine Benutzerdaten.
-d -1 or all
Verfolgt alle Benutzerdaten.
-d NumOfBytes
  • Bei einem DFV-Trace: Verfolgt die angegebene Anzahl Datenbyte, einschließlich des Übertragungssegmentheaders (TSH).
  • Bei einem MQPUT- oder MQGET-Aufruf: Verfolgt die angegebene Anzahl Nachrichtendatenbyte, die sich im Nachrichtenpuffer befinden.
  • Werte von 1 bis 15 sind nicht zulässig.
-i PidTids
Die Prozess-ID (PID) und die Thread-ID (TID), auf die die Traceerzeugung beschränkt ist. Der Parameter -i kann nicht zusammen mit dem Parameter -e verwendet werden. Wenn Sie versuchen, den Parameter -i zusammen mit dem Parameter -e zu verwenden, wird eine Fehlernachricht ausgegeben.
Das genaue Format dieses Parameters ist PID[.TID]. For example:
  • Bei der Codierung von -i 12345 werden alle Threads in der PID 12345 nachverfolgt.
  • Codierung -i 12345.67 zeichnet nur Thread 67 in PID 12345 aus

Dieser Parameter wird für .NET -Clients nicht unterstützt, wenn NMQ_MQ_LIB auf managedgesetzt ist, sodass der Client die verwaltete IBM MQ -Problemdiagnose verwendet.

-p Apps
Die benannten Prozesse, auf die die Traceerzeugung beschränkt ist. Apps ist eine durch Kommas getrennte Liste. Sie müssen jeden Namen in der Liste genau so angeben, wie der Programmname im FDC-Header "Program Name" angezeigt wird. Ein Asterisk (*) oder Fragezeichen (?) sind als Platzhalterzeichen zulässig. Sie können das Flag -p nicht mit dem Flag -e verwenden. Wenn Sie versuchen, das Flag -p mit dem Flag -e zu verwenden, wird eine Fehlernachricht ausgegeben.

Dieser Parameter wird für .NET -Clients nicht unterstützt, wenn NMQ_MQ_LIB auf managedgesetzt ist, sodass der Client die verwaltete IBM MQ -Problemdiagnose verwendet.

-s
Dokumentiert die derzeit aktiven Traceoptionen. Sie müssen diese Parameter exklusiv ohne andere Parameter verwenden.

Zum Speichern dieser Tracebefehle steht eine begrenzte Anzahl Bereiche zur Verfügung. Wenn alle Bereiche belegt sind, können weitere Tracebefehle nur akzeptiert werden, wenn ein vorhandener Bereich ersetzt wird. Die Bereichnummern sind nicht festgelegt. Wenn also der Befehl in Bereich 0 entfernt wird, beispielsweise durch den Befehl endmqtrc, werden alle anderen Bereiche nach oben verschoben, so wird z. B. Bereich 1 zu Bereich 0. Ein Stern (*) in einem Feld bedeutet, dass kein Wert definiert wird, und entspricht dem Platzhalter Stern.

Nachstehend finden Sie ein Beispiel für die Ausgabe dieses Befehls:

Listing Trace Control Array

Used slots = 2 of 15

EarlyTrace    [OFF]
TimedTrace    [OFF]
TraceUserData [0]
MaxSize       [0]
Trace Type    [1]

Slot position 1

Untriggered
Queue Manager [avocet]
Application   [*]
PID.TID       [*]
TraceOptions  [1f4ffff]
TraceInterval    [0]
Trace Start Time [0]
Trace Stop  Time [0]
Start Trigger [KN346050K]
Start Trigger [KN346080]

Slot position 2

Untriggered
Queue Manager [*]
Application   [*]
PID.TID       [*]
TraceOptions  [1fcffff]
TraceInterval    [0]
Trace Start Time [0]
Trace Stop  Time [0]
Start Trigger [KN346050K]
Start Trigger [KN346080]

Dieser Parameter wird für .NET -Clients nicht unterstützt, wenn NMQ_MQ_LIB auf managedgesetzt ist, sodass der Client die verwaltete IBM MQ -Problemdiagnose verwendet.

-b Start_Trigger
FDC-Sonden-IDs, für die die Tracefunktion aktiviert werden muss. Start_Trigger ist eine durch Kommas getrennte Liste von FDC-Sonden-IDs. In der Spezifikation von Test-IDs können Sie Asterisk (*) und Fragezeichen (?) Platzhalterzeichen verwenden. Sie können das Flag -b nicht mit dem Flag -e verwenden. Wenn Sie versuchen, das Flag -b mit dem Flag -e zu verwenden, wird eine Fehlernachricht ausgegeben. Dieser Parameter darf nur unter Anleitung des IBM Service verwendet werden.
Start_Trigger Aktion
FDC=durch Kommas getrennte Liste von FDC-Sonden-IDs. Aktiviert die Tracefunktion, wenn FDCs mit den angegebenen FDC-Sonden-IDs generiert werden.

Dieser Parameter wird für .NET -Clients nicht unterstützt, wenn NMQ_MQ_LIB auf managedgesetzt ist, sodass der Client die verwaltete IBM MQ -Problemdiagnose verwendet.

-c Stop_Trigger
FDC-Sonden-IDs, für die die Tracefunktion inaktiviert werden muss, oder Intervall in Sekunden, nach dem die Tracefunktion inaktiviert werden muss. Stop_Trigger ist eine durch Kommas getrennte Liste von FDC-Sonden-IDs. In der Spezifikation von Test-IDs können Sie Asterisk (*) und Fragezeichen (?) Platzhalterzeichen verwenden. Dieser Parameter darf nur unter Anleitung des Personals des IBM Service verwendet werden.
Stoppauslöser Aktion
FDC=durch Kommas getrennte Liste von FDC-Sonden-IDs. Inaktiviert die Tracefunktion, wenn FDCs mit den angegebenen FDC-Sonden-IDs generiert werden.
Intervall=n; dabei ist n eine ganze Zahl ohne Vorzeichen zwischen 1 und 32.000.000. Inaktiviert die Tracefunktion n Sekunden, nachdem sie gestartet wird, oder, falls die Tracefunktion bereits aktiviert wurde, inaktiviert die Tracefunktion n Sekunden, nachdem diese Instanz des Befehls abgesetzt wurde.

Dieser Parameter wird für .NET -Clients nicht unterstützt, wenn NMQ_MQ_LIB auf managedgesetzt ist, sodass der Client die verwaltete IBM MQ -Problemdiagnose verwendet.

Rückkehrcodes

Rückkehrcode Beschreibung
AMQ7024 Dem Befehl wurden ungültige Argumente bereitgestellt.
AMQ7077 Sie haben keine Berechtigung zum Ausführen der angeforderten Operation.
AMQ8304 Es sind bereits neun Traces gleichzeitig aktiv (Maximalwert).
58 Inkonsistente Verwendung von Installationen erkannt

Beispiele für Aktivierung der Tracefunktion für verschiedene Detaillierungsebenen

Dieser Befehl aktiviert die Traceerstellung für Verarbeitungsabläufe aus allgemeinen Services und dem lokalen Warteschlangenmanager für einen Warteschlangenmanager mit dem Namen QM1 in IBM MQ for UNIX -Systemen. Die Tracedaten werden auf der Standarddetailebene erstellt.
strmqtrc -m QM1 -t csflows -t lqmflows -t parms
Mit dem folgenden Befehl wird die Tracefunktion für SSL-Vorgänge auf einem Warteschlangenmanager namens QM1 inaktiviert. Andere Tracedaten werden auf der Detailebene "parms" erstellt.
strmqtrc -m QM1 -x ssl -t parms
Mit dem folgenden Befehl wird detailliertes Tracing der Prozessabläufe für alle Komponenten aktiviert:
strmqtrc -t all -t detail

Beispiele für Aktivierung der Tracefunktion für eine FDC

Mit dem folgenden Befehl wird die Tracefunktion aktiviert, wenn FDC KN346050 oder FDC KN346080 in einem Prozess auftritt, der den Warteschlangenmanager QM1 verwendet:

strmqtrc -m QM1 -b FDC=KN346050,KN346080

Mit dem folgenden Befehl wird die Tracefunktion beim Auftreten von FDC KN34650 aktiviert und beim Auftreten von FDC KN346080 inaktiviert. In beiden Fällen muss die FDC in einem Prozess auftreten, der den Warteschlangenmanager QM1 verwendet:

strmqtrc -m QM1 -b FDC=KN346050 -c FDC=KN346080

Beispiele für die Verwendung der Flags -p und -m für einzelne und mehrfache Aufrufe von strmqtrc

In den folgenden Beispielen werden die Flags -p und -m verwendet, um Folgendes darzustellen:
  • Gibt an, wie eine Kombination von Parametern bei einem einzelnen Aufruf des Befehls von IBM MQ als mit einem logischen UND verbunden interpretiert wird.
  • Wie Mehrfachaufrufe des Befehls ohne zwischengeschalteten Befehl 'enqmqtrc' von IBM MQ als mit einem logischen OR verbunden interpretiert werden:
  1. Mit dem folgenden Befehl wird die Tracefunktion für alle Threads aktiviert, die durch die Ausführung eines beliebigen Prozesses namens amqxxx.exe entstehen:
    strmqtrc -p amqxxx.exe
    
  2. Nachdem Sie den Befehl strmqtrc gemäß Schritt 1 ausgeführt haben, können Sie einen der folgenden Befehle ohne einen zwischengeschalteten Befehl endmqtrc eingeben.
    • Wenn Sie den folgenden Befehl nach dem Befehl in Schritt 1 ohne eingeschobenen Befehl 'enqmqtrc' starten, wird die Traceerstellung auf alle Threads beschränkt, die infolge eines beliebigen Prozesses namens amqxxx.exe entstehen und die den Warteschlangenmanager QM2 verwenden:
      strmqtrc -p amqxxx.exe -m QM2
      
    • Wenn Sie den folgenden Befehl nach dem Befehl in Schritt 1 ohne eingeschobenen Befehl 'enqmqtrc' starten, wird die Traceerstellung auf alle Prozesse und Threads beschränkt, die durch die Ausführung von amqxxx.exe entstehen oder die den Warteschlangenmanager QM2 verwenden:
      strmqtrc -m QM2
      

Mit diesem Befehl wird die Traceerstellung für alle Warteschlangenmanagerprozesse und Anwendungen aktiviert, die ausgeführt werden und mit dem Warteschlangenmanager QM1 auf CPU 3 verbunden sind:

run -cpu=3 strmqtrc -m QM1

Wenn Sie einen Trace für alle Warteschlangenmanagerprozesse auf allen CPUs erstellen möchten, können Sie den Befehl strmqtrc auf allen CPUs ausführen, die auf Ihrem System verfügbar sind,.

[V8.0.0.14 Jan 2020]

Beispiel für die Aktivierung der dynamischen Traceerstellung für LDAP-Clientbibliothekscode im Lieferumfang von IBM MQ

Ab IBM MQ 8.0.0Fixpack 14ist es möglich, den LDAP-Client-Trace ein-und auszuschalten, ohne den Warteschlangenmanager zu stoppen oder zu starten.

Sie können den Trace mit folgendem Befehl einschalten:
strmqtrc -m QMNAME -t servicedata
Um dieses Verhalten zu aktivieren, muss auch die Umgebungsvariable AMQ_LDAP_TRACE auf einen Wert ungleich null gesetzt werden. Weitere Informationen finden Sie unter Dynamisches Tracing von LDAP-Clientbibliothekscode aktivieren.

Weitere Befehle

Befehl Beschreibung
dspmqtrc Formatierte Traceausgabe anzeigen
endmqtrc Trace beenden