Data Description

The pi_messages event is used in SAP to monitor PI/PO messages used for SAP integration scenarios.

Potential Use Cases

This event could be used in the following scenarios:

  • Alert on message failures

  • Use data from the message payload in integration monitoring scenarios to quantify business impact

  • Understand if messages are in a holding status for an extended period of time

  • Correlate message data to iDocs or SXMB_MONI integration components for an SAP ABAP system

PowerConnect Administrative Console Configuration

By default if the PI Monitoring Plugin is enabled it will use the Simple Filter configuration which will collect all messages including their logs and payload. The simple filter can be tuned further as detailed in the Simple Filters section below.

For more advanced filtering involving multiple filter sets a xml configuration can be provided which is detailed in the Advanced Filters section below.

The PI Message Monitoring plugin also automatically tracks long running PI Messages which may span multiple collection intervals.

Simple Filters

Simple filters work on individual PI message fields. If more than one filter is set, a logical AND is applied to the filters. By default a value of NOT_CONFIGURED represents a wildcard so for example if the Receiver Name filter is set to NOT_CONFIGURED the filter will match any Receiver Name in the PI Messages. Simple filters also allow the collection for PI Message payloads and logs.

To persist the changes to the Simple Filters hit the Save button.

Name

Description

Accepted Values

Restart of PowerConnect Required

Default

Direction

Filter on Sender or Receiver direction

OUTBOUND, INBOUND

No

NOT_CONFIGURED

Only Faulty Messages

Track only PI messages that experience an error

true, false

No

false

Receiver Name

Filter on Receiver name

Any string

No

NOT_CONFIGURED

Receiver Party

Filter on Receiver party

Any string

No

NOT_CONFIGURED

Sender Name

Filter on Sender name

Any string

No

NOT_CONFIGURED

Sender Party

Filter on Sender Party

Any string

No

NOT_CONFIGURED

Status

Filter on status of PI message

success, toBeDelivered, waiting, holding, delivering, systemError, canceled

No

NOT_CONFIGURED

Message Type

Filter on PI message type

Any string

No

NOT_CONFIGURED

Interface Name

Filter on Interface name

Any string

No

NOT_CONFIGURED

Interface Namespace

Filter on Interface namespace

Any string

No

NOT_CONFIGURED

Collect message logs

Enables or disables PI message log collection

true, false

No

true

Collect message payload

Enables or disables PI message payload collection

true, false

No

true

Collect payload version

Specifies payload version to collect

all, latest

No

latest

Advanced Filter

Advanced filters should be used where simple field filters are insufficient for the use case. For example consider the following scenario. You have 15 PI Receivers and you are only interested in collecting PI message meta data from 2 of them. However if any PI message from the 2 Receivers has errored during processing, you would also like to collect the payload and logs for those errored PI messages.

This scenario can be implemented using Advanced Filters. The Advanced Filters are configured using an XML configuration file. The XML file can contain multiple filters, each with their own set of field filters along with the ability to enable payload and log collection per filter.

As an example let’s say the 2 Receivers from our scenario above are named rec_1 and rec_2. The XML to cater for the scenario would be as follows:

Note the ommission of any field filter means it takes it’s default value.

To apply this XML configuration save the file then click the Choose file button. Then select and open the XML file you just saved. The new filters will then be applied. Note that Advanced Filters override the Simple XML filters.

To export the configuration press the Export XML link.

To clear the Advanced Filters and revert back to using Simple Filters press the Clear button.

The xml configuration elements are detailed as follows:

Element Name

Accepted Values

Description

Example

direction

INBOUND, OUTBOUND

filter on direction of pi message

INBOUND

interfacename

Any string

filter on interface name of pi message

testinterface

namespace

Any string

filter on namespace of pi message

testnamespace

messagetype

Any string

filter on type of pi message

send

onlyfaultymessages

true, false

track only pi messages that experience an error

receivername

Any string

filter on receiver name of pi message

testreceiver

receiverparty

Any string

filter on receiver party of pi message

testparty

sendername

Any string

filter on status of pi message

testsender

senderparty

Any string

collect staged payload of pi message

testparty

status

success, toBeDelivered, waiting, holding, delivering, systemError, canceled

filter on status of pi message

systemError

payload

true, false

collect specific version(s) of staged pi message payload

logs

true, false

collect logged payload of pi message

payloadversion

all, latest, [comma separated list of versions]

collect specific version(s) of staged pi message payload

1,4

payloadlog

true, false

collect logged payload of pi message

payloadlogversion

[comma separated list of versions]

collect specific version(s) of logged pi message payload

0,1

Configuration

This section of the PI Message Monitor configuration deals with general configuration settings which apply globally.

Name

Description

Restart of PowerConnect Required?

Default

Max number of messages per minute

Sets the limit on the number of messages the PI Monitoring plugin will collect per run per filter (per SAP instance) if you have 2 instances, and this is set to the default (100) then the agent will collect 100 messages per instance equal to 200 messages maximum across the entire instance.

No

100

In-flight message cache size

Sets the limit on the number of in-flight PI messages the PI Monitoring plugin will track

Yes

1000

In-flight message cache expiry (hours)

Defines how long in hours the in-flight PI messages will be kept in the cache before being removed

Yes

24

Splunk Event

The event will look different depending on the configuration options specified, but here is an example in Splunk:

Field Mapping

Field

Description

Unit of Measure

application_component

Application component

String

connection_name

Connection name

String

direction

Sender or Receiver direction

String

duration

Message duration

Number (miliseconds)

end_time

Latest status update time for the message

YYYY-mm-ddTHH:MM:SSZ

event_type

pi_message

String

instance_id

Server node

Number

integration_scenario

Integration scenario

String

linecount

Number

message_id

Message ID

String

message_key

String

parent_id

String

payload

Message payload

String (XML)

pid

Process ID

String

punct

String

qos

The message Quality of Service. BE (Best Effort), EO (Exactly Once), and EOIO (Exactly Once in Order) are valid inputs

String

receiver_interface

Receiver interface and namespace

String

receiver_name

Receiver component name

String

receiver_namespace

Receiver namespace

String

receiver_party

Receiver party name

String

sap_system_name

SAP SID

String

sender_interface

Sender interface and namespace

String

sender_name

Sender component name

String

sender_namespace

Sender namespace

String

sender_party

Sender party name

String

size

Message size

Number (bytes)

start_time

Initial send time

YYYY-mm-ddTHH:MM:SSZ

status

Message status

String

system_type

Type of SAP system

String

version

Message version

Number