centos6.5安装cacti监控

1、系统是用centos6.5最小化安装,登陆以后先使用以下命令进行初始化,关闭selinux以及更新yum、安装几个常用组件。

#!/bin/bash

#close ipv6
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Centos disabled ipv6 ===           |
+--------------------------------------------------------------+
EOF
echo "net.ipv6.conf.all.disable_ipv6 =1" >> /etc/sysctl.conf
sysctl -p

#disabled selinux
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Centos disabled selinux ===           |
+--------------------------------------------------------------+
EOF
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
echo "selinux is diabled,you must reboot!"

#update yum
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Centos System update yum ===          |
+--------------------------------------------------------------+
EOF
yum -y install wget 
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

#update system
yum clean all
yum makecache
yum -y install gcc*
yum -y install vim

#update time
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Centos System update time ===         |
+--------------------------------------------------------------+
EOF
yum -y install ntpdate
ntpdate time-a.nist.gov
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2、cacti基于lamp安装,安装步骤就不再描述可以参考本网站http://www.lls0.com/?p=101这个链接安装即可。为了是cacti正常运行,先搭建一个站点,给下载好的cacti程序放进去,然后安装如下几个软件:net-snmp、rrdtool、cacti-spine即可。软件版本信息如下:

cacti-0.8.8h.tar.gz
cacti-spine-0.8.8h.tar.gz
net-snmp-5.6.2.1.tar.gz
rrdtool-1.6.0.tar.gz

首先在mysql数据库创建一个数据库和数据库账号:

mysql> create database cacti character set utf8;
mysql> grant all privileges on cacti.* to cactiuser@localhost identified by 'cactipassword';
mysql> flush privileges;
mysql> use cacti;
mysql> source /usr/local/src/cacti 0.8.8h/cacti.sql

3、开始安装软件:

   1)net-snmp安装步骤如下:

tar -zxvf net-snmp-5.6.2.1.tar.gz
cd net-snmp-5.6.2.1
./configure --prefix=/usr/local/net-snmp \
--enable-developer --with-mib-modules=ucd-snmp/diskio \
-enable-mfd-rewrites --with-perl-modules \
--with-python-modules
make && make install

加下系统变量:
echo "export PATH=$PATH:/usr/local/net-snmp/bin" >> /etc/profile
source /etc/profile
做几个软连接方便使用:
ln -s /usr/local/net-snmp/bin/snmp* /usr/local/bin/
ln -s  /usr/local/net-snmp/lib/libnetsnmp* /usr/lib/
ln -s  /usr/local/net-snmp/lib/libnetsnmp* /usr/lib64/

安装完以后在安装目录下是没有snmpd.conf文件的,从源码中拷贝一个到/usr/local/net-snmp/share/snmp/此目录下即可。然后启动snmp:

/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

还可以给以上命令添加到rc.local开机启动:
echo "/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf" >> /etc/rc.local

测试snmp是否启动可以参考一下信息,获取本机信息出现以下内容说明snmp已经启动成功,可以正常使用:

[root@workstation ~]# snmpwalk -v 2c -c public localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux workstation 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16604595) 1 day, 22:07:25.95
SNMPv2-MIB::sysContact.0 = STRING: G. S. Marzot <gmarzot@marzot.net>
SNMPv2-MIB::sysName.0 = STRING: workstation
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

编译使用到的两个参数意思,仅供参考:

–with-mib-modules=ucd-snmp/diskio
选项,可以让服务器支持磁盘I/O监控。

–enable-mfd-rewrites
选项,允许用新的MFD重写mid模块,这样编译的snmp就能支持64位的计数器,能正常采集到流量。

   2)、rrdtool安装步骤如下:

tar -zxvf rrdtool-1.6.0.tar.gz
cd rrdtool-1.6.0
./configure --prefix=/usr/local/rrdtool
make && make install

