Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 2.64 KB

File metadata and controls

46 lines (31 loc) · 2.64 KB
layout
title description tableOfContents outline pagination
visible
true
visible
visible
true
visible
true
visible
true

Reporting Framework

The Reporting Framework is an infrastructure to make database data available in searchable indexes for efficient slicing and dicing of data and real-time monitoring with visualization and reports. The framework utilizes open-source components to achieve this data pipeline and visualization capabilities.

{% embed url="https://miro.com/app/board/uXjVKY0ZdOQ=/?share_link_id=736231944012" %}

Postgres WAL contains events on the database, specifically, changes to any table fields. These events are read by Debezium and pushed to Kafka Topics. Using a connector the fields are further pushed into OpenSearch indexes. These indexes may be searched by APIs or consumed by OpenSearch Dashboards for visualization.

The salient features of the framework are the following:

FeaturesBenefits
Searchable indexes in OpenSearch
  • No load on main DB esp when dataset is large and SQL queries get complex
  • Real-time slicing and dicing of data with searchable indexes
OpenSearch Dashboards
  • Ease of creation of dashboards and reports
Authentication and authorisation using Keycloak
  • Authorized access to dashboards
  • Single sign-on with Keycloak
PII data not available for search*
  • Privacy protection

{% hint style="info" %} * As a highly recommended practice PII data is not shunted to the search indexes, however, the framework does not impose any restriction as such. {% endhint %}

Installation

Refer to Installation Guide and Post Installation Check.

Accessing OpenSearch dashboards

  • Pick the URL provided during the installation of the Helm chart of the module (like SR, PBMS)
  • Add Keycloak roles to the user who is accessing the dashboard (as given here).
  • Confirm that the number of indexed records in OpenSearch matches the number of rows in the DB (guide TBD). This check confirms that the reporting pipeline is working fine.

Creating dashboards