A python plugin that sends Cobalt CVals to Collectd metrics collection daemon. The values are retrieved via WebSocket connection from Cobalt built-in Chrome DevTools protocol.
Graphs are available from any Collectd frontend, configuration for CGP is included.
Note: Currently the plugin only monitors one target, multi-target connection will be added soon.
There is a small installation shell script
install.sh included, that is tested to work on Raspberry Pi Raspbian Jessie and desktop Ubuntu. To install and configure, simply run
sudo ./install.sh from the checkout directory.
If you intend to run
collectd and the CGP web frontend on a Linux target like Raspberry Pi, please first copy the plugin directory to a convenient location on the target and run the install script from its shell.
Note that it is also possible to configure the plugin to connect from host to remote target like Pi, however this is useful if the rest of the
collectd data streams are sent to a host in a networked configuration and not detailed here.
Note: The script also enables RRD and CSV data outputs, RRD is required for CGP to display the data and CSV is useful for post-processing.
After installation, CGP web dashboard will be available at http://localhost/CGP
collectd is a system daemon that always runs, the data from the Cobalt plugin on the web dashboard will not appear before any data is actually sampled. To do this quickly after the installation, start a Cobalt instance and restart the
collectd daemon ( see below ), otherwise data sampling frequency gets automatically throttled by
collectd outputs log messages to
syslog. If there is a configuration problem, restarting
collectd daemon and checking syslog usually indicates the cause
sudo service collectd restart tail -n 100 /var/log/syslog | egrep collectd
Verifying that Cobalt DevTools is listening can be done by shell command
netstat -an | egrep "^tcp .*LISTEN"
If the configured port ( 9222 by default ) is listening, the connection should work. To manually verify that the plugin can connect to WebSocket and retrieve data, simply run
python cobalt.py if connecting to localhost or
python cobalt.py --host <IP> --port 9222 if connecting to a remote target.