CentOS中Cacti的安装过程

来源:互联网 发布:java天气预报接口api 编辑:程序博客网 时间:2024/06/05 11:42

 

内容整理自多篇博客。

 

CentOS+Cacti 安装过程

 

##################################################

# Cacti Configuration

# Date:2010-12-09

# Eny:CentOS 5.4

#################################################

 

所需要安装的软件:

httpphpphp-mysqlphp-snmpmysqlperl-DBD-mysqlphp-pdorrdtoolnet-snmpnet-snmp-libsnet-snmp-utils

 

下载相关软件:

cd /usr/local/src/

wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz

 

安装配置:

Ø  在主监控机上安装apache+php+gdweb环境

yum install phpphp-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utilsphp-pdo perl-DBD-MySQL

Ø 在主监控机上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用yum安装

#增加源

vim/etc/yum.repos.d/CentOS-Base.repo

#在文件末尾增加以下部分

[dag]

name=Dag RPMRepository for Red Hat Enterprise Linux

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

gpgcheck=1

gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

enabled=1

    安装:

yum installrrdtool

Ø 配置snmp

vim/etc/snmp/snmp.conf

#将下边这行中的default

com2secnotConfigUserdefault public

#改为127.0.0.1

com2secnotConfigUser127.0.0.1 public

#将下边这行中的systemview

accessnotConfigGroup "" any noauth exact systemview none none

#改为all

accessnotConfigGroup "" any noauth exact all none none

#将下边这行的注释“#”号去掉

#view allincluded .1 80

#转换成root: su –l root 重启snmpd服务

service snmpdrestart

Ø  安装cacti

#把解压后的包移动到你的相应的web目录

tar xvf cacti-0.8.7e.tar.gz

mv cacti-0.8.7e /var/www/html/cacti

 

Ø 在数据库中建库、授权、导入数据库结构

#注意导入cacti.sql时该文件的路径

mysqladmin –uroot password “root”

mysql -p

mysql> createdatabase cacti;
mysql> grant all privileges on *.* to ‘root’@’%’ identified by 'root' withgrant option;
mysql> use cacti;
mysql> source /var/www/html/cacti/cacti.sql;

#配置cacti以连接数据库

vim/var/www/html/cacti/include/config.php

$database_type ="mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "root";
$database_password = "root";
$database_port = "3306";

添加cacti用户

$useraddcacti -d /var/www/html/cacti -s /bin/false

$chown-R cacti /var/www/html/cacti/rra /var/www/html/cacti/log

这个上面可能添加不行试试:

#chown-hR cacti /var/www/html/cacti/rra /var/www/html/cacti/log

Ø  配置httpd服务器的配置文件

# vim/etc/httpd/conf.d/cacti.conf

Alias /cacti/var/www/html/cacti
<Directory /var/www/html/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

 

Ø  打开下面的url.
http://127.0.0.1/cacti

如果出现 You don’t have permission to access /cacti on this server.

执行:#restorecon –R /var/www/html/

打开网站,点next.选择new install,使用一路回车法.最后完成

最后的用户名为: admin 密码为: admin

Ø  让系统每5分钟收集,需要

crontab –e

*/5 * * * * cacti php/var/www/cacti/poller.php &>/dev/null

也可手工跑一次:/var/www/cacti/poller.php

 

Ø  图片和数据都没有的解决办法。

(不要使用root用户运行上面的命令,否则要再运行一次chown –R cactiuser rra/ log/

 

 

 

#snmpwalk -c public -v 2c localhost

#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.如果想检查生成的RRA文件是否有数据,可以用如下命令:

#rrdtool fetch *.rrd AVERAGE

如果结尾都是nan,那表明没有抓取到数据,例:

# rrdtool fetch ftp_server_proc_1246.rrd AVERAGE | tail

1247535000: nan
1247535300: nan
1247535600: nan
1247535900: nan
1247536200: nan
1247536500: nan
1247536800: nan
1247537100: nan
1247537400: nan

正确应该是

# rrdtool fetch c3750-05_traffic_in_173.rrd AVERAGE |tail
1247536800: 0.0000000000e+00 0.0000000000e+00
1247536860: 0.0000000000e+00 0.0000000000e+00
1247536920: 0.0000000000e+00 0.0000000000e+00
1247536980: 0.0000000000e+00 0.0000000000e+00
1247537040: 0.0000000000e+00 0.0000000000e+00
1247537100: 0.0000000000e+00 0.0000000000e+00
1247537160: 0.0000000000e+00 0.0000000000e+00
1247537220: 0.0000000000e+00 0.0000000000e+00
1247537280: 0.0000000000e+00 0.0000000000e+00

3.网卡流量达到100M以上图像有问题?
这与snmp的版本有关,snmp1的数据是32位而snmp2c以上是64位(AS4默认是不支持64位的)。

1.首先要确定你使用的是snmp2c或以上,是否支持64位MIB库.如下如果返回的有几行含有“Counter64:”的话.那么表明是支持的。

#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 /
然后再

#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包来安装.

下载地址

net-snmp5.2.src.rpm

这个包中默认就加入了enable-mfd-rewrites.下载后,直接用上面方法中的rpmbuild -bb SPECS/net-snmp.spec编译后安装就行.

这个有时还得不到数据,要注意你的snmpd.conf是否配置对了.其中的如下,read选项要是全部.

access  notConfigGroup ""      any       noauth    exact  all none none

如果不想编译,可以下载在这下载redhat4的rpm直接安装就行了

 

 

 

以上大部分内容来自:http://www.21andy.com/blog/20100204/1615.html

      http://aneya.blogbus.com/logs/42240129.html

 

 

 

原创粉丝点击