Monitoring properties and monitoring profiles

Customize the events that are produced by a message flow by using monitoring properties or a monitoring profile. To customize events when you are designing the message flow, or to apply generic monitoring events to a flow without having to configure at design time, use monitoring properties. To customize events after a message flow is deployed, but without redeploying, use a monitoring profile.

If you have a deployed message flow with monitoring properties that were configured by using the Message Flow editor in the IBM® App Connect Enterprise Toolkit, you can use the mqsireportflowmonitoring command or the administration REST API to extract those properties. You can then use the extracted properties to create the equivalent monitoring profile (.monprofile.xml file) for the message flow. You can then use this profile as a starting point for creating other monitoring profiles.

Monitoring properties

By using the IBM App Connect Enterprise Toolkit Message Flow editor, you can configure event sources on most nodes in a message flow. A node that supports the configuration of event sources has a Monitoring tab on its Properties view. Use this tab to add events and to set their properties. When you deploy the message flow in a BAR file, the monitoring properties are included as part of the message flow.
Key facts about monitoring properties:
  • Use monitoring properties when you want to configure events at message flow design time.
  • Monitoring properties apply only to the message flow in question. You can share monitoring properties between message flows by creating reusable subflows.
  • Monitoring properties are deployed in a BAR file as part of the message flow.
  • Use the mqsichangeflowmonitoring command to activate a message flow, or all message flows in an application or integration server to emit monitoring events.
  • To change any other properties of a monitoring event, alter the monitoring properties in the message flow editor and then save and redeploy the flow in a BAR file.
  • Use the mqsireportflowmonitoring command to report a list of the names of the event sources for a message flow.

Monitoring profiles

When you create a monitoring profile, you deploy it to a policy project and then activate it on a specific message flow, application, or integration server. You can activate the profile by using either the mqsichangeflowmonitoring command or the administration REST API. Alternatively, you can specify the monitoring profile as a BAR file override, as described in Configurable properties in a BAR file.

Key facts about monitoring profiles:
  • You can configure a default monitoring profile for an integration server, by setting properties in the Defaults section of the server.conf.yaml file. This profile is then used when a message flow has no monitoring events that are configured and no specific monitoring profile applied. For example:
    Defaults:
        monitoringProfile: 'myIS1MonitoringProfile'       # Default Monitoring profile
  • You can override a deployed monitoring profile by putting an updated .monprofile.xml file in the integration server's overrides directory, as described in Order of precedence for overrides.
  • You can use a monitoring profile when you want to configure events for a message flow that is deployed and for which no events are configured.
  • You can use a monitoring profile to override the monitoring properties of a message flow that is deployed, as an alternative to redeploying the BAR file. The monitoring profile replaces all monitoring properties.
  • A single monitoring profile can be applied to many message flows. Each flow that it is applied to issues events only if the event sources that are defined in the profile match the message flow. Transaction sources always apply, but terminal sources apply only if the node names are matched.
  • A monitoring profile must be deployed in a policy project. The XML file must have an extension of .monprofile.xml

    For more information, see Creating a monitoring profile, and Deploying and redeploying a monitoring profile.

  • Use the mqsichangeflowmonitoring command to associate the monitoring profile with a message flow, or to activate the message flow to emit monitoring events.
  • Use the REST API to associate the monitoring profile with a message flow. Use a POST to make a change that applies until the message flow is restarted or redeployed. For example, for a message flow deployed in a managed integration server:
    curl -v -X POST "http://<host>:<port>/apiv2/servers/<server name>/applications/<app name>/messageflows/<flow name>/attach-monitoring-profile?project=<policy project name>&profile=<profile-name>
    Use a PATCH to have the change persisted though restart or redeploy. For example:
    curl -v -X PATCH -H "Content-Type: application/json" -d Monitoring\monProf.json "http://<host>:<port>/apiv2/servers/<server name>/applications/<app name>/messageflows/<flow name>
  • Use the mqsireportflowmonitoring command in the following situations:
    • To report a list of event sources for a message flow.
    • To report the monitoring profile for a message flow. You can edit the profile, by adding or changing event sources, then update it by using the mqsichangeproperties command.
    • To extract and create the equivalent monitoring profile monprofile.xml file for a message flow. If the monitoring properties for the message flow were configured in the IBM App Connect Enterprise Toolkit flow editor, you can place the monitoring profile monprofile.xml file into a Policy Project and edit the monitoring profile with an XML editor. Then, you can add it to a BAR file and deploy it. You can then associate the new monitoring profile with the original message flow, or other suitable message flows by using the mqsichangeflowmonitoring command. You can use this technique to override the monitoring properties for a message flow, without having to edit the message flow in the IBM App Connect Enterprise Toolkit toolkit and redeploy the BAR file.
  • Use the REST api to extract a monitoring profile. For example, for a flow in an independent integration server:
    curl -v -X POST -H "Accept: application/xml" http://<host>:<port>/apiv2/applications/<app name>/messageflows/<flow name>/extract-monitoring-profile

    Use a PATCH to have the change persisted though restart or deploy. For example:

    curl -v -X PATCH -H "Content-Type: application/json" -d Monitoring\monProf.json "http://<host>:<port>/apiv2/servers/<server name>/applications/<app name>/messageflows/<flow name>

Where the content of the "Monitoring\monProf.json" file is as follows: {"properties": {"monitoringProfile":"{<policy project name>}:<monitoring profile name>"}}