Create custom report in PhenixID Server
This document is written for PhenixID Server.
The reader should have some basic knowledge about PhenixID Server.
This document describes how to create a custom report in PhenixID Server.
Overview
PhenixID Server has several predefined reports that comes with the product.
This document will describe how to create custom reports if needed.
NOTE: Be aware that customizations like this will not qualify as normal support.
Also consider the fact that a misconfigured query against the database can have an impact on the service.
Please make sure to have a recent backup of the configuration before proceeding.
Location of the reports
The predefined reports are located in: <PhenixIDServerinstallationdir>/mods/com.phenixidentity~phenix-prism-report~2.0.0/js/reports
Each report is a .json file.
So to create a custom report just copy the one that suits the needs best.
And then modify the query according to the requirements, see example below.
Examples
A simple query can look like this:
select from event where eventID ='EVT_001022' order by date desc limit 1000
This will return all columns in the table if they have values.
The search will be limited to 1000 rows.
Query for more than one event:
select from event where eventID ='EVT_001022' or eventID ='EVT_001008' order by date desc limit 1000
Use “or” to add more than one criteria to the query.
The example below will add dates to the query:
{
"displayName": "Between dates",
"category": "System",
"description": "Shows events between selected dates",
"query": "select from event where date >='{{after}}' and date <='{{before}}' order by date desc limit 1000",
"params": [{
"name": "after",
"displayName": "After",
"type": "date"
}, {
"name": "before",
"displayName": "Before",
"type": "date"
}]
}
Example using multiple events and search between dates:
{
"displayName": "My own report UID, Pwd & OTP between dates",
"category":"My new category",
"description": "Shows events between dates with username, password & OTP",
"query": "select from event where eventID = 'EVT_001008' or eventID = 'EVT_001022' and date >='{{after}}' and date <='{{before}}' order by date desc limit 1000",
"params":[{
"name": "after",
"displayName": "After",
"type": "date"
}, {
"name": "before",
"displayName": "Before",
"type": "date"
}]
}
Example using a selection in addition to between dates:
{
"displayName": "My own report authMethod between dates",
"category":"My new category",
"description": "Shows events between dates and selects method",
"query": "select from event where eventID = 'EVT_000052' and date >='{{after}}' and date <='{{before}}' and requestMethod = '{{method}}' order by date",
"params":[{
"name": "after",
"displayName": "After",
"type": "date"
}, {
"name": "before",
"displayName": "Before",
"type": "date"
},
{
"name": "method",
"displayName": "Authentication Method",
"type": "select",
"options": [{
"value": "Google IDP",
"name": "Google IDP"
}, {
"value": "BankID",
"name": "BankID"
}]
}]
}
To get your own reports into separate category, change:
"category":"Myowncategory"
Information about the different events can be found here:
http://document.phenixid.net/m/52601/l/482240-events-and-logging
Information about creating events per authentication method