MFT monitor log message format

Monitor log messages are published to the SYSTEM.FTE topic with a topic string of Log/agent_name/Monitors/monitor_name/monitor_ID.

To collect data or view monitor actions, set up a subscription to a wildcard topic tailored to the monitors that we are interested in. For example:
Log/# 
or,
Log/agent_name/# 
This subscription can be durable or non-durable. Durable subscriptions continue to exist when a subscribing application's connection to the queue manager is closed. Non-durable subscriptions exist only as long as a subscribing application's connection to the queue manager remains open.

The MonitorLog.xsd schema document is located in the MQ_INSTALLATION_PATH/mqft/samples/schema directory. The MonitorLog.xsd schema imports fteutils.xsd, which is in the same directory.


Schema

The following schema describes which elements are valid in a monitor log XML message.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="fteutils.xsd"/>

    <xsd:element name="monitorLog">
        <xsd:complexType>
            <xsd:sequence>         	    
                <xsd:element name="originator"       type="hostUserIDType"         maxOccurs="1" minOccurs="0"/>
                <xsd:element name="references"       type="referencesType"         maxOccurs="1" minOccurs="0"/>
                <xsd:element name="action"           type="monitorActionType"      maxOccurs="1" minOccurs="1"/> 	
                <xsd:element name="monitorAgent"     type="agentType"              maxOccurs="1" minOccurs="1"/>
                <xsd:element name="status"           type="statusType"             maxOccurs="1" minOccurs="1"/>
                <xsd:element name="monitorMetaData"  type="monitorMetaDataType"    maxOccurs="1" minOccurs="0"/>
                <xsd:element name="monitorExits"     type="exitGroupType"          maxOccurs="1" minOccurs="0"/>
                <xsd:element name="jobDetails"       type="jobType"                maxOccurs="1" minOccurs="0"/>
                <xsd:element name="taskXMLRequest"   type="taskXMLRequestType"     maxOccurs="1" minOccurs="0"/>
                <xsd:element name="monitorXMLRequest"   type="monitorXMLRequestType"             maxOccurs="1" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="version"     type="versionType" use="required"/>
            <xsd:attribute name="monitorName" type="xsd:string"  use="required"/>
            <xsd:attribute name="referenceId" type="xsd:string"  use="optional"/>
        </xsd:complexType>
    </xsd:element> 

    <xsd:complexType name="monitorActionType">
        <xsd:simpleContent>
            <xsd:extension base="monitorActionEnumType">
                <xsd:attribute name="time" type="xsd:dateTime" use="required" />     		
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:simpleType name="monitorActionEnumType">
        <xsd:restriction base="xsd:token">
            <xsd:enumeration value="create"/>
            <xsd:enumeration value="delete"/>
            <xsd:enumeration value="start"/>
            <xsd:enumeration value="stop"/>
            <xsd:enumeration value="triggerSatisfied"/>
            <xsd:enumeration value="triggerNotSatisfied"/>
            <xsd:enumeration value="triggerFail"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="monitorMetaDataType">
        <xsd:sequence>
            <xsd:element name="originalMetaData" type="metaDataSetType"  maxOccurs="1" minOccurs="0"/>
            <xsd:element name="updatedMetaData"  type="metaDataSetType"  maxOccurs="unbounded" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="taskXMLRequestType">
        <xsd:sequence>
            <xsd:element name="originalRequest" type="xsd:string"  maxOccurs="1" minOccurs="1"/>
            <xsd:element name="updatedRequest"  type="xsd:string"  maxOccurs="1" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="taskId" type="xsd:string" use="required"/>
    </xsd:complexType> 

    <xsd:complexType name="referencesType">
        <xsd:sequence>
            <xsd:element name="createRequest" type="xsd:string"  maxOccurs="1" minOccurs="0"/>
            <xsd:element name="taskRequest"   type="xsd:string"  maxOccurs="1" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="monitorXMLRequestType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="type" type="xmlContentEnumType" use="required" />
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:simpleType name="xmlContentEnumType">
        <xsd:restriction base="xsd:token">
            <xsd:enumeration value="escapedXML"/>
        </xsd:restriction>
    </xsd:simpleType>

</xsd:schema>


Understand the monitor log message

The elements and attributes used in the monitor log messages are described in the following list:

    <monitorLog>
    Group element containing the elements describe an action that has been performed by a monitor.

    Attribute Description
    version Required. The version of the monitor list message format.
    monitorName Required. The name of the monitor. Unique for the agent that the monitor is defined on.
    referenceId The ID of the monitor action.

    <originator>
    Group element that contains the elements specifying the originator of the request.

    <hostName>
    The host name of the system where the source file is located.

    <userID>
    The user ID that originated the file transfer.

    <mqmdUserID>
    Optional. The IBM MQ user ID that was supplied in the message descriptor (MQMD).

    <references>
    References to the IDs of other messages associated with this monitor action.

    <createRequest>
    The message ID of the XML request message that was used to create the monitor.

    <taskRequest>
    The message ID of the XML request message that the monitor submits as a result of this action.

    <action>
    The action that occurred, which this log message is associated with. The value inside the element can be one of the following: create, delete, start, stop, triggerSatisfied, triggerNotSatisfied, or triggerFail.

    <monitorAgent>
    The agent that is monitoring the resource.

    Attribute Description
    agent Required. The name of the agent.
    QMgr Optional. The name of the queue manager that the agent connects to.
    bridgeURL Optional. If the agent is a protocol bridge agent, the URL of the protocol server.

    <status>
    The status of the resource monitor action being logged.

    Attribute Description
    resultCode Required. The integer result code from the action.

    <supplement>
    Additional information about the status of the resource monitor action being logged.

    <monitorMetaData>
    Group element that contains the <originalMetaData> and <updatedMetaData> elements.

      <originalMetaData>
      Element that contains one or more <metadata> elements that describe the metadata of the monitor before the action occurs.

      <updatedMetaData>
      Element that contains one or more <metadata> elements that describe the metadata of the monitor after the action occurs.

      <metadata>
      Defines a metadata key-value pair. The key is an attribute of the element; the value is the content of the element.

      Attirbute Description
      key The key of the metadata.

    <monitorExits>
    Group element containing one or more <exit> elements.

    <exits>
    Element describing an exit run by the resource monitor.

    Attribute Description
    name Required. The name of the resource monitor exit.

      <status>
      The status of the resource monitor exit that is being logged.

      Attribute Description
      resultCode Required. The integer result code from the exit.

      <supplement>
      Additional information about the status of the resource monitor exit that is being logged.

    <jobDetails>
    Element containing a single <name> element.

      <name>
      The name of the job..

    <taskXMLRequest>
    Group element that contains the <originalRequest> and <updatedRequest> elements.

    Attribute Description
    taskId The ID of the task request message.

      <originalRequest>
      Element that contains the escaped XML request message for the task that the monitor performs.

      <updatedRequest>
      Element that contains the updated escaped XML request message for the task that the monitor performs.

    <monitorXMLRequest>
    The monitor XML request.

    Attribute Description
    type Required. The format of the monitor XML request data inside of the <monitorXMLRequest> element. The only valid value is escapedXML.


Examples

Examples of XML messages that conform to this schema are provided for each of the following monitor actions:

  • MFT monitor log message examples
    Examples of the messages that are published to the SYSTEM.FTE topic with a topic string of Log/agent_name/monitor_ID when a monitor action occurs.

Parent topic: XML message formats used by MFT


Related reference