Files
Cactidocumentation/How-To-Setup-Remote-Pollers.md
Thomas VincentandnetniV 2a5b6debae docs: fix broken SQL syntax, wrong Spine build deps, and wrong cron user (#212)
* docs: fix broken SQL syntax, wrong Spine build deps, wrong cron user

Refs #211

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: align remote poller password example and drop em dash

The config.php example still set $rdatabase_password to 'cacti' while the SQL
and spine.conf examples used 'strongpassword', contradicting the guide's own
advice against the literal 'cacti'. Replace the em dash in Spine.md with a period.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Co-authored-by: netniV <netniv@hotmail.com>
2026-08-16 20:41:34 +01:00

124 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Remote Poller Setup
Remote Pollers add complexity to your cacti setup while also massively extended
the scalability of it. Remote Pollers allow system admins to distribute
the load of polling between different servers as well as provide another source
of polling close to a device.
For example you may have a device in Toronto but if your pollers are in New York
the network latency may causes issues with your metrics having a remote poller
in Toronto in this case will help with that issue.
## Setup Instructions
The process of remote poller installation is similar to cacti installation.
In the wizard, select the installation type for Remote poller. For the remote poller
you must use the same version of cacti as the main poller installation.
With this setup the following layout is assumed
- Main server IP is 192.168.1.5
- Remote poller 1 server IP is 192.168.1.10
- Remote poller 2 servers Ip is 192.168.1.20
## Database Configuration
> **Security**: The username `cacti` and password `cacti` shown in the examples
> below are placeholders. Use a strong, randomly generated password in
> production. Never use the literal string `cacti` as a database password on
> any reachable system.
Each server will have its own local database however the remote pollers will
need to talk back to the main poller so we must allow the remote servers user
account to connect back to the main pollers database via the network
Main server database config
```sql
CREATE USER 'cacti'@'192.168.1.10' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'192.168.1.10';
CREATE USER 'cacti'@'192.168.1.20' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'192.168.1.20';
FLUSH PRIVILEGES;
```
Remote poller 1 database configuration
```sql
CREATE USER 'cacti'@'192.168.1.5' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'192.168.1.5';
FLUSH PRIVILEGES;
```
Remote poller 2 database configuration
```sql
CREATE USER 'cacti'@'192.168.1.5' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'192.168.1.5';
FLUSH PRIVILEGES;
```
We have also let the main poller talk to the remote pollers to keep in sync
## Spine configuration
When you have setup multiple pollers while using spine you will need to also
configure the spine.conf file to connect to the remote database as well.
Be sure to remove the # next to the below entries
```console
RDB_Host 192.168.1.5
RDB_Database cacti
RDB_User cacti
RDB_Pass strongpassword
RDB_Port 3306
```
If the network between pollers and the main server is not fully trusted,
enable SSL for the remote database connection:
```console
RDB_UseSSL 1
RDB_SSL_Key /etc/cacti/ssl/client.key
RDB_SSL_Cert /etc/cacti/ssl/client.crt
RDB_SSL_CA /etc/cacti/ssl/ca.crt
```
## Spine poller and max connections
Since in a multi poller setup Spine is highly recommended you will need
to follow the following calculation when that calculation would be:
```console
connections = spine-processes x ( 1 + threads-per-process + PHP servers )
```
## Remote poller config.php setup
Now that we have set up the database connections we need to set up the cacti
config.php file on the remote pollers to give them the database info they need
to connect to the main poller we won’t have to edit the main servers config.php
file aside from the normal install procedure to give it access to its local
database. Below is the portion of the config.php that we need to edit to allow
the remote poller to talk to the main server be sure to remove the hash sign (#)
```console
$rdatabase_type = 'mysql';
$rdatabase_default = 'cacti';
$rdatabase_hostname = '192.168.1.5';
$rdatabase_username = 'cacti';
$rdatabase_password = 'strongpassword';
$rdatabase_port = '3306';
$rdatabase_retries = 5;
$rdatabase_ssl = false;
$rdatabase_ssl_key = '';
$rdatabase_ssl_cert = '';
$rdatabase_ssl_ca = '';
```
---
Copyright (c) 2004-2026 The Cacti Group