部署cacti监控服务配置说明

系统版本及内核版本:

CentOS release 6.4 (Final) 2.6.32-358.el6.x86_64

第一部分:前期工作

1.1 安装snmp

#安装snmp
yum install net-snmp* -y
#备份配置文件
cp /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf.bak 
#添加配置文件
cat >/etc/snmp/snmpd.conf<<EOF
com2sec local     localhost      public
com2sec mynetwork  192.168.254.0/24   public
group MyRWGroupv1         local
group MyRWGroupv2c        local
group MyRWGroupusm        local
group MyROGroupv1         mynetwork
group MyROGroupv2c        mynetwork
group MyROGroupusm        mynetwork
view all    included .1                              80
access MyROGroup""      any       noauth   exact  all    none  none
access MyRWGroup""      any       noauth   exact  all    all   none
syslocationbeyondjie.com
syscontact Me<linux_SVIP@163.com>
proc mountd
proc ntalkd 4
proc sendmail 101
proc httpd 10 1
disk /       10000
disk /boot   10000
load 12 14 14
EOF
#启动snmp,并设置开机自启动
/etc/init.d/snmpd start
chkconfig snmpd on
#检查是否已经正常启动
lsof -i :161
netstat -lnupt |grep 161 
#检查snmp服务是否正常
snmpget -v 1 -c publiclocalhost system.sysUpTime.0

注意:snmp协议客户端都需要装。

1.2 安装rrdtools及所必需的插件

安装rrdtools采用了yum安装,比较方便,也可以采用源代码编译安装(在CentOS-5系列的镜像中没有rrdtools)
yum install cairo pango zlibzlib-devel freetype freetype-devel gd gd-devel libpng libpng-devel  rrdtool rrdtool-devel -y
附源代码编译安装:
yum install cairo pango zlib zlib-develfreetype freetype-devel gd gd-devel -y
mkdir /application/tools -p
cd /application/tools
wgethttp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.gz
tar xf libart_lgpl-2.3.17.tar.gz
cd libart_lgpl-2.3.17
./configure
make
make install
/bin/cp -r /usr/local/include/libart-2.0/usr/include
cd ../
#安装rrdtool绘图工具
wgetftp://ftp.drupal.org/.2/nslu2/sources/rrdtool-1.2.14.tar.gz 
tar xf rrdtool-1.2.14.tar.gz 
cd rrdtool-1.2.14
./configure--prefix=/usr/local/rrdtool  --disable-python  --disable-tcl
make
make install
cd ../
ls -l /usr/local/rrdtool/bin
ln -s /usr/local/rrdtool/bin/*/usr/local/bin/

1.3 yum安装lamp环境

yum install gcc glibcglibc-common -y
yum install mysqlmysql-server mysql-devel  -y
yum install httpd* -y
yum install php php-mysql -y 
#修改apache配置文件
cp /etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf_bak
sed -i 's/#ServerNamewww.example.com:80/ServerName 127.0.0.1:80/g' /etc/httpd/conf/httpd.conf 
sed -i 's#DirectoryIndexindex.html index.html.var#DirectoryIndex index.php index.html#g'/etc/httpd/conf/httpd.conf
echo "<?phpphpinfo();?>" > /var/www/html/index.php
#启动apache,并设置开机自启动
/etc/init.d/httpd start
chkconfig httpd on

安装完后测试下lamp环境:

wKioL1WWIevjK5lNAATJrvaqmYM005.jpg

 

第二部分:安装部署cacti软件

2.1启动mysql,创建cacti数据库及用户

#启动mysql,并设置开机自启动
/etc/init.d/mysqld start
chkconfig mysqld on
#检查mysql状态
netstat -anput | grep mysql
lsof -i :3306
#创建库及用户
mysql> create database cacti_db;
Query OK, 1 rowaffected (0.00 sec)
 
mysql> grant all on cacti_db.* to'cactiadm'@'localhost' identified by 'fuzj123';
Query OK, 0 rowsaffected (0.01 sec)
 
mysql> show grants for'cactiadm'@'localhost';
+------------------------------------------------------------------------------------------------------------------+
| Grants forcactiadm@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON*.* TO 'cactiadm'@'localhost' IDENTIFIED BY PASSWORD'*43DD7940383044FBDE5B177730FAD3405BC6DAD7' |
| GRANT ALLPRIVILEGES ON `cacti`.* TO 'cactiadm'@'localhost'                                                    |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set(0.00 sec)
mysql> flushprivileges;
Query OK, 0 rowsaffected (0.00 sec)

 

2.2 配置cacti

cd /usr/src/
wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
tar zxf cacti-0.8.7g.tar.gz 
cd cacti-0.8.7g
#修改cacti配置文件参数
vim include/config.php
修改下面内容: 
$database_type ="mysql";
$database_default ="cacti_db";
$database_hostname ="localhost";
$database_username ="cactiadm";
$database_password ="fuzj123";
$database_port ="3306";
#初始化cacti数据库
mysql cacti_db <cacti.sql
#将cacti程序移动到apache站点目录下
mv /usr/src/cacti-0.8.7g  /var/www/html/cacti
#授权rra.log两个目录
cd /var/www/html/cacti/
chown -R apache:apache rra/log/
#查看权限
ll -d rra/ log/
#测试定时收集数据php文件
chmod 755 /var/www/html/cacti/poller.php
/usr/bin/php/var/www/html/cacti/poller.php 
#将收集数据命令加入crontab(出图靠这个命令)
echo '#catil poller'>>/var/spool/cron/root
echo '*/5 * * * */usr/bin/php /var/www/html/cacti/poller.php >/dev/null 2>&1'>>/var/spool/cron/root
crontab -l |tail -2


