Skip to main content

Getting Started

The Business Intelligence platform utilizes Docker containers to be modular and scalable. This section describes one possible solution to demonstrate how you can get started.

It is a comprehensive solution that combines the Business Intelligence with other tools that we added to emulate a close-to-real-world scenario. If you are interested in a lighter example, please use the Quick Start section.

Feel free to follow the steps to arrive at the same results in your environment. From there, you can adjust as needed.

Grafana 11

The Business Engine requires Grafana 11. The Business Intelligence platform will always be compatible with the current Grafana version.

Getting started solution overview

The getting started solution overview.
The getting started solution overview.

Once all parts of the suggested solution are installed and configured, end-users will work with the Business Studio to manage business engines, alert rules and actions, and other configurations. They also will have a Grafana instance where we preconfigured three dashboards:

  • one dashboard to display the Business Engine performance data (metrics),
  • two dashboards to display production data.

Docker containers

All necessary docker containers can be downloaded from GitHub repository.

Download the configuration for the described solution.
Download the configuration for the described solution.

In the downloaded package, you can find docker-compose.yml file with the following containers:

  • Grafana includes provisioned dashboards and data sources.
  • Timescale database stores Business Engine configuration data and production data.
  • Data Emulator is a NodeJS script that emulates production data. Also, it is needed to demonstrate variable functionality.
  • Prometheus collects and stores performance metrics from the Business Engine.
  • JSON server is an action example based on NodeJS. It accepts alert payload and saves it to the files when the Business Engine executes actions.
  • Business Engine uses a service account key to access Grafana HTTP APIs to extract necessary configurations. It evaluates alert rules and calls actions.

Below is the docker-compose.yml file just for demonstration. You do not need to copy it. It is a part of the package you download from the GitHub repository.

docker-compose.yml
loading...

Start the platform

Once you download the solution package, navigate to its folder and execute the following commands.

Grafana

  1. Start Grafana container.
docker compose --profile grafana up -d
Grafana container installed.
Grafana container installed.
  1. Open the URL
http://localhost:3000

and login as 'admin' with 'admin' password.

  1. Create a service account with the Viewer or Editor role. Editor role will allow to create annotations.
Create service account with the required role.
Create service account with the required role.
  1. Create a token.
Create a token.
Create a token.
  1. Update GRAFANA_TOKEN in the docker-compose.yml file
Update GRAFANA_TOKEN in the docker-compose.yml file.
Update GRAFANA_TOKEN in the docker-compose.yml file.

Business Engine, Timescale, Prometheus

  1. Start the Business Engine, Timescale database, and Prometheus containers. You can start all three using only one command since all three containers have the same profile, engine.
docker compose --profile engine up -d

JSON Server (optional)

  1. We recommend starting the JSON Server to have an opportunity to experiment with it as well, but it is optional. Further, we will review how to configure JSON server calls to be triggered by alert rule breaches. These calls will write into the text log files.
docker compose --profile actions up -d

Business Studio

  1. Download the Business Studio from Release Notes. Then, install and launch it.

Work with the platform

Business Studio

Configure Actions and Alert Rules

  • Use JSON server http://json-server:3000 for HTTP Request Action to create event and message files when the alert is triggered if started.
  • Use the provisioned Test Dashboard to add alert rules based on thresholds and Regex patterns.
Alert Rules configured in Business Engine running on localhost using Business Studio.
Alert Rules configured in Business Engine running on localhost using Business Studio.

Grafana

You will find three provisioned dashboards in Grafana.

Three provisioned dashboards in Grafana.
Three provisioned dashboards in Grafana.

Business Engine dashboard

It contains Business Engine metrics collected by Prometheus.

At the top left, there are two dashboard variables. Using them, you can filter the analytics below by instance and alert rule.

Two dashboard variables on the Business Engine dashboard.
Two dashboard variables on the Business Engine dashboard.

The Business Engine dashboard has three rows of analytics.

  1. The first row Alerts contains:
  • Alert Results,
  • Alert Latency.
Alerts analysis.
Alerts analysis.
  1. The second row Requests contains:
  • Business Engine API Requests,
  • Business Engine Latency,
  • Grafana API requests,
  • Grafana Latency.
Requests analysis.
Requests analysis.
  1. The third row Processes contains:
  • CPU Usage,
  • Event Loop Lag,
  • Memory Usage,
  • Active Handlers/Requests Total.
Processes analysis.
Processes analysis.

Production data dashboard

The Production data dashboard contains one time-series chart. It displays many devices' temperatures generated by the Data Emulator NodeJS script.

You can switch devices using the metric dashboard variable at the top left of the dashboard.

Thick blue lines indicate the time when alerts were fired and, consequently, the configured action was called. In this solution, the configured action is executed by the JSON server. It saves incoming payload and messages to text files.

Production data - device emperature.
Production data - device emperature.

Test dashboard

The Test dashboard contains one time-series chart and one log chart.

Test dashboard.
Test dashboard.

Stop the platform

Stop and delete all Docker containers.

docker compose --profile engine down
docker compose --profile actions down
docker compose --profile grafana down