Difference between revisions of "Cacti"

From ArchWiki
Jump to: navigation, search
m (Cacti Setup: Typo - /etc/http -> /etc/httpd)
m (Recategory)
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:HOWTOs (English)]]
+
[[Category:Status monitoring and notification]]
 +
[[fr:cacti]]
 
This article describes how to set up Cacti on an Arch Linux system. Cacti is a web-based system monitoring and graphing solution.
 
This article describes how to set up Cacti on an Arch Linux system. Cacti is a web-based system monitoring and graphing solution.
  
 
==Server Setup==
 
==Server Setup==
This article assumes that you already have a working LAMP (Linux, Apache, MySQL, PHP) server. If you don't have a web-server set up already, you can follow [[LAMP|these instructions]] to do so.
+
This article assumes that you already have a working LAMP (Linux, Apache, MySQL, PHP) server. If you do not have a web-server set up already, you can follow [[LAMP|these instructions]] to do so.
  
 
==Cacti Setup==
 
==Cacti Setup==
Line 33: Line 34:
 
:* Create the cacti database, load the tables, and set the user. You will be asked for the MySQL root password for each of these commands.
 
:* Create the cacti database, load the tables, and set the user. You will be asked for the MySQL root password for each of these commands.
 
  # mysqladmin -u root -p create cacti
 
  # mysqladmin -u root -p create cacti
  # mysql -u root -p cacti < /srv/http/cacti/cacti.sql
+
  # mysql -u root -p cacti < /usr/share/webapps/cacti/cacti.sql
 
  # mysql -u root -p
 
  # mysql -u root -p
 
   mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'some_password';
 
   mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'some_password';
Line 39: Line 40:
 
   mysql> exit
 
   mysql> exit
  
* Edit /srv/http/cacti/include/config.php. The password was specified in the previous step.
+
''Note:'' As of march 2011 (mysql 5.5.9-1, cacti 0.8.7g-1) mysql fails to import the SQL due to an outdated syntax. You can update the file using this command:
 +
 
 +
cd /usr/share/webapps/cacti && mv cacti.sql cacti.sql.org && sed s/TYPE=/ENGINE=/g cacti.sql.org > cacti.sql
 +
 
 +
* Edit /usr/share/webapps/cacti/include/config.php. The password was specified in the previous step.
 
  $database_username = "cacti";
 
  $database_username = "cacti";
 
  $database_password = "some_password";
 
  $database_password = "some_password";
  
 
* Clean up cacti directory
 
* Clean up cacti directory
  # chown -R http:http /srv/http/cacti/{rra,log}
+
  # chown -R http:http /usr/share/webapps/cacti/{rra,log}
  # rm /srv/http/cacti/.htaccess
+
  # rm /usr/share/webapps/cacti/.htaccess
  # chmod +x /srv/http/cacti/{cmd,poller}.php /srv/http/cacti/lib/ping.php
+
  # chmod +x /usr/share/webapps/cacti/{cmd,poller}.php /usr/share/webapps/cacti/lib/ping.php
  
