Comment on page
🌐
Platform
Installation completes within minutes, ensuring that all components are operational upon completion.
The platform is available exclusively on linux systems:
Distribution |
---|
RHEL7, Centos7 |
RHEL8, Rocky linux 8, AlmaLinux 8 |
RHEL9, Rocky linux 9, AlmaLinux 9 |
Debian Buster/Bullseye |
Suse SLES12, SLES15 |
A license key is required to use Datasentinel.
Obtain a Datasentinel license key:
The sizing of the machine (cpus, memory, storage) to be provisioned, will depend on the number of PostgreSQL instances to monitor as well as the data retention chosen.
Default sizing recommendations with a retention of 14 days
Instances | CPUs | Memory | Storage |
---|---|---|---|
1 to 10 | 4 | 8GB | 25GB |
11 to 50 | 8 | 16GB | 50GB |
51 to 100 | 8 | 32GB | 75GB |
101 to 200 | 16 | 64GB | 100G |
>200 | 24 | 96GB | 150GB |
We strongly recommend a machine with scale capabilities such as virtual machines
For enhanced memory management on a server hosting Datasentinel, it is advised to set the swappiness parameter to a value of 5.
You can confirm the current value:
cat /proc/sys/vm/swappiness
Here are the firewall settings necessary for Datasentinel
- The listening port of the platform server must be accessible to connect to the GUI. The port is the https port 443 by default and can be changed.
1. Agent-based mode
- The listening port of the platform server must be accessible in both directions (PUSH and PULL) from the agents' servers.
- Each agent listens on port 8282 by default (updatable). The platform server must be able to communicate with the agent servers on this port (PUSH and PULL)
2. Agentless mode
- The platform connects directly to PostgreSQL instances. The listening port of each PostgreSQL instance must be accessible from the platform
The platform is packaged as a single file, install-datasentinel-platform-<<OS>>-latest.tar.gz, which includes all necessary components.
Date | Last available platform version | Text |
---|---|---|
2023-09-01 | 2023.07 | ChangeLog |
OS | File to download |
---|---|
RHEL, Centos 7 | |
RHEL, Rocky Linux, AlmaLinux 8 | |
RHEL, Rocky Linux, AlmaLinux 9 | |
Debian Buster / Bullseye | |
Suse SLES12, SLES15 |
The file size is approximately 550 MB.
// Download example with wget
wget https://app.datasentinel.io/ds-api/download/install-datasentinel-platform-rhel9-latest.tar.gz
During installation, you will need to be logged in as the root account.
However, this is the only time this account is required.
After installation, all modules and future updates will be executed using the defined application account.
Prior to starting the installation process, it is necessary to install NGINX, as it serves as the initial entry point for Datasentinel.
// Example
dnf install -y nginx
// Uncompress the downloaded file
tar xvzf install-datasentinel-platform-rhel9-latest.tar.gz
Uncompress the downloaded file to create two files:
init_datasentinel.sh
and datasentinel-platform.tar.gz
The application binaries and the database for storing metrics will be installed in the /datasentinel directory.
You can choose to pre-create the directory as a symbolic link, file system, or directory, or it will be created during installation.
Make sure the directory is empty.
// Run the shell script
./init_datasentinel.sh
The script executes in less than 2 minutes and performs multiple actions:
- 1.Requests user input for the application username (default is datasentinel). The user can be pre-created with bash as the default shell.
- 2.Requests the application listening port (default is 443)
- 3.Creates the /datasentinel directory if it doesn't already exist
- 4.Decompresses datasentinel-platform.tar.gz to install all components
- 5.Creates entries in
bash_profile
andcrontab
- 6.Deploys services for automatic restart
- 7.Starts all components.
To install Datasentinel silently, use
./init_datasentinel.sh -d
Default values will be usedAt the end of the installation, the platform should be up and running.
The listening port must be opened and accessible.
Also, be careful with your firewall configuration (SELinux, firewalld) if any.
nginx is the entry component for Datasentinel, listening on port 443 by default for all incoming communications from other servers.
It communicates locally with other components via their respective listening ports. Config file
/etc/nginx/conf.d/datasentinel.conf
If a 502 error appears on the graphical interface despite all components being up and running, it’s worth checking the firewall settings, such as SELinux
The on-premises platform utilizes a self-signed certificate configured with NGINX.
The self-signed certificate is located in the
/etc/nginx/certs
directory.
If desired, you can replace it with your own certificate. To do so:- 1.Generate a certificate for the platform machine.
- 2.Replace the existing files
cert_datasentinel.pem
andkey_datasentinel.pem
with the real certificate - 3.Restart NGINX
Once the installation is complete, access the UI using url and username:
- URL: https://<<server_name>>
- Username: datasentinel
The password will be displayed at the end of the installation process
To begin using Datasentinel, you must update the license by following the instructions on how to update the token.

Datasentinel architecture
Datasentinel utilizes the following components:
- 1.Nginx web server
- 2.
- 3.
- 4.Timeseries database InfluxDB
- 5.Grafana Frontend, which includes a PostgreSQL database and Datasentinel Frontend as a plugin.
Each component is restarted automatically with a system service located on
/usr/lib/systemd/system
// Start All
systemctl start datasentinel_influxdb datasentinel_postgresql datasentinel_grafana datasentinel_backend datasentinel_dispatcher nginx
// Stop All
systemctl stop datasentinel_influxdb datasentinel_postgresql datasentinel_grafana datasentinel_backend datasentinel_dispatcher nginx
// Component status
systemctl -l | egrep -i "datasentinel_|nginx"
An alias is available when connected as datasentinel to check the availability of all components
// alias
status_datasentinel
// Output
datasentinel_backend.service loaded active running Datasentinel backend APIs
datasentinel_dispatcher.service loaded active running Datasentinel dispatcher
datasentinel_influxdb.service loaded active running InfluxDB service
datasentinel_grafana.service loaded active running Grafana daemon
datasentinel_postgresql.service loaded active running PostgreSQL 10 database server
nginx.service loaded active running The nginx HTTP and reverse proxy server
Another method to check the status of the platform is by querying its API using the following curl command
// curl
curl -k https://localhost/ds-api/
// output
{
"status": "OK",
"message": "Datasentinel Backend up and running",
"datasentinel_version": "2023.05",
"services": [
{
"name": "nginx",
"description": "Nginx web server",
"running": true
},
{
"name": "datasentinel_grafana",
"description": "Grafana frontend",
"running": true
},
{
"name": "datasentinel_postgresql",
"description": "PostgreSQL instance",
"running": true
},
{
"name": "datasentinel_backend",
"description": "Backend service and API",
"running": true
},
{
"name": "datasentinel_dispatcher",
"description": "Agentless service",
"running": true
},
{
"name": "datasentinel_influxdb",
"description": "Influxdb database",
"running": true
}
]
}
Datasentinel generates logs, which are located in the
/datasentinel/log
directory, except for the NGINX log fileLog file | Information |
---|---|
/var/log/https_datasentinel.log | Nginx log access (by default, access log is off) |
datasentinel.log | Backend log file |
dispatcher.log | Agentless feature log file |
alerting.log | Alerting and Notification log file |
scheduler.log | Scheduler log file |
backend_to_influx.log | Log data copied to influxdb database in case of errors |
grafana.log | Grafana log access |
Last modified 13d ago