浏览器配置cacti


wKioL1WWIkaD2ve2AAQUtz_1Tu4711.jpg



wKiom1WWIH6B4z5tAAHiDMtH0dM041.jpg

wKiom1WWIH-AojHXAAP7-o2RfOA377.jpg


wKioL1WWIkeB5Xu_AAF5FyG7IQg069.jpg




部署完成。默认管理员和密码是admin,admin,第一次登录会强制修改

第三部分:添加被监控的客户端

进入Cacticonsole面板->

点击“Devices”进入设备面板->

wKiom1WWIMLAAFDBAAM6C1uwuis712.jpg

点击“Add”添加新设备->

填写要监测服务器的各种信息,其中Host Template请选择“Local Linux Machine”“ucd/net SNMP Host”(选择一个合适的主机模板)

 

wKioL1WWIpTAI60dAAS2q9g5WHE570.jpg

点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMP error”的红色字样->

wKioL1WWIqzzRxP8AAR-2mcp5cs572.jpg


点击上部的“Create Graphs for this Host ”为该设备创建需监测的内容。监测的内容分两种,“Graph Templates”“Data Query”,区别在于“Data Query”能根据SNMP信息列出监测项目的信息。例如Data Query里的“Interface Statistics”可以看到该主机所有网卡的信息,这样我们可以选择需要监测的网卡。点击右侧的正方形选择框勾选上要监测的项目->

wKiom1WWIOTh2O74AAOaIEVRrCk161.jpg

点击“Create”创建选择的监测内容,已经选择创建的内容会自动变成灰色并且不能再点选。Cacti会自动创建该监测点的rrd文件(在rra文件夹中)、“Data Source”“graph”条目。

将新创建的设备或图像加入到图像树上:

点击“Graph Tree”进入图像树面板->

wKioL1WWIqzAj_VIAALlIVBBFwE247.jpg

点击分支名称或“Add”新的分支->

wKioL1WWIq2Qj5-FAAEQxabEoqQ249.jpg

“Tree Item Type”中选择“Host”“Tree ItemValue”“host”中选择刚才新添加的主机“Test Host”>

wKiom1WWIOXRAYePAAINqdgl5u8093.jpg

点击“Create”

wKioL1WWIq2D0CLIAAH5AtBm0Bg822.jpg

直接在ViewTree中添加一个host节点进行监控无疑是一个简单的方法,但随监控图的增多,将所有的图像放到一个host节点上,当查看图像时图像的显示速度会变慢,而且监控图的条理也不清除,所以通常可以根据监控图监控的功能和监控服务的类型等进行分类,整理出一棵有条理的图像树。可以按下面步骤添加节点。

