Poller partitioning allows the distribution of polling and discovery functions to across servers to fit with topology and other requirements. This is similar to Distributed Polling and shares most of the same setup procedure, but is used to create polling "islands" for more complex scenarios.
A partitioned poller is a poller server that has a distinct identity and can have devices assigned to it, and will automatically have any devices added or discovered by it assigned to it. This is useful if your central Observium poller doesn't have connectivity to the devices to be monitored.
Each partitioned poller requires access to the MySQL database and RRD files on the main Observium system. Access to RRDs can be achieved either by using remote filesystem mounting or by using remote rrdcached. MySQL access is achieved by allowing the partitioned poller access to the primary Observium database.
Follow the Distributed Polling guide to set up and test remote MySQL and RRDcached connections.
VPN and SSH Tunnelling
You can use VPNs, persistent SSH connections with port-forwarding via autossh and other tunnelling methods to forward the MySQL and RRDcached connections across the open Internet.
We need to modify the config.php to tell Observium that it's running as a partioned poller. This is achieved with a
For example, to configure a node to be part of a partition called
site-b, you would set this as the
poller_name. If no entry exists for this partition, it is created.
$config['poller_name'] = "site-b";
You can test this is working by running
./observium-wrapper poller -t to test what devices would be polled. The relevant parts of the output are below.
INFO: This is poller_id (12) using poller-restricted devices list WHERE disabled != 1 AND poller_id = '12' SELECT device_id FROM devices WHERE disabled != 1 AND poller_id = '12' ORDER BY last_polled_timetaken DESC [779, 826]
You can see that this is poller_id 12, the ID for the configured poller_name. The SELECT statement is correctly using
poller_id in the WHERE clause, and it returns the two devices assigned to this partition,
Device can be assigned to the partition from the Device Settings tab in the device's properties in Observium.
If you are setting up Distributed pollers in a partition, you can also follow the Distribution Configuration section of the Distributed Poller setup guide to configure the required settings.
If you're using Observium as a syslog reciever, you should configure one poller node in each partition following our Syslog Integration documentation, and configure relevant devices to forward their syslog to this node.