Cacti中文版在Centos5(Rhel5)上的安装
转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]
本文链接: http://www.php-oa.com/2008/01/12/centos5-cacti.html
1.基本安装
cacti是运作在apache+php+mysql+net-snmp工具集+rrdtool这样的一个工作环境之下,所以我们先要做一个基本的工作的环境
记的安装前先安装rpm的扩展包,安装方法见我的另外一个文章"rpm的高级管理"
1 | #yum -y install mysql mysql-server php-mysql httpd php |
上面完成一个php,http,mysql的环境,接下来安装要用到的包
1 | #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 |
安装完,启动相关的程式,和设置开机启动
1 2 3 | #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
1 2 | #cd /var/www/cacti #mysql -u cacti -p cacti < cacti.sql |
修改配置文件
1 2 3 4 5 6 7 | #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用户
1 2 | $useradd cacti -d /var/www/cacti -s /bin/false $chown -R cacti /var/www/cacti/rra /var/www/cacti/log |
这个上面可能添加不行试试:
1 | #chown -hR cacti /var/www/cacti/rra /var/www/cacti/log |
4. 配置httpd服务器的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 | #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的服务,让上面的修改生效
1 | #/etc/init.d/httpd restart |
5.测试安装是否正常
打开下面的url.
http://server.ip.or.name/cacti
打开网站,点next.选择new install,使用一路回车法.最后完成
最后的用户名为: admin 密码为: admin
6.收尾
让系统每5分钟收集,需要
1 2 | crontab -e */5 * * * * cacti php /var/www/cacti/poller.php &>/dev/null |
也可手工跑一次:/var/www/cacti/poller.php
7。字体在图形中显示不正常的解决方法
下载并安装cjkuni-fonts中文字体,字体名ukai.ttf,下载地址 http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz
1 2 3 | #tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz #cd ttf-arphic-ukai-0.1.20060928/ #cp ukai.ttf /usr/share/fonts/ukai.ttf |
安装完成后注意在"设置"中更改下面两个必改项. 常规->RRDTool应用程序版本 改为1.2.x,默认为1.0.x.不改可能图像不能正常显示出来. 路径->RRDTool默认字体路径 改为上面安装的ukai.ttf的文件路径,如/usr/share/fonts/ukai.ttf
8,被监控主机snmp文件设置
被监控主机需要配置snmp.(谢谢网友园园的提醒)
1 | #vi /etc/snmp/snmpd.conf |
更改
1 | com2sec notConfigUser default public |
改为
1 | com2sec notConfigUser 127.0.0.1 public |
2、更改
1 | access notConfigGroup "" any noauth exact systemview none none |
改为
1 | access notConfigGroup "" any noauth exact all none none |
3、
1 | #view all included .1 80 |
将前面的 # 注释 去掉。 保存退出
上面这几个地方很重要,注意了,不然得不到数据
9.测试snmp是否正常
1 | #snmpwalk -c public -v 2c localhost |
1 2 3 | #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.如果图出不来
1.检查你的主机是不是活的,一定要能测试通过,状态是活的才行,可以用命令来检查是否有输出
2.另外cacti默认选择的rrdtool的版本是RRDTool 1.1.x 的!—-点击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位计数器的解决方法(本方法由嘻嘻哈哈提供 http://www.haw-haw.org/node/654)
可以下载一个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选项要是全部.
1 | access notConfigGroup "" any noauth exact <strong>all</strong> none none |
如果不想编译,可以下载在这下载redhat4的rpm直接安装就行了
http://ftp.freshrpms.net/pub/freshrpms/redhat/testing/EL4/net-snmp/
17 条留言
我要留言完全按上面所配,图形不能显示 | 2008/01/12 00:13 上午
完全按上面所配,图形不能显示,
运行/var/www/cacti/poller.php,提示出错.
/var/www/cacti/poller.php: line 1: ?php: 没有那个文件或目录
/var/www/cacti/poller.php: line 2: /bin: is a directory
/var/www/cacti/poller.php: line 3: +—————————————————————– ——–+: command not found
/var/www/cacti/poller.php: line 4: syntax error near unexpected token `|’
/var/www/cacti/poller.php: line 4: ` | Copyright (C) 2004-2007 The Cacti Group |’
yuke | 2008/01/12 00:13 上午
我的按照这个包装好,也是报这个问题,晕死了,高手能解答下不?root@www:/var/lib/cacti# /usr/share/cacti/site/poller.php ?
/usr/share/cacti/site/poller.php: line 1: ?php: No such file or directory
/usr/share/cacti/site/poller.php: line 2: /bin: is a directory
/usr/share/cacti/site/poller.php: line 3: +————————————————————————-+: command not found
/usr/share/cacti/site/poller.php: line 4: syntax error near unexpected token `|’
/usr/share/cacti/site/poller.php: line 4: ` | Copyright (C) 2004-2007 The Cacti Group |’
root@www:/var/lib/cacti# /usr/share/cacti/site/poller.php ?
/usr/share/cacti/site/poller.php: line 1: ?php: No such file or directory
/usr/share/cacti/site/poller.php: line 2: /bin: is a directory
/usr/share/cacti/site/poller.php: line 3: +————————————————————————-+: command not found
/usr/share/cacti/site/poller.php: line 4: syntax error near unexpected token `|’
/usr/share/cacti/site/poller.php: line 4: ` | Copyright (C) 2004-2007 The Cacti Group |’
yuke | 2008/01/12 00:13 上午
知道原因了
poller.php文件最顶 一行写入
#!/usr/bin/php -q
然后保存,退出,即可搞定!
miladuo | 2008/01/12 00:13 上午
哥们,按你的文章配置,我最开始的一步都走不下去,帮忙分析一下,谢谢了。
[root@localhost ~]# yum -y install mysql mysql-server php-mysql httpd php
Loading “fastestmirror” plugin
Loading “installonlyn” plugin
Setting up Install Process
Setting up repositories
Could not retrieve mirrorlist http://apt.sw.be/redhat/el5/en/mirrors-rpmforge error was
[Errno 4] IOError:
Error: Cannot find a valid baseurl for repo: rpmforge
我按你的上一篇文章做了,安装了rpmforge-release-0.3.6-1.el5.rf.i386.rpm,但是还是不行啊。
扶凯 | 2008/01/12 00:13 上午
非常不错能自己发现和解决
扶凯 | 2008/01/12 00:13 上午
Could not retrieve mirrorlist http://apt.sw.be/redhat/el5/en/mirrors-rpmforge error was
你先看看能不能连接这个网站,要不找个最新的rpmforge
okhwyy | 2008/01/12 00:13 上午
需要配置snmp
root@Bleach usr]# vi /etc/snmp/snmpd.conf
更改 1、com2sec notConfigUser default public
改为:com2sec notConfigUser 127.0.0.1 public
2、access notConfigGroup “” any noauth exact systemview none none
改为:access notConfigGroup “” any noauth exact all none none
3、#view all included .1 80
将前面的 # 注释 去掉。
保存退出 :wq
php /var/www/cacti/poller.php
游客 | 2008/01/12 00:13 上午
没有apache的安装!!
viva | 2008/01/12 00:13 上午
感谢搂主太强了,,在当今社会高效率完成任务,才是最好的!!
youporn | 2008/01/12 00:13 上午
hi great site nice work thanks youporn cim =) site like redtube see u
rinkey | 2008/01/12 00:13 上午
[root@localhost /]# server mysqld start
bash: server: command not found
大虾,这是怎么回事?
admin | 2008/01/12 00:13 上午
你们直接运行php当然不行,要在运行的命令前加入php,也就是指定使用 php来运行程序
#php /var/www/cacti/poller.php
admin | 2008/01/12 00:13 上午
httpd就是apache,老兄
storysky | 2008/01/12 00:13 上午
博主,我有个问题请教,我的cacti现在启动了,而且图片都很正常,
可就是没有流量,我不知道会是什么原因导致的
admin | 2008/01/12 00:13 上午
#snmpwalk -c public -v 2c Hostname 这个命令来测试是否能拿到远程的数据
wgkgood | 2008/01/12 00:13 上午
博主您好!我在RedHat企业5上面装的cacti,装完后只能监控本机,不能监控其他服务器
在创建设备点的时候总是出现SNMP error 请您指教!谢谢您 我按照我的博客里面搭建的
wgkgood.blog.51cto.com
Trackbacks