Admin: Realtime decisions - Troubleshooting guide
Realtime architecture diagram

Validating installation and connectivity
How can I verify the Realtime API Service is up and available?
Load the Realtime API URL into a web browser and validate that the Realtime API Splash page loads up. This is a good way to verify the version of RPI Realtime as well. The version of RPI Realtime should match exactly the version of the core RPI Server environment.

How can I verify the Realtime API Service has a successful connection to the memory cache?
Refer to the following article: RPI Realtime Decisions - Validate Memory Cache Connection.
The section in the referenced article details how to leverage the
/api/Status/Cache/{CacheName}
endpoint to view information about the state of the Realtime API's connection to the memory cache. If the Realtime API is unable to connect to the memory cache, the response from this endpoint should provide an error message describing why the connection is failing.
How can I verify the Realtime API Service has a successful connection to the message queues?
Refer to the following article: RPI Realtime Decisions - Advanced Validation.
The section in the referenced article gives details on how to leverage the status endpoint to get a
true
/false
indicator as to whether or not the Realtime API is able to connect to the respective queues. If the Realtime API cannot successfully connect to either or both message queues, there should be an error message providing more detail around the failed connection.
How can I verify the Realtime Agent is up and available?
Load the Realtime Agent API URL into a web browser and validate that the Realtime Agent API Splash page loads up. This is a good way to verify the version of RPI Realtime Agent as well. The version of RPI Realtime Agent should match exactly the version of the core RPI Server environment.

How can I verify the Realtime API is able to successfully connect to the Realtime Agent?
Refer to the following article for instructions on using the Realtime status endpoint
(/api/Status)
: RPI Realtime Decisions - Advanced Validation.The response to this endpoint will give you a true/false indicator of whether or not the Realtime API can connect to the Realtime agent.
How can I verify the Realtime agent is able to successfully connect to the RPI Warehouse or AuxDB?
Perform the following steps:
Configure a test Cached Attribute List (CAL) pointing to a key and at least one attribute from a table in the database you wish to test - Set the CAL to “Always fetch from database”.
Set a parameter mapping under
ParameterToDataMappings
in the Realtime APIappsettings.json.config
that points to this CAL.Enable Realtime Agent logging.
Refer to the following article: RPI Realtime decisions - Logging.
Make a request to the
/api/Cache/Visit
endpoint, passing a Visitor attribute in the request payload with a name that matches the parameter setup inParameterToDataMappings
and a value for a record within the database that you're testing (ensuring the record has an column mapped by the test CAL created above).
Once the request has completed, you can validate by viewing both the Server Log and the SQL trace log for entries indicating a successful query:
Server & Client Log
You'll see a sequence of informational messages culminating with one that reads “Data fetch complete”. Here is an example.

SQL Trace Log
The query issued to satisfy the CAL request should be logged, here is an example.

How can I verify the Realtime agent is able to successfully connect to the operational databases?
The procedure from above for validating the database connection using a CAL effectively also serves to validate the connection to RPI operational database, as the agent needs to be able to establish connections to these databases in order to write the server and query log information.