Cacti spine

From Ever changing code
Jump to navigation Jump to search

Cactid is a poller for Cacti that primarily strives to be as fast as possible. For this reason it is written in native C, makes use of POSIX threads, and is linked directly against the net-snmp library for minmumal SNMP polling overhead. Cactid is a replacement for the default cmd.php poller so you must decide if using Cactid makes sense for your installation.



Make sure that the following packages are installed before attempting to compile Spine:

  • net-snmp utilities and development libraries
  • mysql utilities, server and development libraries
  • openssl development libraries


tar xvzf cacti-spine-*.tar.gz
cd cacti-spine-*

Error: configure: error: Cannot find MySQL headers. Use --with-mysql= to specify non-default path.
Solution: install libmysqlclient-dev development library

sudo apt-get install libmysqlclient-dev

Error: configure: error: Cannot find SNMP headers. Use --with-snmp= to specify non-default path.
Solution: install libperl-dev library. At this point you need net-snmp dev (Ubuntu calls it just snmp package) package.

sudo apt-get install libperl-dev

If does not work a whole process of NET-SNMP installation is described

tar -xvzf net-snmp-*.tar.gz
cd net-snmp-*
./configure       #go with defaults
sudo make install      #I did not install but ./configure of cacti-spine finished, most likely because libperl-dev has been installed
echo export LD_LIBRARY_PATH=/usr/local/lib >> .bashrc    #For the net-snmp applications to work we need to add an export command to our ".bashrc" file

continue installing spine ..........

sudo make install
cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
vi  /etc/spine.conf         #update DB connection to cacti (the values are not clear at this moment)
sudo /usr/local/spine/bin/spine    #test it
SPINE: Using spine config file [/etc/spine.conf]
01/22/2015 05:33:03 PM - SPINE: Poller[0] FATAL: Connection Failed, Error:'1045', Message:'Access denied for user 'cactiuser'@'localhost' (using password: YES)' (Spine init)

Spine will install to the default location /usr/local/spine. Do not forget to update the /usr/local/spine/etc/spine.conf with the correct database information. Finally update your Cacti settings Spine path to /usr/local/spine/bin/spine and switch the Poller Type to Spine.