1. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
Linux Foundation Training Events Video More
search linux.com
Try our NEW BETA Search!
Home News Linux Community Learn Linux Directory Jobs Store Video
Home Linux Community Community Blogs Installing Cacti on CentOS 5
Home Tags Search Feed
Linux.com Blog Entries
For the community by the community
Installing Cacti on CentOS 5
Posted by: Ross Larson on August 14 2009
Tagged in: Untagged
0 tweet
Like 4 people like this.
Cacti is a GPL-licensed, scalable, RRDtool-based monitoring program with flexible
graphing options. This article describes the process of installing and configuring Cacti
on CentOS 5.2.
Useful links to this installation were BXtra and TechDB.
Per the Cacti documentation, Cacti requires:
RRDTool 1.0.49 or 1.2.x or greater
MySQL 4.1.x or 5.x or greater
PHP 4.3.6 or greater, 5.x greater highly recommended for advanced features Latest Blog Posts
A Web Server e.g. Apache or IIS A Unity-Inspired "Dock"
dixiedancer
I'd also recommend installing vim, net-snmp, net-snmp-utils, php-snmp, initscripts, perl-rrdtool, and any
dependencies. Man vs Machine: Virtuali
... by RSims
To perform this install, I am logged into Gnome as a normal user, and opened a terminal that is switched to
openSUSE Weekly New
the root user using the su command. I had already installed apache, mysql, and PHP during the original
saigkill
install process of CentOS 5.2.
Two Years on Linux: Les
I added a new repository to facilitate this install. To do this, I created a file dixiedancer
(/etc/yum.repos.d/dag.repo) containing Dag Wiers repository, which contains rrdtool, among other
things. Convert ext2 to ext3 file s
blueprintlinux
1 de 7 22/7/2011 11:40
2. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
[dag] name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el5/en/i386/dag gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt enabled=1
You can create this file by typing vim /etc/yum.repos.d/dag.repo and copying and pasting the
above information into the file. Be warned that the above text containing the repository is version and Find out more a
architecture-specific.
I then typed yum update to update CentOS and the repository list before installing additional software. Blog Categories
I installed everything but cacti through yum. You can verify that you have the packages in question (or the Business (or Enter
version numbers of installed packages) by attempting to install them, as yum will remind you that you already Desktops (87)
have the latest version installed, as well as the version status of the packages, like shown here: Distributions (155)
General Linux (125
# yum install php httpd mysql mysql-server php-mysql vim-enhanced net-snmp net-snmp-utils php-snmp
Mobile (38)
initscripts perl-rrdtool rrdtool initscripts
Personal (131)
Loaded plugins: fastestmirror, priorities
Servers (59)
Loading mirror speeds from cached hostfile
* base: pubmirrors.reflected.net
* updates: mirror.fdcservers.net
Blog Archive
* addons: chi-10g-1-mirror.fastsoft.net
* extras: mirror.fdcservers.net July 2011
Setting up Install Process June 2011
Parsing package install arguments May 2011
Package php-5.1.6-23.2.el5_3.i386 already installed and latest version April 2011
Package httpd-2.2.3-22.el5.centos.1.i386 already installed and latest version March 2011
Package mysql-5.0.45-7.el5.i386 already installed and latest version February 2011
Package mysql-server-5.0.45-7.el5.i386 already installed and latest version January 2011
Package php-mysql-5.1.6-23.2.el5_3.i386 already installed and latest version December 2010
Package 2:vim-enhanced-7.0.109-4.el5_2.4z.i386 already installed and latest version November 2010
Package 1:net-snmp-5.3.2.2-5.el5_3.1.i386 already installed and latest version October 2010
Package 1:net-snmp-utils-5.3.2.2-5.el5_3.1.i386 already installed and latest version September 2010
Package php-snmp-5.1.6-23.2.el5_3.i386 already installed and latest version August 2010
Package initscripts-8.45.25-1.el5.centos.i386 already installed and latest version July 2010
Package perl-rrdtool-1.3.7-1.el5.rf.i386 already installed and latest version June 2010
Package rrdtool-1.3.7-1.el5.rf.i386 already installed and latest version May 2010
Package initscripts-8.45.25-1.el5.centos.i386 already installed and latest version April 2010
Nothing to do March 2010
February 2010
January 2010
December 2009
Download the latest version of Cacti (0.8.7e, as of the writing of this article) from here. I downloaded it to my November 2009
desktop and unzipped it by right clicking it and selecting "Extract here". I also renamed the cacti-0.8.7e October 2009
directory by right clicking and selecting "Rename". You could do this in the command line, if you wanted to: September 2009
August 2009
[your root shell] # tar xzvf cacti-0.8.7e.tar.gz
July 2009
[your root shell] # mv cacti-0.8.7e cacti
June 2009
Move the entire cacti directory to /var/www/html/ : May 2009
April 2009
[your root shell] # mv cacti /var/www/html
August 2008
I chose to create a 'cactiuser' user (and cacti group) to run cacti commands and to have ownership of the June 2008
relavent cacti files. It was here that I noticed that my install did not have any of the /sbin directories in its
$PATH , so I simply typed the absolute path:
[your root shell] # /usr/sbin/groupadd cacti
2 de 7 22/7/2011 11:40
3. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
[your root shell] # /usr/sbin/useradd -g cacti cactiuser
Linux Jobs
[your root shell] # passwd cactiuser
Test Analyst - Java, L
Change the ownership of the /var/www/html/cacti/rra/ and /var/www/html/cacti/log/ HiTech Personnel A d
directories to the cactiuser we just created: Australia
[your root shell] # cd /var/www/html/cacti Systems Engineer Lin
[your root shell] # chown -R cactiuser rra/ log/ Vantage, Sydney, Syd
Senior Systems Engin
Create a mysql root password, if you haven't already (password in this example is samplepass: Talent International, S
[your root shell] # /usr/bin/mysqladmin -u root password samplepass
QA/Test Engineer - Li
iKas International, Sy
Create a MySQL database for cacti:
Systems Engineer Lin
[your root shell] # mysqladmin --user=root --password=samplepass create cacti Vantage, Sydney, Syd
More jobs | Post a job
Change directories to the cacti directory, and use the cacti.sql file to create tables for your database:
[your root shell] # cd /var/www/html/cacti
[your root shell- cacti] # mysql --user=root --password=samplepass cacti <
cacti.sql
I also created a MySQL username and password for Cacti:
[your root shell] # mysql --user=root --password=samplepass
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 28
Server version: 5.0.45 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'samplepass';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
Edit /var/www/html/cacti/include/config.php with your favorite editor, and update the
information to reflect our cacti configuration (you can leave the other text in the file alone):
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "samplepass";
$database_port = "3306";
Create a cron job that polls for information for Cacti (I'm choosing to use /etc/crontab here):
3 de 7 22/7/2011 11:40
4. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
[your root shell] # vim /etc/crontab
Add this line to your crontab:
*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php >
/dev/null 2>&1
Edit your PHP config file at /etc/php.ini to allow more memory usage for Cacti. It is a relatively large text
file- using vim, I search for "memory_limit" by typing /memory_limit in command mode.
[your root shell] # vim /etc/php.ini
I changed memory_limit = 8M to memory_limit = 128M
Before I check to see if Cacti works, I want to check and see if mysqld and httpd are running using the
service command.
[your root shell] # /sbin/service mysqld status
[your root shell] # /sbin/service httpd status
If mysqld and httpd are running, great. If not, type:
[your root shell] # /sbin/service mysqld start
[your root shell] # /sbin/service httpd start
If you're an "I need to see what the output looks like" type, here is an example of the previous command:
[your root shell] # /sbin/service mysqld status
mysqld is stopped
[your root shell] # /sbin/service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
4 de 7 22/7/2011 11:40
5. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
You should now be able to access cacti at http://localhost/cacti from the local computer or from any computer
within your LAN network at http://your.internal.IP.address/cacti .
There should be a Cacti Installation Guide window that shows up, giving licensing info and the like. Click
"Next".
Select "New Installation", since this is a new installation.
The next window to pop up should tell you whether Cacti could find the paths to all of the elements that Cacti
needs to run, such as RRDtool, PHP, snmp stuff, etc. If everything but Cacti was installed via yum, you
should be good here. Click "Finish" to save the settings and bring up the login window.
Below is a screenshot of the login window. The default user name is admin. The default password is admin.
It should prompt an automatic password change for the admin account when you log in the first time.
If you successfully log in, I'd recommend taking a break here. Depending on how fast you are, your cron job
may not have had enough time to run the poller program and create data for your graphs. I'd suggest taking a
deep breath, or brewing a cup of tea (or coffee) for yourself.
The localhost machine should have some graph templates that are already created, but you can click the
"Create Additional Devices" link to add graphs for any other machines on your network. I added my FreeNAS
box (tutorial for that to follow).
After having consumed your beverage of choice, press the "Graphs" button. Cacti should have a graph
showing you a couple minutes of data for the machines you have added. The longer your machine is on, the
more informational the graphs will be. Also, if you click on a particular graph, Cacti will Congratulations!
You're now monitoring!
View the Cacti documentation page for more information on how to take advantages of Cacti.
Below are some graphs that were made using Cacti.
5 de 7 22/7/2011 11:40
6. Installing Cacti on CentOS 5 | Linux.com http://www.linux.com/community/blogs/installing-cacti-on-centos-5.html
Visit zootlinux.blogspot.com for more blog posts!
Report Spam
Email this Share This Set as favorite
Comments (3)
Subscribe to this comment's feed
Show/hide comments
Thanks - few corrections
written by Steven Kenney, September 15, 2009
Thanks for this excellent article. I do have a few corrections for you to make though Following
your instructions directly didn't work.
To grant permission to the database we need to change this
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cacti';
to this
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'SAMPLEPASS';
Meaning we put the wrong password in there as cacti was not the password recommended in the
6 de 7 22/7/2011 11:40