cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,snmp需要的变量数据是通过读取mysql数据库得到,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义。 1) Snmp用来收集数据; 2) Rrdtool用来存储数据和生成图表; 3) Mysql用来配合PHP程序存储一些变量数据并对变量数据进行调用。 2、LAMP环境 参考https://linuxeye.com/program/313.html 3、Caccti安装及配置 #!/bin/bash #by LinuxEye #BLOG: http://blog.linuxeye.com yum -y install cairo-devel libxml2-devel pango pango-devel net-snmp* cd /root/cacti tar xzf rrdtool-1.4.7.tar.gz cd rrdtool-1.4.7 ./configure --prefix=/usr/local/rrdtool make && make install ln -s /usr/local/rrdtool/bin/* /usr/local/bin/ cd ../ cat >> /etc/snmp/snmpd.conf << EOF com2sec local 127.0.0.1 public com2sec local 192.168.22.0/24 public group MyROGroup v1 local group MyROGroup v2c local group MyROGroup usm local view all included .1 80 access MyROGroup "" any noauth exact all none nones yslocation (/etc/snmpd/snmpd.conf) syscontact Root <lj2007331@gmail.com> EOF tar xzf cacti-0.8.7i.tar.gz mv cacti-0.8.7i /usr/local/apache/htdocs/ /usr/local/mysql/bin/mysql -uroot -padmin -e "create database cacti;" /usr/local/mysql/bin/mysql -uroot -padmin -e "grant all privileges on cacti.* to cacti@'localhost' identified by 'cacti123' with grant option;" /usr/local/mysql/bin/mysql -uroot -padmin -e "flush privileges;" /usr/local/mysql/bin/mysql -ucacti -pcacti123 --database cacti < /usr/local/apache/htdocs/cacti/cacti.sql sed -i 's@$database_username =.*$@$database_username = "cacti";@g' /usr/local/apache/htdocs/cacti/include/config.php sed -i 's@$database_password =.*$@$database_password = "cacti123";@g' /usr/local/apache/htdocs/cacti/include/config.php tar xzf cacti-spine-0.8.7i.tar.gz cd cacti-spine-0.8.7i ./configure --prefix=/usr/local/spine --with-mysql=/usr/local/mysql --with-snmp=/usr/local/net-snmp make && make install mv /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf sed -i 's@DB_User cactiuser@DB_User cacti@g' /usr/local/spine/etc/spine.conf sed -i 's@DB_Pass cactiuser@DB_Pass cacti123@g' /usr/local/spine/etc/spine.conf#Console>Settings>Poller>Poller Type,有两个选项:cmd.php和spine,选择[spine]。Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path ,将“/usr/local/spine/bin/spine”填入文本框,选择spine是为了加快速度,cmd.php是一个php写的调度程序,而spine是用C写的,spine的性能远远优于cmd.php,当监控的设备有很多时,cmd.php的性能就跟不上! 转载请保留固定链接: https://linuxeye.com/configuration/321.html |