* Optionally, install [http://aur.archlinux.org/packages.php?ID=21541 cacti-spine], a faster poller for cacti, from the [[AUR]]. Use the same password as in previous steps.
+
* Optionally, install [https://aur.archlinux.org/packages.php?ID=21541 cacti-spine], a faster poller for cacti, from the [[AUR]]. Use the same password as in previous steps.
  
 
:* Edit /etc/spine.conf
 
:* Edit /etc/spine.conf
Line 57: Line 62:
 
  # crontab -e
 
  # crontab -e
 
:* Add the following to the end of the list
 
:* Add the following to the end of the list
  */5 * * * * /usr/bin/sudo -u http /usr/bin/php /srv/http/cacti/poller.php > /dev/null 2>&1
+
  */5 * * * * /usr/bin/sudo -u http /usr/bin/php /usr/share/webapps/cacti/poller.php &> /dev/null
  
 
* Restart cron and apache
 
* Restart cron and apache
Line 67: Line 72:
 
* Click Next
 
* Click Next
 
* Select New Install and click Next
 
* Select New Install and click Next
* Ensure that all paths are ok. For RRDTool Utility Version, select RRDTool 1.3.x. Click Finish.
+
* Ensure that all paths are ok. You need to specify versions of RRDTool and NET-SNMP. Get RRDTool Utility Version using 'rrdtool -v', and'net-snmp-config --version' for NET-SNMP. Click Finish.
 
** If any paths are invalid, you'll need to figure out why. Check the apache error logs for hints.
 
** If any paths are invalid, you'll need to figure out why. Check the apache error logs for hints.
 
* Login with username "admin" and password "admin".
 
* Login with username "admin" and password "admin".

Revision as of 10:59, 16 December 2012

This article describes how to set up Cacti on an Arch Linux system. Cacti is a web-based system monitoring and graphing solution.

Server Setup

This article assumes that you already have a working LAMP (Linux, Apache, MySQL, PHP) server. If you do not have a web-server set up already, you can follow these instructions to do so.

Cacti Setup

The following should all be performed as root.

  • Install the necessary programs
# pacman -S cacti php-snmp
  • Edit /etc/php/php.ini
  • Uncomment the following lines:
;extension=mysql.so
;extension=sockets.so
;extension=snmp.so
  • Comment the following line:
open_basedir=...
  • Uncomment and set the following:
;date.timezone =
  • Start mysqld and snmpd if they're not already running:
# /etc/rc.d/mysqld start
# /etc/rc.d/snmpd start
  • Add mysqld and snmdp to the DAEMONS array in /etc/rc.conf to ensure that they're running at bootup
  • Edit /etc/httpd/conf/httpd.conf
  • Inside the <Directory "/srv/http"> block, ensure that you have the following line:
AllowOverride All
  • MySQL setup
  • Create the cacti database, load the tables, and set the user. You will be asked for the MySQL root password for each of these commands.
# mysqladmin -u root -p create cacti
# mysql -u root -p cacti < /usr/share/webapps/cacti/cacti.sql
# mysql -u root -p
  mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'some_password';
  mysql> FLUSH PRIVILEGES;
  mysql> exit

Note: As of march 2011 (mysql 5.5.9-1, cacti 0.8.7g-1) mysql fails to import the SQL due to an outdated syntax. You can update the file using this command:

cd /usr/share/webapps/cacti && mv cacti.sql cacti.sql.org && sed s/TYPE=/ENGINE=/g cacti.sql.org > cacti.sql
  • Edit /usr/share/webapps/cacti/include/config.php. The password was specified in the previous step.
$database_username = "cacti";
$database_password = "some_password";
  • Clean up cacti directory
# chown -R http:http /usr/share/webapps/cacti/{rra,log}
# rm /usr/share/webapps/cacti/.htaccess
# chmod +x /usr/share/webapps/cacti/{cmd,poller}.php /usr/share/webapps/cacti/lib/ping.php
  • Optionally, install cacti-spine, a faster poller for cacti, from the AUR. Use the same password as in previous steps.
  • Edit /etc/spine.conf
DB_User cacti
DB_Pass some_password
  • Set up cron job to run poller every 5 minutes
# crontab -e
  • Add the following to the end of the list
*/5 * * * * /usr/bin/sudo -u http /usr/bin/php /usr/share/webapps/cacti/poller.php &> /dev/null
  • Restart cron and apache
# /etc/rc.d/crond restart
# /etc/rc.d/httpd restart

Web Configuration

Open up a browser and go to http://your_ip/cacti. You should be welcomed with the cacti installer.

  • Click Next
  • Select New Install and click Next
  • Ensure that all paths are ok. You need to specify versions of RRDTool and NET-SNMP. Get RRDTool Utility Version using 'rrdtool -v', and'net-snmp-config --version' for NET-SNMP. Click Finish.
    • If any paths are invalid, you'll need to figure out why. Check the apache error logs for hints.
  • Login with username "admin" and password "admin".
  • Change the password as requested, click Save.
  • (Optional) If you chose to install spine, follow these instructions to set it up.
    • Click on Settings, on the left panel of the Console tab.
    • Select the Poller tab.
    • Change Poller Type to spine.
    • Adjust any other settings on the page as desired, then click Save.
    • Select the Paths tab.
    • Set Spine Poller File Path to /usr/bin/spine and click Save.

See Also

  • LAMP - Set up a LAMP server

External Links