Install the agent
This page document a quick way of installing the agent. For production system, you may want to use trusted certificate and other enhancement.
In order to run temBoard agent, you need:
- Linux as underlying OS.
- PostgreSQL 9.6+, listening on UNIX socket. Check with
sudo -u postgres psql.
- Python 3.6+. Check with
- bash, curl and sudo for setup script.
- A running temBoard UI.
The temBoard agent must run on the same host as the PostgreSQL instance. Running an agent on a remote host is not yet supported.
temBoard RPM are published on Dalibo Labs YUM repository. temBoard agent supports RHEL/CentOS 7 and 8. Start by enabling Dalibo Labs YUM repository.
Do NOT use temBoard agent rpm from PGDG. They are known to be broken.
With the YUM repository configured, you can install temBoard agent with:
Some production infrastructure are offline for security reasons. In this situation, the temboard-agent package and its dependencies can be dowloaded with the following commands :
Then the downloaded packages can be transfered to the production server and installed with
temBoard debs are published on Dalibo Labs APT repository. temBoard agent supports Debian buster and stretch. Start by enabling Dalibo Labs APT repository.
You can install now temBoard agent with:
temBoard agent wheel and source tarball are published on PyPI.
Installing from PyPI requires Python2.6+, pip and wheel. It's better to have a recent version of pip. For Python 2.6, you will need some backports libraries.
Note where is installed temBoard agent and determine the prefix. You
must find a
share/temboard-agent folder in e.g
If temBoard agent is installed in
/usr/local, please adapt the
documentation to match this system prefix.
Setup one instance¶
To finish the installation, you will need to follow the next steps for each Postgres instance on the host:
- configure the agent;
- start the agent;
- finally register it in the UI.
The quickest way to setup temBoard agent is to use the
auto_configure.sh script, installed in
You must run this script as root, with
PG* env vars set to connect to
the Postgres cluster you want to manage. By default, the script uses
postgres UNIX user to connect to Postgres cluster.
Each instance is identified by the fully qualified hostname. If
hostname --fqdn can't resolve the FQDN of your HOST, simply overwrite
TEMBOARD_HOSTNAME envvar. Remember that
localhost or even a
short hostname is not enough.
auto_configure.sh enforces this.
The script shows you some important information for the next steps:
- agent TCP port (usually 2345 if this is your first agent on this host).
- the path to the main agent configuration file like
Some parts of the configuration are in
/etc/temboard-agent/14/main/temboard-agent.conf.d/auto.conf too and
override the main configuration file.
Now start the agent using the command suggested by
On most systems now, it's a systemd service:
Check that it has started successfully:
Now you can register the agent in the UI using
temboard-agent register. It needs the configuration file path, the
agent host and port and the path to the temBoard UI.:
temboard-agent register will ask you credentials to the temBoard UI with
temBoard agent OOM score is configured to 15, so that OOM killer will likely kill temBoard agent before Postgres.
A good practice is to disable memory overcommit on PostgreSQL host by setting sysctl
vm.overcommit_memory = 2.
Congratulation! You can continue on the UI and see the agent appeared, and monitoring data being graphed.
You can repeat the above setup for each instance on the same host.
Cleaning agent installation¶
If you need to clean a single agent installation either to uninstall it
or to run
auto_configure.sh again, use
purge.sh with cluster name.
# /usr/share/temboard-agent/share/purge.sh 12/main Stopping and disabling systemd service. Removed /email@example.com. Cleaning files and directories... removed '/etc/temboard-agent/12/main/temboard-agent.conf' removed '/etc/temboard-agent/12/main/temboard-agent.conf.d/auto.conf' removed directory '/etc/temboard-agent/12/main/temboard-agent.conf.d' removed '/etc/temboard-agent/12/main/users' removed directory '/etc/temboard-agent/12/main/' removed directory '/var/lib/temboard-agent/12/main/' temBoard agent 12-main stopped and cleaned. #