Cacti安装详细步骤

有运维或运维开发方面的需求,可以联系博主QQ 452336092或Email:admin#centos.bz(收费)

文章目录
[隐藏]

一、cacti概述

1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

二、安装rrdtool

CentOS-5:
32位:

  1. rpm -ivh http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

64位:

  1. rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  1. yum install rrdtool -y

CentOS-6:
32位:

  1. rpm -ivh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

64位:

  1. rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  1. yum install rrdtool -y

三、安装配置net-snmp

1、安装net-snmp

  1. yum install net-snmp net-snmp-libs net-snmp-utils

2、配置net-snmp
在/etc/snmp/snmpd.conf中修改:

  1. view    systemview    included   .1.3.6.1.2.1.1

为:

  1. view    systemview    included   .1.3.6.1.2.1

3、测试net-snmp

  1. # service snmpd start
  2. # snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0
  3. SNMPv2-MIB::sysDescr.0 = STRING: Linux cronos 2.4.28 #2 SMP ven jan 14 14:12:01 CET 2005 i686

四、安装LAMP

  1. yum install httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server
  2. service httpd start
  3. service mysqld start
  4. mysqladmin -uroot password yourpassword
  5. mysqladmin --user=root --password reload

五、安装cacti

1、下载cacti

  1. cd /tmp
  2. wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
  3. tar xzf cacti-0.8.8b.tar.gz
  4. mv cacti-0.8.8b /var/www/html/cacti
  5. cd /var/www/html/cacti

2、创建数据库

  1. mysqladmin --user=root -p create cacti

3、导入数据库

  1. mysql -uroot -p cacti < cacti.sql

4、创建数据库用户

  1. shell> mysql -uroot -p mysql
  2. mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
  3. mysql> flush privileges;

5、配置include/config.php

  1. $database_type = "mysql";
  2. $database_default = "cacti";
  3. $database_hostname = "localhost";
  4. $database_username = "cactiuser";
  5. $database_password = "cactipassword";
  6.  
  7. /* load up old style plugins here */
  8. $plugins = array();
  9. //$plugins[] = 'thold';
  10.  
  11. /*
  12.    Edit this to point to the default URL of your Cacti install
  13.    ex: if your cacti install as at http://serverip/cacti/ this
  14.    would be set to /cacti/
  15. */
  16. $url_path = "/cacti/";
  17.  
  18. /* Default session name - Session name must contain alpha characters */
  19. #$cacti_session_name = "Cacti";

6、设置目录权限

  1. useradd cactiuser
  2. chown -R cactiuser rra/ log/

7、配置计划任务

  1. echo "*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
  2. service crond restart
  3. service httpd restart

8、完成cacti的安装
1) 在浏览器中输入:http://www.yourdomain.com/cacti/
默认用户名:admin 密码:admin
2) 更改密码
3)设置cacti用到的命令路径

至此,cacti的安装已经完成,服务器流量监控设置可以参考https://www.centos.bz/2012/06/cacti-monitor-traffic/
参考:http://docs.cacti.net/manual:087:1_installation.1_install_unix

转载请保留原文链接:Linux运维日志 » Cacti安装详细步骤

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^

评论 16

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 钟义林:razz: 如果您也遇到我一样的问题 chown -R cactiuser rra/ log/ [root@localhost cacti]# chown -R cactiuser rra/ log/ chown: “cactiuser”: 无效的用户 useradd cactiuser 还有 配置include/config.php 如果按照本文作者写的,里面不需要修改 非常感谢作者回复
    • 福哥@钟义林 cd /var/www/html/cacti chown -R cactiuser rra/ log/回复
  2. Sandy我用的cacti-0.8.8a,在安装了settings-v0.71-1.tgz,thold-v0.4.9-3.tgz,monitor-v1.3-1.tgz三个插件后,所有的功能都正常。但是这时配置项settings打不开了,只要找开,就会返回一个服务器内部错误,HTTP错误500。我把thold-v0.4.9-3.tgz这个插件卸载了才行。请问你遇到这样的问题没有?有没有什么好的解决方法?这是不是插件自身的问题?还是有冲突?回复
    • 朱 茂海试打开php.ini中的display_errors=on看能不能显示出错误来。回复
      • SandyNotice: A session had already been started - ignoring session_start() in /data1/html/cacti/include/global.php on line 154 Fatal error: Call to undefined function define_syslog_variables() in /data1/html/cacti/plugins/thold/includes/settings.php on line 132 global.php154行内容: session_start(); settings.php132行内容: define_syslog_variables();回复
        • 朱 茂海你php什么版本,似乎不支持define_syslog_variables函数,上传个探针看下是否支持,或者在命令行执行/usr/local/php/bin/php --rf define_syslog_variables回复
          • Sandy是不支持: [root@test ~]# php --rf define_syslog_variables Exception: Function define_syslog_variables() does not exist 我的PHP版本:php-5.4.4.tar.gz 这新版的PHP不支持,这个郁闷。回复
            • sargenttidefine_syslog_variables是在初始化与 syslog 相关的变量,而syslog相关变量已经被全局定义,无需再定义,直接注释掉settings.php132行即可。回复
  3. 小小我在虚拟机里安装centos 6.0 后 不显示 本机的流量图呢回复
  4. WWWW为啥我这空白呢回复
  5. c安装后,ip/cacati/ 访问提示500 。。回复
  6. 震动心弦rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm 你好这个文件是做什么用的是一个库文件吗?回复
    • 朱 茂海yum源回复
      • 震动心弦我就是这个意思,我安装这个包之后直接写入到我的yum源配置文件里是吗?还是说直接覆盖,我安装这个之后,遇到有写包安装不了!!回复
  7. Jacky,Raozabbix、nagios、munin、cacti这几种,哪个的监控效果更佳?回复
  8. www按照此步骤,浏览器打不开www.yourdomain.com/cacti回复