Extend the platform,
empower your team.
Capture Real User Monitoring data via Salesforce Real Time Event Streaming.
ExtensionThe Salesforce Event Streaming extension allows you to monitor the usage of your Salesforce CRM account.
Answer questions like:
Setup
-> Event Manager
enable Streaming Data
for the events you want to capture.Create a Custom Application to receive the data:
Digital Experiences
-> Custom Applications
-> Create custom application
.Instrumentation Wizard
and save the Application ID for laterActivate the extension:
https://login.salesforce.com
or https://test.salesforce.com
api.pubsub.salesforce.com:7443
or api.deu.pubsub.salesforce.com:7443
The parameters for the monitoring configuration are:
Parameter | Description |
---|---|
Endpoint name | A friendly name to identify the endpoint |
Login URL | Chose from Production or Sandbox |
Pub/Sub URL | Chose from Global Endpoint or Europe (Frankfurt) Endpoint |
Reporting Mode | Only OpenKit is supported at this time |
Custom Application ID | The Dynatrace Custom Application ID for the app you created before |
Authentication type | Choose from Username and Password or Connected App, see specific documentation below |
Events filtering | Choose which real time events you'd like to send to Dynatrace, by default all are enabled |
Usernames Blocklist | Optional list of Usernames to ignore, use this to block automation/api users from reporting |
Proxy | Optional proxy, in case the Activegate cannot connect to the Salesforce URLs |
The data is sent to the Frontend Application that you created:
You can drill down to the Sessions:
And to the individual properties, by clicking on the User Action
> Perform waterfall analysis
:
To use these properties in User Sessions Query Language:
Session and user action properties
Example: capturing the number of rows for a report:
Querying the property:
SELECT useraction.name, SUM(longProperties.rowsprocessed) FROM useraction WHERE useraction.name STARTSWITH "Report" GROUP BY useraction.name
The extension uses the Salesforce Pub/Sub API to listen for Event Streaming Events.
These events are captured and sent as User Actions with all their respective properties sent as Action Properties. The event properties can be seen by
clicking on an User Action
> Perform waterfall analysis
A detailed description of every event and their properties can be found on the Salesforce documentation.
The current events being captured are:
A user with the permissions:
General User Permissions
View Real-Time Event Monitoring Data
Administrative Permissions
Customize Application
View All Data
The password for the user
The security token for the user
In this mode the extension connects as a Connected App, this is the recommended method of authentication and no user password is required.
Technically, the app implements the OAuth 2.0 JWT Bearer Flow
Dynatrace will ask for:
openssl
(for generating the certificate, not needed if you already have a certificate and private key)Note, on Windows if you have git
installed you should also have a copy of openssl.
It would be under a directory like C:\Program Files\Git\mingw64\bin
depending on your installation.
You can read more about the OAuth 2.0 JWT Bearer Flow here
The connected app must have a certificate.
We later authenticate with Salesforce using this certificate's private key
This command generates a certificate and a private key:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem
The cert.pem
file will be later added to the Connected App.
The key.pem
file will be used by Dynatrace to authenticate with Salesforce.
In Salesforce Lightning:
Give the app a name and add the contact email. Under API (Enable OAuth Settings)
:
http://localhost
Upload the cert.pem
file generated above under Use digital signatures
.
Under Selected OAuth Scopes, Add these scopes:
Leave all other settings as default and click Save.
The Connected App screen should look like this (with your name, email and certificate):
Now set up the OAuth Policy permitted users.
On the connected app page, select Manage, then Edit Policies.
Under OAuth Policies select Admin approved users are pre-authorized.
Click Save.
Identify users that can use the app.
This is done by adding Profiles to the Application Profile Assignment list.
One the connected app page, under Profiles, click Manage Profiles.
Add profiles that can use the connected app.
Note: Later, any username from these profiles can be used as the Subject
when configuring the extension.
Note that the profile needs the permissions:
General User Permissions
View Real-Time Event Monitoring Data
Administrative Permissions
Customize Application
View All Data
Please check the needed permissions documentation here
Error logs can be obtained via Dynatrace, by navigating to the Extension page, and clicking on the Status
for each Monitoring Configuration.
Detailed logs can be obtained by creating an Activegate Diagnosis
Fixes an issue where in some installations the install directory could not be determined
No release notes