mirror of
https://github.com/Cacti/documentation.git
synced 2026-10-23 03:26:44 +09:00
* 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>
124 lines
3.9 KiB
Markdown
124 lines
3.9 KiB
Markdown
# 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
|