Alert on Platform Processing Issues
Contextal Platform is built with resiliency at its core. It utilizes dedicated data processors, which are independent and isolated services. A failure in a data processor, potentially signalling an attack on the system, is treated as an indicator, on which you can act with ContexQL!
To detect common failures, we can set up a scenario with this query:
@is_root() && @count_descendants(@has_error()) > 0
This query matches graphs derived from input objects where at least one object was not processed correctly by its assigned data processor. While occasional failures may occur (e.g., from corrupted data), we can utilize the platform's unique global context to assess if similar issues have impacted other input objects recently. For this scenario, we require that at least nine other graphs contain objects with errors.
When these conditions are satisfied, meaning there are at least ten such graphs globally, including the current one, the scenario will trigger an ALERT
action for the actual workflow.
The error thresholds may need to be adjusted for specific environments, based on the processing load and other factors.
Click on the download button below to get the scenario and then upload it using Contextal Console or the ctx
command line tool (when using the latter, don't forget to reload remote scenarios after adding a new one!)
{
"name": "Alert on Platform Processing Issues",
"min_ver": 1,
"max_ver": null,
"creator": "Contextal",
"description": "Trigger alert for objects, which generate platform processing errors, when there are more errors globally.",
"local_query": "@is_root() && @count_descendants(@has_error()) > 0",
"context": {
"global_query": "@is_root() && @count_descendants(@has_error()) > 0",
"min_matches": 9
},
"action": "ALERT"
}