加下系统变量:
echo "export PATH=$PATH:/usr/local/rrdtool/bin" >> /etc/profile
source /etc/profile
做几个软连接方便使用:
ln -s /usr/local/rrdtool/bin/rrd* /usr/local/bin/

   3)、cacti-spine安装步骤如下:

安装cacti-spine会用到perl-devel这个包,可以提前用yum安装一下,以免报错。

tar zxvf cacti-spine-0.8.8h.tar.gz
cd cacti-spine-0.8.8h
./configure --with-mysql=/usr/local/mysql/ \
--with-snmp=/usr/local/net-snmp/
make && make install

安装好以后需要修改连接数据库信息:

[root@workstation ~]# tail -n 5 /usr/local/spine/etc/spine.conf
DB_Host         localhost
DB_Database     cacti
DB_User         cactiuser
DB_Pass         cactipassword
DB_Port         3306

修改好以后可以启动spine测试:

[root@workstation bin]# ./spine 
SPINE: Using spine config file [../etc/spine.conf]
SPINE: Version 0.8.8h starting
SPINE: Time: 0.8751 s, Threads: 1, Hosts: 5

如果启动正常显示以上信息,如果有报错可以根据报错信息调整下,一般会遇到的都是跟mysql有关系的,
我遇到的一个是找不到mysql的一个库文件,做个软连接就可以。
ln -s /usr/local/mysql/lib/libmysql* /usr/lib64/

4、安装cacti:

以上插件安装好以后就可以开始安装cacti了,下载好的cacti程序解压到网站根目录,程序解压好以后给rra和log目录权限修改为777。并修改数据库连接文件如下所示:

[root@workstation htdocs]# tail -n 20 include/config.php 
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipasswod";
$database_port = "3306";
$database_ssl = false;

/*
   Edit this to point to the default URL of your Cacti install
   ex: if your cacti install as at http://serverip/cacti/ this
   would be set to /cacti/
*/
$url_path = "/";

/* Default session name - Session name must contain alpha characters */
//$cacti_session_name = "Cacti";

?>


其中url_path原来是这样的://$url_path = "/cacti/"; 默认打开会在域名后边加cacti目录,
如果你是直接给程序放到站点根目录下修改为$url_path = "/";即可。

下面开始安装截图说明:

    1)、打开首页会看到如下信息,下一步即可:

    2)、选择New Install,然后下一步:

    3)、此处会自动识别rrdtool、net-snmp、php软件位置,如有不对可以手动修改或者做软连接:

    4)、安装完成使用默认密码登陆,然后会提示让你修改admin密码,修改以后可以直接登陆:

    5)、进去以后会看到如下界面:

看到上边截图说明cacti已经安装完成可以正常使用了。

5、安装cacti-spine是为了更快更好的采集信息,安装以后需要在服务器上添加任务计划每分钟采集一次,并且登陆cacti管理平台修改使用spine轮询采集数据:

    1)、添加任务计划:

*/1 * * * * php /usr/local/apache/htdocs/poller.php > /dev/null 2>&1

    2)、登陆cacti修改使用spine,如下图所示,选择spine,并且下边的采集更新时间也相应的选为Every minute :

6、安装好以后默认有localhost本机的信息监控,可以打开看下图是否正常。

我遇到的情况是图上的文字全部显示为方框,检查apache日志看到一下两行报错:

(process:49068): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type=’PangoRenderFc’, script=’common’
(process:49068): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type=’PangoRenderFc’, script=’latin’

看样子是少字体文件,解决办法是安装一个rpm包信息如下:

yum -y install dejavu-lgc-sans-fonts

7、如何添加监控这点就不再详细说明了,后续会继续发布相关监控内容。此处先说一个需要修改的地方,不修改会出现添加交换机监控时端口名字显示不完全。

Console –> Settings –> Visual –> Maximum Field Length:默认15,修改为30即可。

以上是cacti安装相关的内容,如有问题可以留言联系我。