当前位置: > Linux服务器 > 监控工具 >

Cacti网络性能与系统监测

时间:2014-11-30 15:53来源:linux.it.net.cn 作者:IT

目录:

 

一 Cacti介绍

 

二 Cacti架构

 

三 Cacti工作流程

 

四 Cacti的安装

 

五 Cacti基本设置

 

六 Cacti的使用

 

七 Cacti插件和模板的使用

 

八 问题解决

 

 

 

 

一、Cacti介绍

无论是稍有规模的IT公司还是大型的ICP、ISP,都需要面对一个问题,就是如何实现对网络和服务器的性能的实时监测。RRDTool的绘图功能非常强大,不过由于RRDTool的命令非常复杂繁多,并且不包含数据采集的功能,所以非常难以入门。有很多喜爱RRDTool的程序员为其写应用的平台或脚本,而Cacti就是其中的佼佼者。

 

Cacti是一套完全面向RRDTool的B/S系统,它在MySQL数据库中存储了所有RRDTool创建图像需要用到的信息以及管理信息。

 

 

 

Cacti的主要功能有:

 

· 数据定时采集

· 图像绘画与显示

· 树状的主机和图像管理

· RRDTool信息管理

· 用户和权限管理

· 模板导入导出

 

Cacti使用snmpget命令采集数据,使用RRDTool绘图。它的界面简洁直观,让你根本无需明白RRDTool的众多参数即可轻易的绘出漂亮的图形。此外,它还提供了强大的数据管理和用户管理功能。在图像管理上,Cacti采用了树状结构的查看界面,在用户的管理上,能对用户的权限进行细致的划分,甚至支持使用LDAP进行用户验证。不得不提的是Cacti还提供模板的功能,自己可以为某项监测内容建立模板,也可以导入别人做好的模板。

 

二、Cacti架构

整个Cacti系统由4个部分组成(如图1):

Cacti页面(PHP)——用户控制的平台,用户在此进行所有的设置;

SNMP采集工具——Unix下使用 Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,windows下使用php的snmp功能;

RRDTool绘图引擎——性能数据的存储和绘画图像;

MySQL数据库——储存RRDTool绘图所需的信息,如模板、rra、主机对应的信息等,要注意的是MySQL数据库并不保存性能数据,性能数据保存在RRDTool自己的数据库格式rrd文件中。

 

图1 Cacti的架构

 

 

三、Cacti的工作流程

1. 定时采集数据

Cacti会定时运行数据采集脚本,使用“snmpget”命令或其它自己定义的方式进行数据的采集;

 

2. 存储数据

 

使用RRDTool的“update”指令将采集到的数据储存到rrd文件中;

 

3. 用户要查看某台设备的流量

 

在Cacti的PHP页面上点击该设备-> 

Cacti在数据库中寻找该设备对应的rrd文件的名称-> 

Cacti运行命令让RRDTool进行绘图

 

四、Cacti安装

 

该安装文档的平台是Linux,其它平台上的安装方法请参照Cacti的官方网站。


运行Cacti需要Apache+PHP+MySQL的环境,LAMP的搭建在此不再赘述。

下面具体介绍Cacti的安装步骤:

 

1、修改MySQL的最大连接数

 

 

# vi /etc/my.cnf

##添加以下行##

[mysqld]
set-variable=max_connections=1000

#设置最大连接数为1000
set-variable=max_user_connections=500

设置每用户最大连接数为500

set-variable=wait_timeout=200

#设置200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响

 

 

保存退出,并重新启动MySQL

重新启动MySQL后使用下面的命令查看修改是否成功

 

 

# mysqladmin -uroot -p variables

Password:

| max_connections | 1000

| max_user_connections | 500

| wait_timeout | 200

 

 

可以看到以上项说明修改成功


2、安装RRDTool

 

从RRDTool官方网站http://oss.oetiker.ch/rrdtool/pub/下载最新的RRDTool包,当前最新的版本是rrdtool-1.4.5.tar.gz 。在该下载页面上,还可以看到有一个“libs”的目录,里面的包也要全部下载。当然,在CentOS下也可以选择yum安装,则省去了编译安装之麻烦。

 

 

从libs目录下可以看到有pango、freetype、libxml2、glib、cairo、libpng、fontconfig、zlib等软件包

 

CentOS下采用yum安装这些依赖包:

 

 

# yum -y install pango* freetype* libxml2* glib* cairo* libpng* fontconfig* zlib*

 

 

安装rrdtool

 

 

# wget -c http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz

 

# tar zxvf rrdtool-1.4.5.tar.gz

# cd rrdtool-1.4.5

# ./configure –prefix=/usr/local/rrdtool

# make && make install

 

 

安装好后做如下链接:

 

 

# ln -s /usr/local/rrdtool/bin/* /usr/local/bin/

 

 

 

测试:

 

 

# rrdtool -v

RRDtool 1.4.5  Copyright 1997-2010 by Tobias Oetiker <tobi@oetiker.ch>

 

               Compiled Aug 11 2011 16:07:55

 

 

 

Usage: rrdtool [options] command command_options

 

Valid commands: create, update, updatev, graph, graphv,  dump, restore,

 

                last, lastupdate, first, info, fetch, tune,

 

                resize, xport, flushcached

 

 

 

RRDtool is distributed under the Terms of the GNU General

 

Public License Version 2. (www.gnu.org/copyleft/gpl.html)

 

 

 

For more information read the RRD manpages

 

 

 

看到如上信息则说明rrdtool安装成功

RRDTool官方的详细安装方法可以在下载的RRDTool源码里的doc/rrdbuild.pod文件里找到。

(责任编辑:IT)

------分隔线----------------------------