首先添加一个root节点,“Tree Item Type”中选择“Header”“Title”中填写一个合适的描述性信息,如本例填写“Host Monitor”Host Monitor节点的图像主要是和主机性能相关的一些图像,如CPU、内存、磁盘空间等;

wKiom1WWIOWAVcviAADWPtXPd_g333.jpg

点击刚创建的root节点(Host Monitor)后面的Add链接来添加一个Graph

wKiom1WWInmwtz5CAADW6YN3VZc034.jpg

“Tree Item Type”中选择“Graph”,在“graph”中选择加入想要加入的监控图,重复此过程加入所有你想加入的监控图。

wKioL1WWJF2AxH1SAACw4WX-wDg629.jpg

wKiom1WWIpXx5ju_AADaUbVvB8M914.jpg

你还可以添加Tree Items,如MySQL Monitor,此节点用来监控与MySQL服务相关的信息,重复上面的过程直到一颗有条例的树创建完成。

wKioL1WWJJDDxiOEAAHBpdJOCxw988.jpg

这样,我们就可以在“graphs”界面中查看“Test Host”的所有监测图像了。

wKioL1WWJJyR3JpOAACNAtI4SRY053.jpg

 

为已有host添加新的监控图

console控制台下点击“New Graphs”,选择要添加监控图的主机。在Graph Templates中选择一个Graph模板,本例选择SNMP - Ceneric OID Template,点击create按钮。

wKiom1WWIt6RjSSVAAE_LWU67TQ456.jpg

填写以下信息,在“Title”文本框中填写Graph的名字,在“Vertical Lable”文本框中填写描述信息或是所绘图片使用的单位等,显示在所绘图片的左侧,在“name”文本框中填写此数据源的名字,在“LegendColor”中选择画图使用的颜色,在“Legend Text”填写图例的名字,在“OID”文本框中填写要监控的主机的OID信息,点击“create”按钮完成Graph的创建。


完成后监控图如下:

wKioL1WWJK_CVn_cAADfmrVeowo232.jpg

第四部分:cacti页面的介绍

  • 界面的介绍

登陆Cacti后,可以看到左上角是两个选项卡,“console”和“graphs”。console表示控制台,在此进行所有的配置等操作;而graphs则是用来查看所有服务器的性能图像的界面。

wKiom1WWIvHDY-5TAAJL9gg9ahM719.jpg

console菜单

Create

NewGraphs——创建新图像的快捷方式;

Management

GraphManagement——图像管理。可以在此删除、复制图像,Cacti会自动创建图像。不过如果我们有特殊的需要,比如将几张图上的数据合并在一张图像上的话也可以在此手工新建图像;

GraphTrees——图像树。在graphs界面里,图像或devices是树状结构显示的,可以在此设置树的结构;

wKioL1WWJMSDvSFfAACSfrUmAI0485.jpg

DataSources——管理rrd文件。一般无需修改,Cacti会自己创建rrd文件;

Devices——设备管理。这是我们最经常需要修改的地方,可以在此创建新的设备或修改其名称等信息。

Collection Methods

DataQueries 和Data InputMethods是采集数据的方式,一般我们无需对这两项进行修改;

Templates

GraphTemplates 、Host Templates和Data Templates 分别是图像模板、主机类型模板和数据模板。这些模板可以导出、导入也可以自己编写,一般无需修改。

Import/Export

ImportTemplates 和ExportTemplates,对上述模板的导入、导出。我们可以在Cacti的官方网站上找到这些模板,不过需要注意模板对于的Cacti的版本。

Configuration

Settings——Cacti的主要配置菜单;

可以在此重新设置对应的程序的路径、版本等信息。也可以设置图像的输出方式(允许ftp)、显示效果、登陆方式(允许使用LDAP)等。

Utilities

SystemUtilities ——显示Cacti系统的一些cache和log信息,如果log文件太大建议直接到后台查看;

UserManagement ——用户管理。可以在此添加、删除用户,并对每个用户设置详细的权限;

LogoutUser ——注销用户。