Query Builder
FEATURE DEPRECATED
This feature is no longer supported and the query of Hyperledger or any other data source has been migrated to the workflow. Using the workflow feature, you will be able to query any datasource which includes Neo4j, Hyperledger and ES for now. For more details on Workflow setup and configuration, please refer to this link
Details on Query Builder UI
This UI has 2 screens for addition and edit/delete.
Addition of Cypher queries (All fields are mandatory).
Name of the Query - Unique Report Name
Frequency - daily, weekly, fortnightly, monthly to execute the Query
Subscribers - Please provide valid email address. You may use ‘,‘ to provide multiple email address
Query - Please select source of data for generating report( neo4j or hyperledger)
Upload Query - Upload Cypher query with proper syntax
Edit/Delete Report Queries.
Report Types
There are 2 types of reports that can be distinguished based on Query type in UI .
Sno | CYPHER | CYPHER and HYPHERLEDGER |
---|---|---|
1 | Fetches records from NEO4j Database | Fetches records from both NEO4j and Hypherledger |
2 | Upload file will have 2 fields as query and table_structure | Upload file will have only query field as below . |
3 | PDF will be generated based on the table_structure mapping to cypherresponse.json | PDF will be generated based on hyperledger response which is fixed for now. |
Prerequisites: Create a folder named Audit-report under $INSIGHTS_HOME/.Insights/ and provide write priviledge. This is required for placing the uploaded files.
Deep dive into cypher response and Mapping.
- Report from Cypher and its table_structure.
Let's take the neo-feature-build.json attached above as sample.
{
"queryname" : "MATCH (g:GIT:DATA)-[*1..2]->(u:UCD:DATA) WHERE g.branchName <> 'master' and u.environment='PROD' RETURN g,u",
"table_structure" : {
"REPO NAME" : "g.repoName",
"MESSAGE" : "g.message",
"BRANCH NAME":"g.branchName",
"STATUS": "u.status",
"ENVIRONMENT": "u.environment"
}
}
Query : MATCH (g:GIT:DATA)-[*1..2]->(u:UCD:DATA) WHERE g.branchName <> 'master' and u.environment='PROD' RETURN g,u
CypherResponse: (showing only one node for sample).
Here g, u are result nodes which has corresponding results in row array index where g is mapped to 0 and u is mapped to 1 .
Sample Mapping : In order to map these results to PDF we can select the key names from the cypher response as below with the resultant node.
"REPO NAME" : "g.repoName","MESSAGE" : "g.message","BRANCH NAME":"g.branchName","STATUS": "u.status","ENVIRONMENT": "u.environment"
PDF Sample
The resultant generated PDF will look like this if all config is correct.
Attaching the whole PDF for reference (pwd:12345)
Mail Config
Provide the Mail server configuration in server-config.json file present in $INSIGHTS_HOME/.InSights/ as below.
"emailConfiguration":
{
"smtpHostServer": "",
"smtpPort": "",
"smtpUserName": "",
"smtpPassword": "",
"mailFrom": ""
}
Log Analysis
Each report will generate corresponding log as ${reportname.log} configured in UI. These can be downloaded from UI for analysis purpose which is located as one of the tab in healthcheck page.
Prerequisites : Create a folder named Reports under PlatformAuditService in ${INSIGHTS_HOME}\logs\PlatformAuditService\ and provide write access.
Back to Top
©2021 Cognizant, all rights reserved. US Patent 10,410,152