Skip to main content

Downstream Message Monitoring Tool

The Downstream Message Monitoring Tool checks for missing messages in your downstream component. It does so by comparing messages between your upstream and downstream component logs for a given time interval.

Warning

This tool causes temporary increase in CPU/memory usage while in use. We recommend testing this tool in off-hours to assess its resource impact. CPU/memory usage will vary depending on the message volume in the time period selected.

Warning

If you have a lot of log results, and you try to click on them in this component's Translator Annotations, it may cause IguanaX to freeze and memory to spike drastically.

The intended use case is as follows:

  1. Pick a time interval for which you want to verify if all messages made it from the upstream into the downstream component.

  2. Configure the Downstream Message Monitoring Tool as needed.

  3. Start the Tool and allow it to run until you see “Process complete, check logs for details.” at the bottom of the component card, or you see “The following Message IDs….” in its logs.

  4. Inspect its logs for details.

Running the Component

STEP 1: Import the Downstream Message Monitoring Tool component

Using +COMPONENT, import the Downstream Message Monitoring Tool component.

STEP 2: Setup the component configurations

Bolded fields are required, otherwise default values defined in config.json are used:

Field

Description

Default Value

Run As User

The user with permissions to run log searches.

admin

Upstream Comp

The name of the upstream component.

 

Downstream Comp

The name of the downstream component.

Start Time

When to start the search from. Must be in the time-zone of the server running Iguana. Date format as: YYYY-MM-DD HH:MM:SS

If not specified, script will start search 24 hours ago.

End Time

When to end the search. Must be in the time-zone of the server running Iguana. Date format as: YYYY-MM-DD HH:MM:SS

If not specified, script will stop search at current time.

Script Timeout

The script timeout in seconds.

300

Downstream Buffer

Seconds to extend downstream log search after End Time (downstream logs always appear after upstream).

60

Message ID Field (MSH)

MSH field index to use for the message ID.

10

STEP 3: Start the component and view the results in the logs

When you start the component, it will perform logic to gather a list of messages from the upstream and downstream component's logs. It will compare these to identify messages lost in the downstream component.

When the component has finished, you will briefly see the “Process complete, check logs for details.” text at the bottom of the component card:

The component should stop automatically on its own

Navigate to its logs. If there are no issues, you will see a log similar to the following. Double click the log message to view its entire content:

If the tool identified lost messages, double check each message identified in the logs of the relevant downstream component to validate that they are missing.

If there are any prior error or warning logs, the end results of lost messages will not be accurate. You should read through any additional error/warning logs and make the appropriate fixes before running the component again. Some examples of these are:

Parsing errors, where the script could not properly parse Message Ids:

An error that the upstream component has no messages in the timeframe you defined:

An error indicating there are more message results in your logs than the log search limit. You must decrease your search interval so that the amount of search results in the given time window is less than the limit (100000):

Considerations:

  • This tool uses seconds-based filtering, thus if you specify a start time of 08:45:15 it will include anything in 08:45:15.xxx in its search.

  • In the configurations, if you specify an End Time, you must also specify a Start Time. However, if you instead specify a Start Time but no End Time, end time will default to current time.