The Cacti tool is an open-source, web-based solution for network monitoring and system graphing in IT businesses. Cacti allows users to poll services regularly to create graphs using RRDtool.
It’s typically used to graph time-series data for metrics like network bandwidth utilization, CPU load, running processes, disk space, and more.
In this how-to, we will demonstrate how to install and set up a comprehensive network monitoring application called Cacti using the Net-SNMP tool on RHEL-based distributions such as CentOS Stream, Fedora, Rocky, and Alma Linux, using the YUM and DNF package manager tools.
Cacti Required Packages
The Cacti required the following packages to be installed on your Linux operating system.
- Apache : A Web server to display network graphs created by PHP and RRDTool.
- MySQL : A Database server to store cacti information.
- PHP : A script module to create graphs using RRDTool.
- PHP-SNMP : A PHP extension for SNMP to access data.
- NET-SNMP : An SNMP (Simple Network Management Protocol) is used to manage the network.
- RRDTool : A database tool to manage and retrieve time series data like CPU load, Network Bandwidth, etc.
For demonstration purposes, we used Rocky Linux 9 to install the Cacti tool, but the same instructions work for all RHEL-based distributions.
Step 1: Install Required Packages in Linux
First, begin by updating your system’s package repository to ensure you have the latest versions of software packages available.
sudo dnf update
Next, install the necessary packages for Cacti and its dependencies using the following command.
sudo dnf install net-snmp-utils net-snmp-libs rrdtool php-mysqlnd php-snmp php-xml php-gd mariadb-server httpd
Step 2: Install Cacti Tool in Linux
To install Cacti, make sure that the EPEL repository is enabled on your system.
sudo yum install epel-release
Once the EPEL repository is enabled, you can install Cacti by running the following command.
sudo yum install cacti
Step 3: Secure MariaDB Database
To configure MySQL for Cacti, we must first secure the newly installed MySQL server and then create the Cacti database with the user “Cacti“. If your MySQL is already installed and secured, you don’t need to do this again.
sudo mysql_secure_installation
Follow the prompts to set up a root password, remove anonymous users, disallow remote root login, and remove the test database.
Step 4: Create Cacti Database
Log in to the MySQL server using the newly created password, and then create the Cacti database with the user “Cacti” setting a password for it.
sudo mysql -u root -p CREATE DATABASE cacti; CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost'; FLUSH PRIVILEGES; EXIT;
Next, you need to import the default Cacti database schema into the newly created database, but before that, you need to find out the database file path using the rpm command and import it as shown.
sudo rpm -ql cacti | grep cacti.sql sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
Step 5: Configure Cacti Database Connection
To configure the Cacti database connection, you need to open the configuration file as shown.
sudo vi /etc/cacti/db.php
Update the following lines with your database information.
$database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = 'your_password';
Step 6: Configure Apache for Cacti
Open a file called /etc/httpd/conf.d/cacti.conf with your choice of editor.
sudo vi /etc/httpd/conf.d/cacti.conf
Add the following lines to the file:
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> Options +FollowSymLinks AllowOverride None <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from all </IfModule> </Directory>
Save and close the file.
Finally, restart the Apache and MariaDB services to apply the changes.
sudo systemctl restart httpd sudo systemctl restart mariadb
Step 7: Configure Cacti Cron Job
Now open the crontab file to schedule polling intervals for Cacti.
sudo vi /etc/cron.d/cacti
Remove the comment from the following line. The poller.php script runs every 5 minutes to gather data from known hosts, which Cacti uses to create graphs.
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Step 8: Access Cacti Web Interface
To access the Cacti web interface, you need to open port 80 on the firewall to allow inbound traffic on that port.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload
You can now access Cacti via a web browser using the server’s IP address or domain name as shown.
http://your_server_ip/cacti OR http://domain.com/cacti
Now, follow the on-screen instructions to complete the installation process
User: admin Password: admin
Next, change the default Cacti password.
Accept Cacti License Agreement.
Next, the screen shows Pre-installation Checks for Cacti installation, please correct the suggested settings in your /etc/php.ini
file as shown and restart Apache after making changes.
memory_limit = 800M max_execution_time = 60 date.timezone = Asia/Kolkata
Similarly, you also need to grant access to the MySQL TimeZone database for user Cacti, so that the database is populated with global TimeZone information.
mysql> use mysql; mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost; mysql> flush privileges;
Please choose the installation Type as “New Install“.
Make sure all the following directory permissions are correct before continuing.
Make sure all of these Critical Binary Locations and Versions values are correct before continuing.
Please choose the default Data Source Profile to be used for polling sources.
Please, choose the Device Templates that you wish to use after the Cacti Install.
Set the Server Collation in your MySQL configuration file /etc/my.cnf under the [mysqld] section as shown.
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
Your Cacti Server is almost ready. Please confirm that you are happy to proceed.
Congratulations! You have successfully installed Cacti on RHEL-based systems. You can now start monitoring your network infrastructure by adding devices, creating graphs, and setting up alerts within the Cacti web interface.
Hi, on the step where you find the location of Cacti.sql and then need to use the cacti user password, when/where was the step to create the cacti user account and assign a password?
Very newb to linux, and using this to help teach myself some setups.
Thanks!
@Bob,
Run the following command to locate the location of Cacti.sql file.
Under “Create MySQL Cacti Database” section, you will find instructions to create Cacti database, user and password..
Would you please help me, i want monitor bind 9.8.2 statistic by cacti which has been installed according to your professional document, please investigate a way, i couldn’t find it
Hi
after successful installation of cacti, i get server not found error as per following.
Forbidden
You don’t have permission to access /cacti/ on this server.
Apache/2.2.15 (CentOS) Server at 172.15.220.14 Port 80
@Rohan,
This is due to enabled SELinux issue, just disable or set it to permissive mode and try again…
Hello,
I have some problems after installing cacti. I am new in the linux and it is very difficult to resolve them.
Fist when I go to Cacti console > settings I received a message error “http://192.168.5.5/cacti/settings.php. It may be down for maintenance or configured incorrectly ”
The second problem is weathermap plugin wasn’t created tables in cacti databes, I created them manualy. Weathermap editor is successfully completed and it is work, but when I created something on new map It doesn’t appear as map in Network Weathermaps.
Also I receive that message error when try to use realtime plugin “The Image Cache Directory directory does not exist. Please first create it and set permissions and then attempt to open another realtime graph. ”
There are problems also with syslog and discover plugins but they are not important for me.
Could you please help me as tell me what is needed to do. I really need to have this work.
Many thanks, great article!! works like a charm.. :)
Hi there, I followed your guide to the letter, but after the install/setting up cron (and even rebooting the server), only thing I get is a blank webpage.
How can I find out why?
@Thomas,
Have you installed PHP and php modules correctly as described in the article?
Yes I did. With the exact command as stated above.
Just for sake of argument, I’ve done it again (yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli and yum install php-snmp), but it says this so it should be good.
Package php-mysql-5.3.3-46.el6_6.x86_64 already installed and latest version
Package 1:php-pear-1.9.4-4.el6.noarch already installed and latest version
Package php-common-5.3.3-46.el6_6.x86_64 already installed and latest version
Package php-gd-5.3.3-46.el6_6.x86_64 already installed and latest version
Package php-devel-5.3.3-46.el6_6.x86_64 already installed and latest version
Package php-5.3.3-46.el6_6.x86_64 already installed and latest version
Package php-mbstring-5.3.3-46.el6_6.x86_64 already installed and latest version
Package php-cli-5.3.3-46.el6_6.x86_64 already installed and latest version
Nothing to do
Package php-snmp-5.3.3-46.el6_6.x86_64 already installed and latest version
Nothing to do
@Thomas,
I suggest you to check following things:
1. Please cross check that all the required packages are installed for cacti
2. Please check cacti database is created and imported cacti tables into cacti database
3. In db.php file add the correct MySQL settings
4. Check Apache configuration and make sure to allow cacti from your IP address
After checking all the above things, try to browse again. If you still not able to see the cacti page, just send me your server details I will setup for you…
Hi Ravi,
Here you go:
[root@metamon01s ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| cacti |
| mysql |
| test |
+——————–+
4 rows in set (0.11 sec)
mysql> quit
Bye
[root@metamon01s ~]# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti-0.8.8b/cacti.sql
[root@metamon01s ~]# mysql -u cacti -p cacti show tables from cacti;
+—————————+
| Tables_in_cacti |
+—————————+
| cdef |
| cdef_items |
| colors |
| data_input |
| data_input_data |
| data_input_fields |
| data_local |
| data_template |
| data_template_data |
| data_template_data_rra |
| data_template_rrd |
| graph_local |
| graph_template_input |
| graph_template_input_defs |
| graph_templates |
| graph_templates_gprint |
| graph_templates_graph |
| graph_templates_item |
| graph_tree |
| graph_tree_items |
| host |
| host_graph |
| host_snmp_cache |
| host_snmp_query |
| host_template |
| host_template_graph |
| host_template_snmp_query |
| plugin_config |
| plugin_db_changes |
| plugin_hooks |
| plugin_realms |
| poller |
| poller_command |
| poller_item |
| poller_output |
| poller_reindex |
| poller_time |
| rra |
| rra_cf |
| settings |
| settings_graphs |
| settings_tree |
| snmp_query |
| snmp_query_graph |
| snmp_query_graph_rrd |
| snmp_query_graph_rrd_sv |
| snmp_query_graph_sv |
| user_auth |
| user_auth_perms |
| user_auth_realm |
| user_log |
| version |
+—————————+
52 rows in set (0.02 sec)
mysql> quit
Bye
[root@metamon01s ~]# vi /etc/cacti/db.php
/* make sure these values refect your actual database/host/user/password */
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “metamon01s.mydomainname.com”;
$database_username = “cacti”;
$database_password = “%my db cacti user password%”;
$database_port = “3306”;
$database_ssl = false;
[root@metamon01s ~]# vi /etc/httpd/conf.d/cacti.conf
# On httpd 2.4, change “Require host localhost” to “Require all granted”.
# On httpd 2.2, change “Allow from localhost” to “Allow from all”.
Alias /cacti /usr/share/cacti
# httpd 2.4
Require all granted
# httpd 2.2
Order deny,allow
Deny from none
Allow from all
# mod_security overrides.
[root@metamon01s ~]#
Thanks for the help so far.
@Thomas,
Thanks for the detailed information, still you see blank page? Can I have a look into the server? send me details to [email protected]
I fixed this issue:
TL;DR firewall rule config error.
The firewall commands to add -A INPUT -p udp -m state –state NEW -m udp –dport 80 -j ACCEPT and -A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT are added behind the -A INPUT -j REJECT –reject-with icmp-host-prohibited rule, so it blocks traffic on port 80 before allowing it, regardless of apache…
Figured this out by spinning up a second vm -with a gui- and checking if the localhost could access it (which it could), and troubleshooting from there.
Is it possible to get data related to mysql database in cacti.
Like number of queries executed for second.
Number of reads, no of writes etc.
Thanks a bunch, this was very helpful.
Sir if you know any other way kindly guide me.Thank you.
Hope you must be fine by grace of God. I am facing a problem in my thesis which is about to change the link data rate depending upon the buffer occupancy i-e if the buffer space is filled above threshold then increase the link data rate and if the buffer is occupied below threshold then reduce the link data rate. Now the problem exists in determining the buffer space occupied. For this I am using” ifconfig” and “netstat”.
For ifconfig the output for switch AS-1 eth1 is as follows (by using netstat I was getting the same output):
AS-1-eth1 Link encap:Ethernet HWaddr 7a:81:df:f1:29:74
inet6 addr: fe80::7881:dfff:fef1:2974/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
RX packets: 88 errors: 0 dropped: 0 overruns: 0 frame: 0
TX packets: 57 errors: 0 dropped: 0 overruns: 0 carrier: 0
Collisions: 0 txqueuelen: 1000
RX bytes: 12266 (12.2 KB) TX bytes: 9052 (9.0 KB)
Now I am thinking, packets in queue= RX packets-TX packets=88-57=31packets (31 packets are in the buffer). Am I thinking in the right direction?
For “ifconfig” kindly check the following link
http://www.computerhope.com/unix/uifconfi.htm, Kindly just go through the overview, I know your time is really precious and sorry to bother you, kindly reply me as soon as possible. Thanks in advance.
I’m having the problem that the graphs are showing empty.
I’ve wait several minutes/hours and still is showing no data at all.
this is true for one host I added and also the localhost.
@Ditmar,
If there isn’t any network traffic on the localhost, then it difficult to generate graphs….there must be some data to generate graphs…
it all installed correctly but my graphs are not showing, all I see is a little black box with and white X in the middle, anything missing ?
Hello and thank you for the tutorial.
The installation went good but the graphs on localhost are empty (Data values are NaN) do you know why ?
Thanks
@Flz,
Wait for 24 hours, let server generate graphs for your system…
hey Flz, I am having this same issue, did you end up fixing it ?
thanks
Hi,
Now I’m facing error here, please review the below error and kindly do the needful.
[root@testserver ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:
ERROR 1045 (28000): Access denied for user 'cacti'@'localhost' (using password: YES)
[root@testserver ~]# cat /etc/cacti/db.php
<?php
/*
+————————————————————————-+
| Copyright (C) 2004-2013 The Cacti Group |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
+————————————————————————-+
| Cacti: The Complete RRDTool-based Graphing Solution |
+————————————————————————-+
| This code is designed, written, and maintained by the Cacti Group. See |
| about.php and/or the AUTHORS file for specific developer information. |
+————————————————————————-+
| http://www.cacti.net/ |
+————————————————————————-+
*/
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;
Please first create cacti user in mysql and then restore cacti database. Please follow the instructions carefully…
My graphs does not shows… a got this message:
RRDTool Says:
ERROR: opening ‘/usr/share/cacti/rra/localhost_load_1min_5.rrd’: No such file or directory
@Marcelo,
It seems “localhost_load_1min_5.rrd” file is missing, better use find command to find the file and move to the given location.
After that try to Rebuild Poller Cache from the console under System Utilities..
Hi,
I apologies as I’m still facing the issue, even uninstalled the mysql packages and tried, it didnt work. Please look at the following, looks same issue. I heard from my colleague that root is unaware of the mysql password but I’m not that clear in that concept.
[root@testserver ~]# mysql -u root -ptest123
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
========================================================================================
[root@testserver ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
========================================================================================
Thanks
Hi,
I tried the following, then also I’m getting error, please have a look at the error and kindly suggest to fix.
[root@testserver ~]# mysql -u root -p test123
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
thanks
R.Pugazhendhi
@Pugazhendhi,
Please don’t put space betweek -p and password, try this.
Hi,
Thanks. Issue resolved. I have been using wrong password. Once I change it error cleared. thanks and apologies
Thanks
Hi,
When I access the mysql i’m getting the following error. Please help me to fix the error.
[root@testserver ~]# mysqladmin -u root password test123
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’
Thanks
R.Pugazhendhi
@pugazhendhi,
No, you can’t use mysqladmin to connect to mysql shell, use the following command.
Hi,
Firstly thanks for your immediate reply, I tried the following, then also I’m getting error, please have a look at the error and kindly suggest to fix.
[root@testserver ~]# mysql -u root -p test123
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
thanks
R.Pugazhendhi
How to monitor the remote server . Please add that for fedora21. Nice tutorial at all
can anyone help with the login and password?
@George,
login as ‘admin’ and password as ‘admin’.
hi there…
i installed cacti fans v0.8.7g on a virtual environment now cant seem to login to the default cacti-server login, but everything seem to b working though…
upon creating database. It creates it but doesn’t write the second line and so does with the next flush privileges line, AND do not create a database. it creates a line but says 0-Rows affected.
“mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘IDENTIFIED’;
Query OK , 0 rows affected (0.09 sec)”
It creates the database cacti.sql file though as i can locate the cacti.sql file’s location. but when I go installing the table it says ” ERROR 1049 (42000): Unknown database ‘cacti'”.
Send help please.
Excuse for the typo
“mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘the=password-i-set’;
i have already installed cacti but i canot access it the graphs its shows me with snmp error information
SNMP Information
SNMP error
snmp.conf is just http://paste.ubuntu.com/10408567/
i need help if you know it the problem
@Tewelde,
Can you share the screenshot?
how can i share the screenshot
Use any third party online image upload and share the link to the screenshot.
http://postimg.org/image/6pfhypf27/
@Tewelde,
Thanks for the screen grab, will update you with solution…
any progress on cacti @ravi?
@Tewelde,
Almost completed..give us 1-2 days will publish….
Hmm, so u r not on your words, 1-2 days period has already been over.
Just giving final touch..tomorrow you will get the article…..
Hiii
When I install cacti in centos 6.4
I faced lits of problem I m not able to install cacti in my server
Still I get error
Cannot retrieve repository expel and path incorrect plz give me any suggestion and resolve my problem as soon as possible
HI…After I navigate ipaddress/cacti/
I see this error
What should I do
Thanks for helping
FATAL: Cannot connect to MySQL server on ‘localhost’. Please make sure you have specified a valid MySQL database name in ‘include/config.php’
@Stella,
Please add the correct MySQL database settings in the cacti config file…
I have a query regarding cacti. Cacti is network monitoring tool. So I have installed it on centos-5-64bit server. Its working fine with localhost.
Now I have added another server in it. But graphs are not getting generated for it.
Is there any configuration required for the newly added server end? Like nagios, we have to setup client end.
The current 8.8b release has a broken graphs.php. It appears to have been broken fixing a security issue. You’ll hit it when you try to add a graph to a tree. this is the one you want to replace it with http://svn.cacti.net/viewvc/cacti/branches/0.8.8/graphs.php?view=markup&pathrev=7458
I somehow got my graphs to show, I’m not sure what made it show. I have updated the graphs.php as per the link afterwards but am not seeing any difference.
However, I still cannot get the timezone correct, it is still using UTC even though php.ini is set to a different timezone. My General information in Cacti is showing UTC time while date section shows default timezone as UTC and local/master value of date.timezone Asia/Hong_Kong
Data are not being recorded to the graph until the next day. The graph appears with NaN values until the next day. This is a test machine that is turned off daily. I’ve tried restarting and turning the machine off after adding a new device and graph and it always needs a night before values show. I’m not sure where to change the time or why it is taking so long for data to be valid on the graph.
@tzetuo,
Why not sync your localtime using NTP? here is the article, please go through it.
https://www.tecmint.com/install-ntp-server-in-centos/
I finally got it working. Thanks for all the help.
Hi, thanks for the how-to on getting cacti installed. I currently have it on Fedora 20 with cacti 0.8.8b. Having set the file to “Allow from all”, I’m still not able to access it from another computer using the IP/cacti. It is still giving me the “You don’t have permission to access /cacti on this server.”
I’m also having different time for my logs and graphs that is different from the system time. I have 11:30am on the system and the log would show 3:30am. Graph shows correct time on the axis but log time for “From date time to date time”.
Lastly, I’m having all my data show as nan. The “Log File” under utilities is green and doesn’t appear to be any error. The devices I’m testing with is a cisco swtich and a Windows 7 computer both using snmp. The device recognizes the information but yet I’m still getting nan.
Any idea on how to resolve this? Thank you!
@Cheung,
Are you able to access cacti interface from localhost? like http://localhost/cacti? If yes, then you must add your IP address from where you accessing it to the cacti.conf file and restart the apache service..
About logs timing, you need to check logs and cacti configuration files and specify time if there needed…
@Ravi,
Thanks for the reply, I am able to access the interface through localhost/cacti. I’ve tried using both allow from all and allow from the specific ip address, both will still not allow me to access through another computer. I’ve even tried turning the firewall off for testing.
My graphs are also still getting NaN instead of actual values.
Hi, sorry for my bad english.
Just want to ask how can i deal with this error
[root@cacti ~]# mysqladmin -u root password cacti
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)’
Check that mysqld is running and that the socket: ‘/var/lib/mysql/mysql.sock’ exists!
[root@cacti ~]# mysqldadmin -u root password cacti
bash: mysqldadmin: command not found
I’m just newbie in linux platform and I saw your website tutorial very useful. Hope you anyone can help me with this one.
Thanks in advance.
The error indicates that your mysqld service is not yet strated, you need to start or restart it using below command.
After restarting, run the following command to connect to mysql shell.
Hi, just want to ask if you know how to solve “Valiadation Error” whenever I tried to add device to a tree graph.
Thanks! :)
Dear Sir,
Please tell me that it will show system by system usages or a complete internet usages by network. and I want to some server status like apache, mysql, etc.
Thanks
Sandeep Rawat
Dear Sandeep,
Cacti tool has features to monitor everything which runs on network.
Hi done installation logged in ok. But when I want to add device I get “SNMP error” on the GUI and I have this error in the Cacti log
10/12/2014 12:19:51 PM – CMDPHP: Poller[0] WARNING: SNMP Get Timeout for Host:’41.87.1.11′, and OID:’.1.3.6.1.2.1.1.1.0′
will appreciate your help.
Hi, first of all i want to thank you for putting up this helpful tutorial and I really want you to know that your website really helped me a lot.
BTW, I just want to ask some questions about cacti. Whenever I tried to add a device to a custom Graph Tree it always throws an error “Validation Error”
Please help me :)
PS: If you can also put some tutorials how to add/configure device/monitor it and also the network basic and advance :) It will be an early birthday gift for me.
Thank you so much!
Hello Ravi, please share me a tutorial to setting snmpd in linux client for this cacti
Instructions alredy included in the article, please follow correctly…
Hi Ravi,
I have installed cacti successfully, while creating new graph getting below error from rrd. Please help
“rrd ERROR: opening ‘/usr/local/cacti/rra/test_pc_proc_33.rrd’: No such file or directory “
Hi Ravi,
excellent article, but after installation. I have no problem with the localhost graphs , but when i import hosttemplates liek apache. They are not showing data. connectivity is fine between cacti server and client. Even the selinux is disabled. The main problem is graphs showing no data, i suppose this is due to cacti unable to pull the data..any suggestions on this helps a lot. Thanks in advance
Hi, Tnx for tutorial,
How we can access cacti with domain name instead of IP address, like this:
domainname.com/cacti instead of IP-add/cacti?
Tnx!
If your domain is configured as top level domain under Apache, You can access cacti under it.
Hi All,
My cacti become a sometimes does not draw a traffic data on graphs.
And when I do restart the Server then it’s runs well and draws traffic data for a period of about 12 hours has been suspended from the drawing again and so.
Please advise
Hi All,
When i try to install this got this error. i am using CentOS 4 version.
yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-mysql
Error Downloading Packages:
php-mbstring-5.3.3-22.el6.x86_64: failure: Packages/php-mbstring-5.3.3-22.el6.x86_64.rpm from centos: [Errno 256] No more mirrors to try.
Could you please suggest on this.
The error related to repo server or your network connection, try to run the following serious of command.
Hello Ravi,
Thanks a lot for the steps on Cacti installation.
I followed the same steps and successfully installed cacti, but i am unable to view the graphs. All my graphs shows me 0 load.
hi Ravi
I running on fedora 20, everything is fine, but i only can access the cacti using http://localhost/cacti. but when i use http://myIP/cacti, its forbidden with error ‘You don’t have permission to access /cacti on this server.’ i already add my IP in allow list as per below;
# httpd 2.2
Order Deny,Allow,
Deny from all
Allow from 192.168.0.0/24
i need to allow my LAN user to access the cacti.
Use online tools to get your IP address and add that IP in allow list, and then try to access the page.
Why runlevel 4 is used in /sbin/chkconfig –levels 345 httpd on ???
We got a support dep. that need to run the graf on a wall monitor without login… any ideas ?
installed cacti successfully but have one prob, inbound line is overshadowed by outbound, any idea on how they can be shown concurrently?
hiiii ravi sir ,
i install cacti ..for my mpls network router …i have to create monthly device availability report from cacti … how to create availability report …can u help me for that…
i install cacti on fedora 14 . install successfully . add 3 advices but status not changing. status showing unknown.
Hi Ravi,
I followed each and every step and installed successfully but I am unable to see any graphs, please help me.
Thanks,
KK.
Any errors your getting on the screen?
Pls. help, i follow everything but i’m not able to successfully work it out. if I type the address/cacti/install its only returning a blank page. I know that apache is working.. Thank you.
I am able to generate the graphs for localhost but we i try to create device for remote machine, i am getting the SMTP error.
Below are the cacti logs
CMDPHP: Poller[0] WARNING: SNMP Get Timeout for Host:’x.x.x.x’, and OID:’.1.3.6.1.2.1.1.3.0′
Please revert back asap
My graph are not loading.
Disable SELinux.
i got this error
Forbidden You don’t have permission to access /cacti on this server
plz help me
Please add your IP address in allow list.
yes i alredy add this line Allow from 10.30.25.0/24 in /etc/httpd/conf.d/cacti.conf
cacti server is not working. Forbidden You don’t have permission to access /cacti on this server this error
is resolve.
when i added other host, report on cacti “SNMP errors”
Hi, i want to add other host to monitor, please give me instruction !
Thanks !
Hi,
plz helpe me Forbidden
You don’t have permission to access /cacti/ on this server.
Apache/2.2.15 (CentOS) Server at 108.61.40.185 Port 80
http://108.61.40.185/cacti/
Please add your IP address in Allow list.
ok Allow list all but
this notload anything
http://108.61.40.185/cacti/
What error code you getting on the browser?
Error code does not have white screen
What’s your Apache error logs saying? have you checked?
Dear Ravi,
I have trouble with ICMP protocol, from the server can ping this device but from Cati, it show that can not ping ( ICMP ping Timed out ) when I choose ICMP at Ping method.
Ping Method
The type of ping packet to sent.
NOTE: ICMP on Linux/UNIX requires root privileges.
I dont know how to fix it, I set 777 permission at ( chmod 777 /usr/bin/php ) , ( chmod 777 /usr/share/cacti/ ) and stop IP tables.
Many thanks,
It’s something related to permission, you should follow the below guide at cacti forums.
http://forums.cacti.net/about15639.html
Hi,
You should edit this example of cron job
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
remove # sign in front
some people like me can just copy this as is and then will have troubles with device status unknown in cacti
Cheers.
There is an error
Getting 500:internal server Error any idea….
Did you made any changes to httpd.conf? What error_log saying, can you post here error messages, if any.
I am not able to post error log. I am getting error Page not found while I am posting error log
Hi Ravi,
SElinux disabled… found no any changes..
What should be done now..
Please help.
while doing tcpdum host MYIP(x.x.x.x).. i get only following message :
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:39:13.660448 IP 10.70.3.20.44770 > 10.3.0.253.snmp: GetRequest(28) system.sysDescr.0
15:39:13.663583 IP 10.3.0.253.snmp > 10.70.3.20.44770: GetResponse(185) system.sysDescr.0=[|snmp]
15:39:13.664026 IP 10.70.3.20.51972 > 10.3.0.253.snmp: GetRequest(28) system.sysUpTime.0
15:39:13.666679 IP 10.3.0.253.snmp > 10.70.3.20.51972: GetResponse(32) system.sysUpTime.0=813142904
15:39:13.666881 IP 10.70.3.20.41630 > 10.3.0.253.snmp: GetRequest(28) system.sysName.0
15:39:13.669512 IP 10.3.0.253.snmp > 10.70.3.20.41630: GetResponse(35) system.sysName.0=”KAT122B”
15:39:13.669662 IP 10.70.3.20.51272 > 10.3.0.253.snmp: GetRequest(28) system.sysLocation.0
15:39:13.672405 IP 10.3.0.253.snmp > 10.70.3.20.51272: GetResponse(81) system.sysLocation.0=[|snmp]
15:39:13.672607 IP 10.70.3.20.47664 > 10.3.0.253.snmp: GetRequest(28) system.sysContact.0
15:39:13.675827 IP 10.3.0.253.snmp > 10.70.3.20.47664: GetResponse(43) system.sysContact.0=[|snmp]
:::::::::::::::::::::::::
Only name , location , and other general information is being pulled..
what can i do..??
If possible, try to disable SELinux, then give a try.
I checked all the possible things related prob.. still couldn’t find any solution… I have configured all the steps and also able to browse cacti login page.. but no graph generated even for local host…
I tried to see the tcpdump of my host… was seen tht there is SNMP processing… but still unable to find graph..
Please help.
Hi Ravi,
Thanks for providing great article. I am trying to configure cacti on my localsystem , which have centos 6.4. After follow complet instruction, when i browse this, it’s showing blank page. I have added ip in conf file and also restart httpd service. But did not get sucess.
Can you please help me regarding this ?
Thanks,
Manoj
Hi..
I was able to install the cacti…but i cant get any graph now.. but the graph was bale to extract when i manually poll the data …
So please help me how to get graph for traffic and all in cacti..
Bikash.
HI i am new to rhel and was configuring Cacti.. but when i try to install the packages.. i get the follwing error;
[root@localhost ~]# yum install cacti
Setting up Install Process
No package cacti available.
Nothing to do
::::::::::::::::::::::::::::::::::::::;
[root@localhost ~]# yum install rrdtool
Setting up Install Process
No package rrdtool available.
Nothing to do
……………………………………
Please help
Hi,
Install EPEL Repository and update yum. After that it will be done.
Thanx very much. works well on centos 6.4 with epel. Thank you for the info
Hi everyone,
I’m struggling with the following error with my server…
can any one get me out of this issue.
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 523800 bytes) in /usr/share/cacti/lib/adodb/adodb.inc.php on line 833
thank you… in advance…
Raghavendra Gujjar…
[email protected]
To fix this error, you need to increase the memory in your php.ini and restart the web server.
This error is displayed if you forget to load the initial database. I increased the memory up to 1G and still got the error. Once I loaded the /usr/share/doc/cacti/cacti.sql file into MySQL the error went away and the install page displayed.
Hi Ravi,
the error is gone but still not working i am get The website cannot display the page error 500
Thanks for help
:)
Hi Ravi,
Thanks for you post !!! i did all the stepes one by one and i got the next error
Starting httpd: httpd: apr_sockaddr_info_get() failed for Cacti
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
Can you help with this error in addition I didn’t get the login screen.
Thanks
To fix this error, just open your /etc/hosts file and add correct machine hostname. To get machine hostname use command.
So, add correct hostname along with your IP address to your /etc/hosts file. Like
Restart Apache again. that’s it all set go.
I follow every step. But no images shows on the screen, even no warning, I wonder why?
Run poller.php from the terminal and wait for sometime and see.
Hi, is Cacti capable of monitoring storage? monitor your hard disk and it will send a email that if it is near full?
Yes, But you need to configure it.
Can you give a link or a tutorial on how am I going to configure. many thanks
I follow every step. But no images shows on the screen, even no warning, I wonder why?
[root@test ~]# yum install cacti
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: less.cogeco.net
* extras: less.cogeco.net
* updates: centos.bhs.mirrors.ovh.net
Excluding Packages in global exclude list
Finished
Setting up Install Process
No package cacti available.
Nothing to do
[root@test ~]#
Which OS version you using?
centos 5.9
Centos 5.9 32bit
Please enable Epel repository and try to install again.
Hi Ravi,
Great instructions/notes.
I’ve gotten up to the point of running cacti in my browser – getting the ole 403 Forbidden message.
I’m running Fedora 18 in a VM. My host OS is Windows 7; and I’m running VirtualBox (in case this makes a difference)
Anyway, I’ve specified my guest/Fedora IP in …/cacti.conf; restarted httpd.service. I’ve changed it back to 127.0.0.1 and restarted httpd.service… I’m also running Firewall and selected http and https as trusted for the current zone and added 3306 to “ports”.
Still no luck. Iptables.service is not running.
Any suggestions?
-Rich
Can you able to browse http://localhost/cacti? What error you getting?
Forbidden
You don’t have permission to access /cacti on this server.
Forbidden
You do not have permission to access this server.
I’m running http 2.4.4-2
If I change cacti.conf to “Require all granted” (under httpd 2.4), I get a blank browser. I guess that’s some type of progress. I feel I’m missing something simple.
-Rich
Sir,
I have follow all steps but i am getting error
Forbidden
You don’t have permission to access /cacti on this server.
please help me
please reply in my email id
Please add correct IP address of your machine to “Allow” list of cacti.conf file.
Hi,
Do you know where to configure about email notifications? for example the system is up or down, you’ll be notified something like that.
thanks in advanced.
Great instructions. Finally was able to install and run Cacti on a CentOS linux box.
I ran into a problem when installing Cacti tables to MySQL.
I had to change the permissions on the cacti.sql file inorder to install the tables.
Other than that, this recipe works great.
Thanks for sharing.
Thanks Ravi for your excellent instructions …
I am still getting “FATAL: Cannot connect to MySQL server on ‘localhost’. Please make sure you have specified a valid MySQL database name in ‘include/config.php’ ”
I am sure i have configured db.php properly as per the right credentials…
—–
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “titan#12”;
$database_port = “3306”;
$database_ssl = false;
Ravi, Please help me in this case…
Is MySQL service is started? and port is open on firewall? can you post the output of the following command.
Thank you Ravi for the prompt response.
Below is the output of the given command.
o/p: -bash: telnet: command not found
in my box , the db.php is residing in “/var/www/cacti”
Thanks in advance…
Gopi.
telnet package is not installed, install it tbis way.
And then again post the output command.
Yeah! i will try and update the status…
Thnx/Gopi
Ravi, installed telnet and below is the output…
——————————————————————
[root@XXXXXXXXX~]# telnet localhost 3306
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
4
5.0.95?.7i+:~/l,S=rLc/^m)!jrConnection closed by foreign host.
[root@sbcloudlymem02 ~]#
Below is the output after install
…….
[root@machineName ~]# yum install telnet
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: centos.mirror.nac.net
* base: centos.mirror.nac.net
* extras: centos.vipernetworksystems.com
* rpmforge: mirror.hmc.edu
* updates: mirror.wiredtree.com
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package telnet.i386 1:0.17-41.el5 set to be updated
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
telnet i386 1:0.17-41.el5 base 57 k
Transaction Summary
================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 57 k
Is this ok [y/N]: y
Downloading Packages:
telnet-0.17-41.el5.i386.rpm | 57 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : telnet 1/1
Installed:
telnet.i386 1:0.17-41.el5
Complete!
[root@machineName ~]# telnet localhost 3306
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
4
5.0.95?.7i+:~/l,S=rLc/^m)!jrConnection closed by foreign host.
[root@machineName ~]#
Everything seems to be fine, I don’t know why you getting such error. If you don’t mind can I have your server IP address to check from the browser. Or create a testdb.php file under your website root directory and add the following lines and replace MySQL settings as per your needs and browse the file and post the output.
Do You have any tutorial regarding on plugins, like the “monitor tab maybe”
thanks
No idea, can you tell us about it so we could think of creating an article on this.
Why this tutorial not including configure snmp for cacti. I think cacti is 100% useful if it configure using snmp for trap any statistic interface both from the host and remote host :)
Forbidden
You don’t have permission to access /cacti on this server.
Don’t Work
Hi,
All installed as per these excellent instructions however I do not get any graph images showing – just a broken link where the image should be showing.
It looks like a possible permissions issue but can not see where it could be. The yum install cacti placed the website directory structure /usr/share/cacti as with root permissions and everything else appears to work fine.
Cent OS 6.3 clean and minimal install then installed as per your instructions.
Any ideas?
Thanks
Andy
Hi Ravi,
Sorry about the first post, i have made corrections:
My cacti.conf looks like this:
Alias /cacti /var/www/html/cacti/
Order Deny,Allow
Deny from all
Allow from 172.227.244.21
but still:
Forbidden
You don’t have permission to access /cacti/ on this server.
Apache/2.2.3 (CentOS) Server at 172.227.244.21 Port 80
both mysqld and httpd services are running.
After making corrections, have you restarted Apache? If yes, then you must define proper IP address in Allow section. Have you tried from the localhost?
Yes i did the needful, both localhost and my IP are tripping. if i type my IP or localhost in the browser the apache test web page opens nicely.
Hi,
me too having same problem. tried using the ip and localhost both with no luck.restarted the HTTPD service too
Hi,
am getting an error on the web browser:
Forbidden
You don’t have permission to access /cacti/ on this server.
Apache/2.2.3 (CentOS) Server at 197.231.244.21 Port 80
My cacti.conf looks like this:
Alias /cacti /var/www/html/cacti/
Order Deny,Allow
Deny from all
Allow from 172.227.244.0/22
Check the IP address of your machine and add that IP in allow list and check again.
Thank so much
help me !
I don’n log on to Cacti
Asking questions are in fact nice thing if you are
not understanding anything fully, but this piece of writing presents nice understanding even.
Hey i’ve tried this 3 times, and each time Cacti works but no graphs show, like no image at all, not even a broken image link just no graph image, Any ideas?
Poller shows this when i run it:SYSTEM STATS: Time:0.5038 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:1 RRDsProcessed:0
Is there some permissions or something that needs to be set for this to work?
hello!
I configure httpd and mysql and cron but when i type in browser ,i just view a empty page
Hi,
even am facing the same problem ..
Hello,
I am facing the same problem
Have you solved it now?
Run the poller.php script to fix this issue.
Did nobody got this error message:
Error: Package: php-devel-5.3.3-14.el6_3.i686 (updates)
Requires: php = 5.3.3-14.el6_3
Installed: php-5.4.10-1.el6.remi.i686 (@remi)
php = 5.4.10-1.el6.remi
Available: php-5.3.3-3.el6_2.8.i686 (base)
php = 5.3.3-3.el6_2.8
Available: php-5.3.3-14.el6_3.i686 (updates)
php = 5.3.3-14.el6_3
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
So I did, someone knows how to resolve this ?
Thanks
You have older version php which is conflicting with php 5.4, first remove the older php with the following commands.
and then try again…
Thanks Ravi for your quick response,
That is going well so far, but when I try to startup the cacti install webinterface I got the following error message:
FATAL: Cannot connect to MYsql server on myhostname, Please make sure you have specified a valid mysql databasename in ‘/include/config.php’
Please put correct database name, localhost and user details in config.php.
I am receiving the same error,
Fatal: Cannot connect to MySql Server on my hostname, Please make sure you have specified a valid mysql database name in ‘/include/config.php’
I understand I need to vi to config.php and apply the correct parameters; however can someone tell me where to find this file.
I assume it was under /var/www/html/cacti but the path mention is not a valid path
use the /etc/cacti/db.php file and add the correct mysql parameters.
Hi!
Please help me!
Alias /cacti /usr/share/cacti
# httpd 2.4
Require host localhost
# httpd 2.2
Order deny,allow
Deny from all
Allow from 172.16.16.0/20
in this section , when I restart apache it didn’t start and give me a error that Reqire or Order or Deny or Allow not allowed here
@safa,
The article is updated, please replace the old content in cacti.conf with updated one. It will work 100%
please use this default user name admin and password admin. it works
I have only two options regarding Graph types :
*Graph templated base
*Unix-Get mounted partitions
at the console, under management section, click devices. then click localhost. change host template from local linux machine to ucd/net snmp host. click save at the bottom of screen. only after that snmp – interface statistics option available.
Well, I did not notice the default ones
Thanks man :)
I have logged in
Ravi,its done,
I was using localhost/cacti so I changed to use my-local-IP/cacti and edited my proxy settings
1 more question for now
which username and password I must use
I have tried that this moment, but still the same error
is there any service that should be restarted upon this config ?
Abbas, restart httpd service like below.
Hey , Really great instruction installing cacti.However I am facing a little problem.
When I reach to the point of Running cacti installer set up I get the following error:
Forbidden
You don’t have permission to access /cacti on this server.
Apache/2.2.15 (CentOS) Server at localhost Port 80
P.S : I am new at unix
@Abbas,
Did you added Allow from 127.0.0.1 in /etc/httpd/conf.d/cacti.conf file to allow access to localhost?
After that, restart httpd service. It will fix the problem.
Can anyone help me in setting up a cacti for monitor only my network devices. Please if any one could be me with the commands and the interface also. Console screen
Thank you Very much . I have configured Cacti with out any error.
Hi,
I have installed cacti in CentOS. Currently, the installation was successful, but it is not allowing me to go to the next screen after login. After I give admin/admin, the page is getting refreshed and its not moving to the next screen, where we can see the “force password change” page. Please help in giving some solution to it.
@Venkat,
I think you have login session problem, set 777 writes to /tmp folder and /var/lib/php/session. it should work.
Hi Ravi excellent tutorial very good I came all excellent
ravi I have only one question?
What I have to use user and password for logging
please help I want to implement that service
in my work.
Thanks.
Att;
0mar.
[email protected]
my friend thanks I’ll try it and I confirm.
my friend nothing more I would like to do a how-to
openvpn with linux and windows clients interested me much
know how to configure it.
Thanks agains ….
My thanks everything ok the problem was me that not read good the document.
all ok.
thanks, my friend very very good good how to.
Dear Venkat,
Please give the new password and confirm password for cacti use.
Hope this will be solve your issue.
Thanks…….
Great Instructions!!!! Do you have anyting on adding plugins like routerconfigs or realtime
thanks for the tutorial bro ; )
Before step “Running Cacti Installer Setup” you need to open for HTTP in IPTABLES firewall….
nano /etc/sysconfig/iptables
Add the following:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
and restart IPTABLES:
service iptables restart