The Observium Agent is a collection of scripts which return statistics data for a Linux host. The preferred method of running the agent is via xinetd, preferably with an iptables firewall only allowing access from the monitoring server(s).
All Agent data is pulled in one TCP connection during the unix-agent module. The module populates an $agent_data array which can be used by other modules. For example:
$agent_data = ['app'] => ['apache'] => ... DATA ... ['bind'] => ... DATA ... ['other'] => ... DATA ...
The Agent allows us to poll more complex stastitics and information from Linux and some Unix hosts without complicated net-snmp configuration and slow snmp get requests.
There's an example script in scripts/observium_agent_xinetd for xinetd. This should be put into /etc/xinetd.d/observium_agent.
You can now just use the agent script from scripts/observium_agent. Put it into /usr/bin/observium_agent, as matching the xinetd file. Create a /usr/lib/observium_agent directory and a /usr/lib/observium_agent/local directory. Put the agent scripts you want to run in the local directly.
Don't forget to enable the unix-agent module (on your device's settings tab, modules section) or globally for all *nix devices (in the configuration file, poller modules).
From your observium server, try telnetting to the monitored host on port 36602 to verify that the agent is running.
The scripts/agent-local directory of your observium installation include various modules which can be placed into /usr/lib/observium_agent/local to add additional functions to the agent.
As this infrastructure is currently in development, it is recommended that these are downloaded to the server via SVN and symlinked into place, allowing updating of the scripts either manually or via cron.
Current modules include: