Ubuntu (Dapper Drake 6.06) with Cacti(cacti-0.8.7b.tar.gz) by corbin Plugin Arc

Ubuntu (Dapper Drake 6.06) with Cacti(cacti-0.8.7b.tar.gz) by corbin Plugin Architecture Install with Syslog-NG Specific Plugin Installation. Download Ubuntu Server 6.06 LTS at http://www.ubuntu.com/getubuntu/download Download Cacti from www.cacti.net Download the Plugin Architecture and the Plugins from http://cactiusers.org/index.php Good How to Install for Ubuntu… http://www.howtoforge.com/perfect_setup_ubuntu_6.06 Install Ubuntu with ISO - Use the Basic Ubuntu Dapper Drake 6.06 Server Install - First Option – Should go pretty quick with no issue. I installed mine on a VMWARE virtual machine with 2 processors, 3GB Memory, and 20GB Hard Drive. Set static IP address vi /etc/networking/interfaces Remove the dhcp(iface eth0 inet dhcp) setting and add the following lines… # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 Run command to restart network services for new IP to take effect # /etc/init.d/networking restart Run ifconfig to see if changes took effect # ifconfig Enable ssh for Putty - http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html # sudo apt-get install openssh-server openssh-client Install Apache Web Server with PHP Support # sudo apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils # sudo apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi Install mysql server # sudo apt-get install mysql-server mysql-client libmysqlclient15-dev # sudo apt-get install php5-mysql Other Dependencies - some of the dependencies will change in the future - run them separately without the number and it may tell you what the next version available is # sudo apt-get install make gcc g++ # sudo apt-get install cgilib freetype2 libttf-dev libttf2 libpng12-dev libfreetype6-dev libart-2.0-dev snmp Allow MySQL Remote Administator to Access Server - int /etc/mysql/my.cnf change the bind-address = 127.0.0.1 to the ip address of the server. Needed Packages # sudo apt-get install linux-kernel-headers # sudo apt-get install build-essential Install RRD TOOL – # sudo cd /usr/local/src/ # sudo wget http://tobi.oetiker.ch/~oetiker/webtools/rrdtool/pub/rrdtool- 1.2.15.tar.gz # sudo tar xfvz rrdtool-1.2.15.tar.gz # sudo cd rrdtool-1.2.15 # sudo ./configure # sudo make # sudo make install This will complete the RRD tool Installation from Source INSTALL CACTI Set Directory to work From # sudo cd /var/www/ Get Latest Cacti Tarball # sudo wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz Untar the Tarfile # sudo tar xzvf cacti-0.8.6i.tar.gz Perform the mv command to rename the directory # sudo mv cacti-0.8.7b cacti Change directory to cacti directory # cd cacti Create Cacti Database # sudo myssqladmin -u root create cacti Import the default Cacti Database # sudo mysql cacti < cacti.sql Create a cactiuser # sudo useradd cactiuser # passwd cactiuser # userpassword Make cactiuser part of www-data group # sudo usermod -G www-data cactiuser Change owner ship of /var/www/cacti/rra and /var/www/cacti/log directories # sudo chown -R cactiuser:www-data rra/ log/ Verify owernship of the rra/ log/ directories - list directories with permissions # ls -l Create a mysql username and password for cacti loginto the mysql server # sudo mysql --user=root mysql> GRANT ALL ON cacti.* TO cactiuser@'%' IDENTIFIED BY 'password'; mysql> flush privileges mysql> exit Edit the /var/www/cacti/include/config.php to specifiy the mysql user, password and database for your cacti configuration # vi /var/www/cacti/include/config.php $database type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "userspassword"; $database_port = "3306"; LOG CRONTAB FOR POSSIBLE TROUBLESHOOTING # vi /etc/syslog.conf remove the # comment on the line for the cron log. the cron log is created in /var/log/cron.log - you may need to restart for this to take effect CREATE CRONTAB FOR poller.php switch user to cactiuser # su cactiuser # crontab -e add line to crontab - the 5 represents the minutes between polling... use 1 or 5 for cacti. */5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1 LOG INTO CACTI SERVER – I had to restart before the following screens would show up. http://yourservername/cacti and you’ll see this screen… click next Click next if you have a new install… Make sure the RRDTOOL Binary Path Matches for Ubuntu dapper 6.06 it is /usr/local/rrdtool-1.2.15/bin/rrdtool - 1.2.15 is the version of rrdtool which may vary. Default username and password – admin/admin It will force a password change… *A couple of Settings to Verify... Under the Settings/General Tab the Default RRDTool Utility Version is listed as RRDTool 1.0.x. It needs to be changed to RRDTool 1.2.x. Graphs will not work unless you do this. *For me there is a bug when trying to add the Alternate Poller Path /Spine Poller Path under the Settings/Path Tab. When the /var/www/cacti/poller.php file is added there it does not seem to run so I did not enter it. I left the poller type under the Settings/Poller Tab as cmd.php even though I have the poller.php file in the crontab. PLUGIN ARCHITECTURE INSTALL – Before you start Backup you Cacti Install The Following is a summary of http://cactiusers.org/wiki/PluginArchitectureInstall Make a Backup Directory #sudo mkdir /tmp/Cacti_Backup Backup your cacti Install #sudo cp –r /var/www/cacti /tmp/Cacti_Backup Download the Plugin Architecture and the Plugins… www.cactiusers.org *I did this in windows and used winscp to copy the files to the Ubuntu install. I created a downloads directory under root to copy the Plugins Architecture and Plugins into. Winscp - http://winscp.net/eng/index.php Make Sure the Patch command will work for the Plugin Architecture Install to Work. Install the build-essential #sudo aptitude install build-essential Extract the Tar File #sudo tar -zvxf cacti-plugin-arch.tar.gz Copy the cacti*.diff file in the plugin-arch directory to the cacti install directory #sudo cp cacti-plugin-0.8.7b-PA-v2.0.diff /var/www/cacti Run the Patch Command from the Cacti Directory to see if there are any errors. # sudo patch -p1 -N --dry-run < cacti-plugin-0.8.7b-PA-v2.0.diff If all goes well then Run the Patch # sudo patch -p1 -N < cacti-plugin-0.8.7b-PA-v2.0.diff PLUGINS Most of the Plugins can e installed by following the directions on the cacti user site. http://cactiusers.org/wiki/Homepage http://cactiusers.org/wiki/PluginsInstall The Plugins are fairly easy to install depending on which one you are doing. Here are just a few things that might help the install. You will first need to extract the files and add/copy them to the /var/www/cacti/plugins directory. Each plugin will have its own folder. Example... SETTINGS will be… /var/www/cacti/plugins/settings THOLD will be… /var/www/cacti/plugins/thold MONITOR will be… /var/www/cacti/plugins/monitor Then the /var/www/cacti/include/config.php file will need edited with the plugins to be activated. #sudo vi /var/www/cacti/include/config.php Add the lines to the bottom of the file. The top line must be first and settings should be before thold in order for it to fully function according to the thold documentation. Other desired plugins will follow. $plugins = array(); $plugins[] = ‘settings’; $plugins[] = 'thold'; $plugins[] = 'monitor'; $plugins[] = 'discovery'; $plugins[] = ‘syslog’; Here is an example of the /var/www/cacti/include/config.php log file with the plugins activated. ACTIVATE SQL TABLES FOR PLUGINS After Activating the Plugins go into the user management and click on the Admin user. There will be some additional items under realm permissions that you will need to check for the tabs to show up. Some plugins come with a .sql file. Add the tables in this file to mysql with the following command. #sudo mysql cacti < filename.sql SYSLOG PLUGIN INSTALL Download the latest Syslog plugin 0.5.2 Unpack it and Copy it to the /var/www/cacti/plugin directory. Create a Syslog Database # sudo mysqladmin -u root create syslog # sudo mysql –u root mysql>GRANT ALL ON syslog.* TO cactiuser@'%' IDENTIFIED BY 'password'; mysql> GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY 'password'; Import /var/www/cacti/plugin/syslog/syslog.sql file to new syslog database #sudo mysql syslog < /var/www/cacti/plugin/syslog/sylog.sql Edit the following lines of /var/www/cacti/plugin/syslog/config.php to match the credentials that were entered. $syslogdb_type = 'mysql'; $syslogdb_default = 'syslog'; $syslogdb_hostname = 'localhost'; $syslogdb_username = 'cactiuser'; $syslogdb_password = 'CactiMadeEZ'; Don’t forget to add syslog to the /var/www/cacti/include/config.php file. INSTALL SYSLOG-NG to Integrate with Cacti Syslog A couple of good web sites for helping with this process http://www.debianhelp.co.uk/syslog-ng.htm http://wiki.engardelinux.org/index.php/HOWTO:Installing_syslog-ng In order to use apt-get to install syslog-ng edit /etc/apt/sources.list and uncomment all the deb-src and deb http locations then run apt-get update. Install Syslog-NG # sudo apt-get install syslog-ng Answer yes to overwrite files and install. This seems to be the best process for Telling Syslog-NG to Write to MySQL but it is for FreeBSD6.2 I have modified paths to match Ubuntu. http://www.nmsworld.com/UNIX/Syslog-NG.htm Make a Backup copy and then edit the syslog-ng.conf file # sudo cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng.conf.old # sudo vi /etc/syslog-ng/syslog-ng.conf Add this snippet to the bottom of the destinations section in the syslog-ng.conf file… ------------------------------------ # SQL destination d_mysql { pipe("/var/log/mysql.pipe" template("INSERT INTO syslog_incoming (host, date, time, message, priority, facility) VALUES ( '$HOST', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG', '$PRIORITY', '$FACILITY' );\n") template-escape(yes)); }; ------------------------------------ Add this snippet to the logs section in the syslog-ng.conf file… the s_all portion of this snippet is defined under the sources section of the syslog-ng.conf file. --------------------------------------- # mysql log log { source(s_all); destination(d_mysql); }; --------------------------------------- I made the source section looks like this in order to only log received udp packets. --------------------------------------- ###### # sources # all known message sources source s_all { # message generated by Syslog-NG # internal(); # standard Linux log source (this is the default place for the syslog() # function to send logs to) # unix-stream("/dev/log"); # messages from the kernel # file("/proc/kmsg" log_prefix("kernel: ")); # use the following uploads/Ingenierie_Lourd/ cacti-087b-guide.pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager