I would like to use Spine instead of default Cacti’s poller. At first, I’m thinking about to use Dag repository. It should work easily if I don’t have DirectAdmin installed. However, I do have DirectAdmin installed and that caused dependencies problem when I tried to yum install it.

So, I need to compile Spine by myself. I checked at Cacti website and found “Compiling Spine for Redhat/Fedora Linux” The steps seem to be easy but it’s not. I got and error :

configure: error: cannot run /bin/sh config/config.sub

So, here is what I did to install Spine.

1. Get Spine 0.8.7d

shell> wget http://forums.cacti.net/download.php?id=17107
2. Extract it.
tar xzvf cacti-spine-0.8.7d.tar.gz
cd cacti-spine-0.8.7d
3. Compile it. I've searched and found many people said that I need to do the following steps :
libtoolize --force

However, I got the following error when I run “automake”

 shell> automake

configure.ac:7: required file `config/config.guess' not found
configure.ac:7:   `automake --add-missing' can install `config.guess'
configure.ac:7: required file `config/config.sub' not found
configure.ac:7:   `automake --add-missing' can install `config.sub'

So, here is what I did (Do steps below only):

libtoolize --force
automake --add-missing

So, it will look like below :

shell> aclocal
shell> libtoolize --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
libtoolize: linking file `config/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'
shell> autoconf
shell> autoheader
shell> automake --add-missing
configure.ac:7: installing `config/config.guess'
configure.ac:7: installing `config/config.sub'
shell> ./configure
shell> make

4. Copy Spine to /usr/local/bin and Spine.conf to /etc

cp spine /usr/local/bin
cp spine.conf.dist /etc/spine.conf

5. Set Spine Configuration.

cd /etc
nano -w spine.conf

Set Spine Configuration below :

Spine Configuration

DB_Host         localhost
DB_Database     cacti
DB_User         cactiuser
DB_Pass         somepassword
DB_Port         3306

6. Log into Cacti. Set Spine Path in Settings :

At Console -> Configuration -> Settings -> Paths -> Spine Poller File Path
Set it to /usr/local/bin/spine

7. Set Cacti to use Spine

At Console -> Configuration -> Settings -> Poller -> Poller Type
Change it from cmd.php to Spine

Note : For Crontab that is set before. Do not remove it. That Crontab will pick poller type by itself from what we set in the Cacti Settings.