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.
The Business Engine requires Grafana 11. The Business Intelligence platform will always be compatible with the current Grafana version.
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.
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.
loading...
Start the platform
Once you download the solution package, navigate to its folder and execute the following commands.
Grafana
- Start Grafana container.
docker compose --profile grafana up -d
- Open the URL
http://localhost:3000
and login as 'admin' with 'admin' password.
- Create a service account with the
Viewer
orEditor
role. Editor role will allow to create annotations.
- Create a token.
- Update
GRAFANA_TOKEN
in thedocker-compose.yml
file
Business Engine, Timescale, Prometheus
- 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)
- 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
- 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.
Grafana
You will find 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.
The Business Engine dashboard has three rows of analytics.
- The first row Alerts contains:
- Alert Results,
- Alert Latency.
- The second row Requests contains:
- Business Engine API Requests,
- Business Engine Latency,
- Grafana API requests,
- Grafana Latency.
- The third row Processes contains:
- CPU Usage,
- Event Loop Lag,
- Memory Usage,
- Active Handlers/Requests Total.
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.
Test dashboard
The Test dashboard contains one time-series chart and one log chart.
Stop the platform
Stop and delete all Docker containers.
docker compose --profile engine down
docker compose --profile actions down
docker compose --profile grafana down