Configuration of vPoller

The default configuration file of vPoller resides in a single file and it’s default location is /etc/vpoller/vpoller.conf.

Below is an example vpoller.conf file that you can use:

[proxy]
frontend     = tcp://*:10123
backend      = tcp://*:10124
mgmt         = tcp://*:9999

[worker]
db           = /var/lib/vconnector/vconnector.db
proxy        = tcp://localhost:10124
mgmt         = tcp://*:10000
helpers      = vpoller.helpers.zabbix, vpoller.helpers.czabbix
tasks        = vpoller.vsphere.tasks

[cache]
enabled      = True
maxsize      = 0
ttl          = 3600
housekeeping = 480

The table below provides information about the config entries used along with a description for each of them.

Section Option Description
proxy frontend Endpoint to which clients connect and send tasks for processing
proxy backend Endpoint to which workers connect and get tasks for processing
proxy mgmt Management endpoint, used for management tasks of the vPoller Proxy
worker db Path to the vconnector.db SQLite database file
worker proxy Endpoint to which workers connect and get tasks for processing
worker mgmt Management endpoint, used for management tasks for the vPoller Worker
worker helpers Helper modules to be loaded and used for post-processing of any result data
worker tasks Task modules to be loaded by the vPoller Worker
cache enabled If True then vPoller Worker will use a cache for the vSphere managed objects
cache maxsize Upperbound limit on the entries stored in the cache
cache ttl The TTL in seconds after which a cached object is considered as expired
cache housekeeping Time in minutes to perform periodic cache housekeeping

Configuring vSphere Agents for the Workers

The vSphere Agents are the ones that take care of establishing connections to the vSphere hosts and perform discovery and polling of vSphere objects.

A vPoller Worker can have as many vSphere Agents as you want, which means that a single vPoller Worker can be used to monitor multiple vSphere hosts (ESXi hosts, vCenter servers).

Connection details (username, password, host) about each vSphere Agent are stored in a SQLite database and are managed by the vconnector-cli tool.

Note

The example commands below use the root account for configuring a vSphere Agent for a vCenter Server.

The root account in a vCenter Server by default has full administrative privileges.

If security is a concern you should use an account for your vSphere Agents that has a restricted set of privileges.

First let’s initialize the vConnector database file:

$ sudo vconnector-cli init

By default the vconnector.db database file resides in /var/lib/vconnector/vconnector.db, unless you specify an alternate location from the command-line.

Now, let’s add one vSphere Agent, which can later be used by our vPoller Worker.

This is how to add a new vSphere Agent using vconnector-cli:

$ sudo vconnector-cli -H vc01.example.org -U root -P p4ssw0rd add

When you create a new vSphere Agent by default it will be disabled, so in order to use that agent in your vPoller Worker you should enable it first.

This is how to enable a vSphere Agent:

$ sudo vconnector-cli -H vc01.example.org enable

At any time you can view the currently registered vSphere Agents by running the vconnector-cli get command, e.g.:

$ sudo vconnector-cli get
+------------------+------------+------------+-----------+
| Hostname         | Username   | Password   |   Enabled |
+==================+============+============+===========+
| vc01.example.org | root       | p4ssw0rd   |         1 |
+------------------+------------+------------+-----------+

As the vconnector.db database contains connection details about your VMware vSphere hosts in order to avoid any leak of sensitive data you would want to secure this file and make it readable only by the user, which runs the vPoller Worker.