🕶️Agent

Datasentinel offers two monitoring approaches: agent-based and agentless. This guide focuses on the installation of an agent, applicable when you opt for the agent-based monitoring method.

Datasentinel requires the installation of the pg_stat_statements extension within your PostgreSQL instances.

Refer to the installation guide for pg_stat_statements and instructions on setting the recommended parameters. The extension mut be installed on the internal database named postgres

The examples are based on a standard PostgreSQL installation with a server running the CentOS 7 operating system

Step-by-Step Installation Instructions

You need to install just one agent per server, which can effectively monitor multiple PostgreSQL clusters.

When required, the agent can also be installed on an intermediary server.

Date
Last available agent version

2025-11-12

3.8.0

1

Download file

The file size is approximately 35 MB.

2

Install and start the agent

Whenever possible, avoid using the root account.

Uncompress the downloaded file

tar xvzf datasentinel-agent-rhel9.tar.gz

There are two ways to start the agent:

  • Using an alias

alias datasentinel='DATASENTINEL_PATH=`pwd`/datasentinel;LD_LIBRARY_PATH=$DATASENTINEL_PATH/lib/ $DATASENTINEL_PATH/datasentinel'
datasentinel start agent
  • By setting environment variables

export DATASENTINEL_PATH="`pwd`/datasentinel"
export LD_LIBRARY_PATH=$DATASENTINEL_PATH/lib
export PATH=$DATASENTINEL_PATH:$PATH
datasentinel start agent

3

Test the status

datasentinel status agent
   Copyright 2023 (c) Datasentinel- All rights reserved        www.datasentinel.io
   ================================================================================

            Agent
               Version : 3.3.0
               Server : pg-crm-4529
                  Port : 8282
            Start time : 2023-03-18 15:45:31
      Collection rate : low
Table monitoring limit : 1000
Query monitoring limit : 30000
         Sql max size : 256000

            Proxy
                  host :
                  port : 0
                  user :
            password :

         Upload
                  host : upload_server_to_be_defined
                  port : 443

      Connections
            declared : 0
               running : 0
         not running : 0

The agent registers its server name with the platform, enabling communication between the platform and the agent, as well as ensuring proper functionality of the agent CLI

If the server name is unknown (for example, not present in DNS servers), you can set the following environment variable before starting the agent:

// Example
export DATASENTINEL_AGENT_HOST=172.16.250.199

The server name will also be utilized to generate the distinctive pg_instance tag, uniquely identifying instances across the entire platform.

pg_instance is formed by concatenating the server name with @ and the connection name. Refer to Tags section for more details

4

Platform upload

The platform is where metrics are sent. In SaaS mode, it’s the name of the Datasentinel SaaS server.

The default port for https is 443, unless you’ve customized it during local platform installation.

// Setting the platform 
datasentinel set server <<repository_server>> <<port>>

5

Token settings

A token is required to communicate with the platform.

The token is the license provided by the Datasentinel team. You can also copy the token from Agents Submenu in the User Interface.

// Setting the token
datasentinel set token <<token_value>>

The agent uses a self-signed certificate found in the config subdirectory.

  • cert_datasentinel.pem

  • key_datasentinel.pem

6

Check platform and token

The command checks the communication between the agent and the platform server

datasentinel show token

PostgreSQL

Example of configuring and adding a connection. Refer to PostgreSQL clusters for more details

User

Version >= 10

create user datasentinel password 'myPassword';
grant pg_monitor,pg_read_all_settings,pg_read_all_stats to datasentinel;

// If you intend to utilize the option for terminating a session directly from the User Interface
grant pg_signal_backend to datasentinel;

It's important to highlight that the user doesn't write data in PostgreSQL Access is confined to read-only permissions solely for retrieving metrics.

Version < 10

The user must have the role superuser

File pg_hba.conf

  • Add authorization for the user datasentinel to connect to all databases with a password

The user needs to be able to connect to ALL databases.

  • Reload the configuration

Add Instance

Replace MyConnectionName with a meaningful connection name in your environment.

A script is present in the datasentinel subdirectory as an example named connection_example.sh

The tags are customizable, allowing you to define your own tags. They are extremely useful in the user interface for filtering, grouping data, and defining role-based access.

🏷️Tags

Useful CLI commands

⌨️CLI
  • Display the agent status

  • Display the connections

For a comprehensive list of options, simply type datasentinel without any arguments

API

All operations are available through Agent API.

🧩API

By default, the agent listens on port 8282, but you have the flexibility to modify this configuration.

Most of the operations need a token to be passed in the headers calls.

Configuration Files

The agent stores its configuration on the hidden directory .datasentinel located in the user’s home directory.

2 files are present:

  • agent.yml

  • connections.yml

Agent properties can be directly modified through these files, except for passwords which are encrypted for security reasons.

Log File

The agent’s actions are recorded in the datasentinel.log file located in the log subdirectory of its distribution.

The log file is automatically rotated to remove outdated entries and manage data retention.

By default, the log level is set to INFO. To increase the log level, one can set it to debug in the [agent] section of the configuration file agent.yml.

Last updated