转载本站文章请注明,转载自:扶凯[]
本文链接:
1.基本安装
cacti是运作在apache+php+mysql+net-snmp工具集+rrdtool这样的一个工作环境之下,所以我们先要做一个基本的工作的环境
记的安装前先安装rpm的扩展包,安装方法见我的另外一个文章""
yum -y install mysql mysql-server php-mysql httpd php
上面完成一个php,http,mysql的环境,接下来安装要用到的包
yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL
安装完,启动相关的程式,和设置开机启动
chkconfig mysqld on chkconfig httpd on server mysqld start
2.数据库设置
准备数据库,和设置权限,安装cacti。
1 2 3 4 5 |
#mysql -uroot -p mysql>create database cacti default character set utf8; mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON cacti.* TO cacti@localhost IDENTIFIED BY 'passwd'; mysql>flush privileges; mysql> \q |
3.下载安装
下载中文的cacti,解压到/var/www/cacti.后进入cacti的目录.导入cacti的数据结构
下载地址: cacti-0.8.7e-cn-utf8.tar.gz
cd /var/www/cacti mysql -u cacti -p cacti < cacti.sql
修改配置文件
#vim /var/www/cacti/include/config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "passwd"; $database_port = "3306";
添加cacti用户
useradd cacti -d /var/www/cacti -s /bin/false chown -R cacti /var/www/cacti/rra /var/www/cacti/log
这个上面可能添加不行试试:
chown -hR cacti /var/www/cacti/rra /var/www/cacti/log
4. 配置httpd服务器的配置文件
#vim /etc/httpd/conf.d/cacti.conf Alias /cacti /var/www/cacti <Directory /var/www/cacti> DirectoryIndex index.php AllowOverride all order deny,allow deny from all allow from all AddType application/x-httpd-php .php php_flag magic_quotes_gpc on php_flag track_vars on Directory>
重起httpd的服务,让上面的修改生效
/etc/init.d/httpd restart
5. 测试安装是否正常
打开下面的url.
打开网站,点next.选择new install,使用一路回车法.最后完成
最后的用户名为: admin 密码为: admin
6. 收尾
让系统每5分钟收集,需要
crontab -e */5 * * * * cacti php /var/www/cacti/poller.php &>/dev/null
也可手工跑一次:/var/www/cacti/poller.php
7. 字体在图形中显示不正常的解决方法
下载并安装cjkuni-fonts中文字体,字体名ukai.ttf,
下载地址
上面的地址不能使用了,我们如果使用的 RHEL 和 Centos 有更加容易的方法
yum install fonts-chinese
安装完成后注意在"设置"中更改下面两个必改项.
(1. 常规->RRDTool应用程序版本 改为1.2.x,默认为1.0.x.不改可能图像不能正常显示出来.
(2. 路径->RRDTool默认字体路径 改为上面安装的 ukai.ttf 的文件路径,如果是使用的 yum 安装的话,就是 /usr/share/fonts/chinese/TrueType/ukai.ttf
8. 被监控主机snmp文件设置
打开被监控的服务器,我们来做一些必需要修改的 snmp 配置.(谢谢网友园园的提醒)
vim /etc/snmp/snmpd.conf
默认如下
com2sec notConfigUser default public
access notConfigGroup "" any noauth exact systemview none none
我们需要更改为下面的样子
com2sec notConfigUser 127.0.0.1 public access notConfigGroup "" any noauth exact all none none
并将g前面的 # 注释 去掉。
#view all included .1 80
保存退出,上面这几个地方很重要,注意了,不然得不到数据
9.测试snmp是否正常
snmpwalk -c public -v 2c localhost # or snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
会显示输出如下:
IP-MIB::ipAdEntIfIndex.61.xxx.xxx.xxx = INTEGER: 2 IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1 IP-MIB::ipAdEntIfIndex.172.xxx.xxx.xxx = INTEGER: 3
也可以用snmpd -f -Le 命令查看当前有没有出什么错
FQA:
1. 如果磁盘监控不到
请使用Cacti 中自带的模板 ucd/net – Get Monitored Partitions ,然后在被监控的机器的snmpd.conf(/etc/snmp/snmpd.conf)中加入
disk / (比如我们监视根分区)
然后可以用
snmpwalk -v 1 -c public 192.168.0.52 dsktable
这个命令来检查
2. 如果图出不来.显示的是 X
这时,有二个可能,见如下,一个个来检查吧
(1. 检查你的主机是不是活的,一定要能测试通过,状态是活的才行,可以用命令来检查是否有输出
(2. 另外 cacti 默认选择的 rrdtool 的版本是 RRDTool 1.1.x 的!需要修改成 1.2 才能显示
点击 Console-> System Utilities -> Technical Support -> RRDTool Version 选择 RRDTool 1.2.x,不然有可能出不了图.
3.网卡流量达到100M以上图像有问题?
这与snmp的版本有关,snmp1的数据是32位而snmp2c以上是64位(AS4默认是不支持64位的)。
(1.首先要确定你使用的是snmp2c或以上,是否支持64位MIB库.如下如果返回的有几行含有“Counter64:”的话.那么表明是支持的。
1 2 3 4 5 |
#snmpwalk -c public -v 2c localhost IF-MIB::ifHCInOctets IF-MIB::ifHCInOctets.1 = Counter64: 3174458 IF-MIB::ifHCInOctets.2 = Counter64: 1585772167 IF-MIB::ifHCInOctets.3 = Counter64: 35696997927 IF-MIB::ifHCInOctets.4 = Counter64: 0 |
2.然后点击Cacti的页面:“Console ->; Create New Graphs ->;Data Query”。你在下面看到“Select a graph type:”的下拉菜单(默认是“In/Out bits”),要取64bits的数据所以将其改为“In/Out bits(64-bit Counters)”,然后选择你要监测的网卡即可。另外,该监测点的“Maximum Value”必须设置为100M以上。
3.设备管理中,选择的主机中的SNMP版本,一定要是2.
4.RedHat AS4的(net-snmp5.2以下不支持)snmp不支持64位计数器的解决方法(本方法由嘻嘻哈哈提供 )
可以下载一个src.rpm再在/usr/src/redhat/SPECS/net-snmp.spec文件的configure下加上一句–enable-mfd-rewrites \
然后再
1 2 3 |
#cd /usr/src/redhat/ #rpmbuild -bb SPECS/net-snmp.spec 生成一堆的x86_64.rpm在/usr/src/redhat/RPMS/x86_64下,如果是32位的就在i386下.在安装就行了. |
注 :64位计数器是在net-snmp 5.2上新加入的IF-MIB ,它可以转换更多的 MIB 对象 (e.g. ifXTable with 64-bit ifHC* counters). 所有象RHEL4,Centosd4上,如果使用默认的5.2的src包,就算加入了enable-mfd-rewrites其实也是不行的.所以要下载5.2的src包来安装.
下载地址
这个包中默认就加入了enable-mfd-rewrites.下载后,直接用上面方法中的rpmbuild -bb SPECS/net-snmp.spec编译后安装就行.
这个有时还得不到数据,要注意你的snmpd.conf是否配置对了.其中的如下,read选项要是全部.
如果不想编译,可以下载在这下载redhat4的rpm直接安装就行了