SAP Marketing Cloud (w/ SAP Focused Run Reverse Proxy)

This page describes the monitoring setup for SAP Marketing Cloud using the SAP Focused Run reverse proxy architecture.

To enable this monitoring please ensure that you configured the SAP Focused Run reverse proxy as described here.

Setup Steps in SAP Marketing Cloud

Enable Monitoring Data PUSH to SAP Focused Run via reverse proxy

Perform the following steps to enable SAP Marketing Cloud to send monitoring data to SAP Cloud ALM.

Prerequisites:

  • You need an user with administrator authorizations in SAP Marketing Cloud
  • You need to obtain the SAP Cloud ALM Service Key to connect to the SAP Cloud ALM system
    • Endpoint: The host part of the service key parameter "Api", e.g. eu10.alm.cloud.sap
    • OAuth URL: Service Key parameter "url" + /oauth/token, e.g. calm-tenant.authentication.eu10.hana.ondemand.com/oauth/token
    • Client ID: Service key parameter "clientid"
    • Client secret: Service key parameter "clientsecret"
  1. Log on to SAP Marketing Cloud
  2. Navigate back to the 'Communication Management' view and select 'Communication Arrangements'
  3. Click the New button to create a new Communication Arrangement
  4. Scenario: Select SAP_COM_0527 'Application Monitoring Push Integration'
  5. Click the New button next to 'Communication System' to create a new communication system
    1. Enter a System ID and description and click the Create button
    2. Enter the Cloud ALM endpoint URL in the 'Host Name' field
    3. Make sure the 'Port' is set to 443
    4. Under 'OAuth 2.0 Settings' enter the Cloud ALM OAuth URL in the field 'Token Endpoint'
    5. Under 'Users for Outbound Communication' click the + button to create a new user
      1. Authentication Method: Choose OAuth 2.0
      2. OAuth 2.0 Client ID: Enter Cloud ALM client ID
      3. Client Secret: Enter Cloud ALM client secret
    6. Save the communication system. The UI will take you back to the communication arrangement
  6. Enter an 'X' in 'Collect Integration Monitoring' if the field is empty. Do not change any of the other fields.
  7. The 'Outbound Communication' fields are automatically propagated from the communication system
  8. The "Path" field under 'Outbound Services' is where you have to maintain the path to SAP Focused Run, enter:
    1. The suffix from the Reverse Proxy URL from the endpoint in SAP Cloud ALM, e.g. /api/frunrevproxy/v1/my_customer_network/
    2. Add sap/frun/ (including the / in the end) to the suffix
    3. The total sting should be: /api/frunrevproxy/v1/my_customer_network/sap/frun/
  9. Press the "Enter" key. This will trigger the propagation of the fields below when you save the communication arrangement
  10. Adjust the Job Execution Details to schedule the job to Run Every 01 Minute(s)
  11. Save

Advanced Integration Monitoring Setup

For SAP Marketing Cloud services with PUSH monitoring configuration, the monitoring is activated by default during the PUSH monitoring activation in the managed system. You can activate or deactivate the categories after the initial setup.

Available Monitoring Categories

For SAP Marketing Cloud, different monitoring categories are available:

  • Marketing Data Import (asynchronous): Collects exceptions happening during the data import
  • Extensibility Transport Management: Collects exceptions in the Extensibility Transport Management
  • bgRFC(queue): Collects connections from AIF (Application Interface Framework) of type queued bgRFC
  • bgRFC(trans): Collects connections from AIF (Application Interface Framework) of type transactional bgRFC
  • IDoc: Collects messages from AIF (Application Interface Framework) of type IDoc
  • PI-runtime: Collects messages from AIF (Application Interface Framework) of type PI 
  • qRFC: Collects connections from AIF (Application Interface Framework) of type qRFC
  • tRFC: Collects connections from AIF (Application Interface Framework) of type tRFC
  • WS-runtime: Collects messages from AIF (Application Interface Framework) of type web service 
  • Synchronous Log: Collects messages from AIF (Application Interface Framework) of type SYNC-LOG
  • XML: Collects messages from AIF (Application Interface Framework) of type XML
 

Available Filter Options

For categories collecting messages from AIF no data collection filters are allowed. In general all data is collected. You can create a filter later on, when creating an alert. 

The other categories you can restrict by the following parameters:

  • Object (mandatory): The object of the log record, select from input help
  • Subobject (mandatory): The sub-object of the log record, select from input help
  • External ID: External ID of the Application Log entry
  • Message ID: Message Class
  • Message Number: Message Number
  • Text: Message Text
  • Program: Program triggering the log entry
  • Transaction: Transaction code triggering the log entry
  • User: The user who triggered the log entry

The category 'Extensibility Transport Management' is based on ABAP Application Log

  • Object (mandatory): The object of the log record (always ATO)
  • Subobject (mandatory): The sub-object of the log record (e.g. EXPORT)
  • External ID: External ID of the Application Log entry
  • Message ID: Message Class
  • Message Number: Message Number
  • Text: Message Text
  • Program: Program triggering the log entry
  • Transaction: Transaction code triggering the log entry
  • User: The user who triggered the log entry

Available Metrics

For SAP Marketing Cloud the following metrics are available:

  • Marketing Data Import (asynchronous) exceptions: Creates an alert for exceptions in category Marketing Data Import (asynchronous)
  • Data filter fields:
    • Object: The object of the log record, select from input help
    • Subobject: The sub-object of the log record, select from input help
    • External ID: External ID of the Application Log entry
    • Message ID: Message Class
    • Message Number: Message Number
    • Text: Message Text
    • Program: Program triggering the log entry
    • Transaction: Transaction code triggering the log entry
    • User: The user who triggered the log entry
  • Extensibility Transport Management exceptions: Creates an alert for exceptions in the category Extensibility Transport Management
  • Data filter fields:
    • Object: The object of the log record
    • Subobject: The sub-object of the log record
    • External ID: External ID of the Application Log entry
    • Message ID: Message Class
    • Message Number: Message Number
    • Text: Message Text
    • Program: Program triggering the log entry
    • Transaction: Transaction code triggering the log entry
    • User: The user who triggered the log entry
  • Erroneous Messages detected: Indicates new bgRFC (queue) messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider bgRFC (queue) messages older than [minutes]
  • Erroneous Messages detected: Indicates new bgRFC (trans) messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider bgRFC (trans) messages older than [minutes]
  • Erroneous Messages detected: Indicates new IDocs in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider IDocs older than [minutes]
  • Erroneous Messages detected: Indicates new PI messages in the status Error were found during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider PI Messages older than [minutes]
  • Erroneous Messages detected: Indicates new qRFC messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider qRFC messages older than [minutes]
  • Erroneous Messages detected: Indicates new tRFC messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider tRFC messages older than [minutes]
  • Erroneous Messages detected: Indicates new Sync Log messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction: Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider Sync Log messages older than [minutes]
  • Erroneous Messages detected: The metric specifies the number of erroneous Web Service messages within the collection interval.
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction (if applicable): Message direction
  • Erroneous Messages detected: Indicates new XML messages in the status group ERROR were collected during the collection interval
  • Data filter fields:
    • Namespace: AIF interface namespace
    • Interface Name: AIF interface name
    • Interface Version: AIF interface version
    • Status: The last status of the message
    • Status Group: Please select a value from the input help
    • Status Text: Text in the status or parts thereof
    • Direction: Message direction
  • Metric parameters:
    • STATUS_GROUP (not changeable) = ERROR
    • OLDER_THAN_MINUTES = Only consider XML messages older than [minutes]