安装 1.安装appserv-win32-2.5.9

clip_p_w_picpath001

clip_p_w_picpath002

clip_p_w_picpath004

clip_p_w_picpath006

数据库的root密码:不要忘了

2.安装Cacti

将cacti-0.8.7e.zip解压到C:\AppServ\www\下

3.安装rrdtools

将rrdtool-cygwin-1.2.11.zip解压到C:\ rrdtool即可。

clip_p_w_picpath008

四、软件配置 1.配置Mysql

修改mysql数据库的root密码

用cmd进入命今行模式输入如下命令: ( 注: c:\mysql 为mysql安装目录)

C:\>cd c:\mysql\bin

C:\>mysqladmin -u root -p password Pa55word

回车出现Enter password: ( 注:这是叫你输入原密码. 刚安装时密码为空,所以直接回车即可)

此时mysql 中账号 root 的密码 被改为 Pa55word 安装完毕

创建Cacti数据库

C:\>cd mysql\bin

C:\>mysqladmin --user=root --password create cacti

C:\&gt;mysql --user=root --password cacti < \cacti\cacti.sql

C:\>mysql --user=root --password mysql

mysql&gt;GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'

mysql&gt;\g

mysql&gt;flush privileges

mysql&gt;\g

mysql&gt;exit

 

测试Apache2PHP5Mysql

 

将以下代码保存为PHPTest.php,并保存到Web目录中(C:\Cacti)

<? echo phpinfo(); ?>

在浏览器中输入(http://服务器IP/phptest.php)应该可以查看到PHP的配置信息。

clip_p_w_picpath010

Mysql测试:

将以下代码保存为MysqlTest.php,并保存到Web目录中(C:\Cacti)

<?php

$link=mysql_connect('localhost','root','123456');

if(!$link) echo "fail";

else echo "success";

mysql_close();

?>

在浏览器中输入(http://服务器IP/mysqltest.php)应该可以查看到“Success”成功的消息。

clip_p_w_picpath012

2.配置Cacti

(以下配置请根据实际情况进行配置)

Cacti/include/config.php

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "root";

$database_password = "123456";

 

利用计划任务每五分钟运行以下命令:

c:\php5\php.exe c:\cacti\poller.php(轮询是重点,请确认路径,就是用php.exe程序去执行poller.php

Php.ini

#loadModule ssl_module modules/mod_ssl.so

#AddType application/x-gzip.tgz

Change php.ini Memory

Httpd.php

AddType application/x-httpd-php.php

directoryIndex index.html


五、设置Cacti监控网络设备 1.登录Cacti

在浏览器中输入Cacti服务器的地址,进行登录,初始贴与密码为admin/admin

clip_p_w_picpath014

登录后需要设置相关软件的路径:

clip_p_w_picpath016

登录后的介面如下:

clip_p_w_picpath018

使用Cacti监控你的网络(一)- Cacti概述及工作流程

一、概述

 

1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

二、Cacti的架构及工作流程

 

1. Cacti的架构

clip_p_w_picpath019

2. Cacti的工作流程

 

clip_p_w_picpath020

下一节:Cacti的安装

Windows下Cacti安装

一、概述及Cacti的工作流程

二、Cacti安装(Linux)

三、Cacti的使用

四、Cacti脚本及模板

五、Cacti插件

六、Cacti高级应用--打造自己的Cacti模板

七、Cacti安装Windows)

一、软件需求

1、 操作系统:Windows Server 2003企业版(或其他NT系统)。

2、 安装Apache,当然也可以使用IIS。

3、 安装MySQL,下载MySQL的Windows版本并安装到c:/mysql文件夹下。

4、 安装PHP,从www.php.net 下载PHP 5.X并安装到c:/php文件夹下。

5、 安装RRDTool,从www.cacti.net下载Cygwin版RRDTool并安装到c:/cacti文件夹下。

6、 安装Net-SNMP,下载Net-SNMP并安装到c:/net-snmp文件夹下。

7、 安装Cacti,将下载的Cacti 压缩文件解压到WEB目录下,并改名为cacti。

8、 安装Cactid,将下载的Cactid压缩文件解压到c:/cacti文件夹下。

9、 安装Cygwin,从Cygwin站点下载setup.exe文件,安装cygwin到c:/cygwin文件夹下。

10、安装ActivePerl,有些脚本是用perl语言写的,所以需要ActivePerl的支持。

二、Windows下Apache、PHP、MySQL的安装

1、安装Apache

点击安装文件apache_2.2.4-win32-x86-no_ssl.msi将apache安装在 c:\apache 目录下(随自己喜好)。

2、安装并配置MYSQL

在windows 下安装Mysql比较简单,和正常软件一样,下一步下一步就可以了,但最好把它的安装目录设置短一点,如:c:\mysql;安装成功后会有一个配置向导,如下图所示配置。

clip_p_w_picpath021

clip_p_w_picpath022

clip_p_w_picpath023

clip_p_w_picpath024

clip_p_w_picpath025

clip_p_w_picpath026

clip_p_w_picpath027

clip_p_w_picpath028

clip_p_w_picpath029

clip_p_w_picpath030

点击Execute按钮完成MySQL的安装配置。

如果MySQL出现拒绝访问情况时,请在c:\和c:\mysql下查找my.cnf文件并将其删除后重启MySQL。

3、安装并配置PHP

1)、安装PHP

把php-5.2.1-Win32.zip解压到c:\php目录中,并设置环境变量如下图所示。

clip_p_w_picpath031

新建系统变量:变量名:MIBDIRS,变量值:c:\php\extras\mibs;

clip_p_w_picpath032

新建系统变量:变量名:PHPRC,变量值:c:\php;

clip_p_w_picpath033

编辑系统变量Path,增加“;c:\php;c:\php\ext;”

2)、配置PHP
将c:\php目录中的php.ini-dist重命名为php.ini,编辑php.ini文件,找到extension_dir = "./" 改为 extension_dir = "c:/php/ext",找到
;extension=php_mysql.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
将';'去掉改为
extension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect = 0

3)、配置Apache
在Apache的安装目录下找到并打开conf\httpd.conf文件,
找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
LoadModule php5_module c:/php/ php5apache2_2.dll,其中c:/php/ php5apache2_2.dll 为你php目录中php5apache2_2.dll所在的位置
找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
找到 DirectoryIndex index.html在后面加入 index.htm index.php

4)、测试PHP是否安装成功
此时PHP环境已经配置成功,在WEB根目录(如我的c:/Apache/htdocs)里建一个名为test.php的文件内容如下(测试时请将{换成<,将}换成>)
{?php
phpinfo();
?}
重新启动apache服务
用浏览器打开 http://localhost/test.php如果可以看到如下图所示的php配置输出信息就OK了。

clip_p_w_picpath034

一、安装RRDTool

下载RRDTool:http://www.cacti.net/downloads/rrdtool/win32/

下载完成后解压缩,并解压出来的文件夹里的所有文件复制到c:/cacti下。

二、安装Net-SNMP

下载Net-SNMP:http://net-snmp.sourceforge.net/

下载最新版本的Win32安装文件,并将它安装到c:/net-snmp下。

三、安装cactid

下载Cactid:http://www.cacti.net/downloads/cactid/packages/Windows/

解压Cactid,并将解压出的文件夹了的所有文件复制到c:/cacti下,并修改cactid.conf文件。

DB_Host        127.0.0.1 or hostname (请勿输入 localhost)

DB_Database     cacti

DB_User         cacti

DB_Password     cacti

DB_Port         3306

四、安装Cygwin

从Cygwin站点下载setup.exe文件,安装cygwin到c:/cygwin文件夹下。

1)、运行刚下载的setup.exe

2)、选择以下安装包进行安装

Base (include all items)
Libs
libart_lgpl
libfreetype26
libpng12
zlib
openssl
Utils
patch
Web
wget

3)、添加c:\cygwin\bin到你的PATH系统变量中。

五、安装ActivePerl

下载最新版本的ActivePerl for windows并安装。

下载地址:http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl

安装完成后不要忘记将ActivePerl的执行文件目录添加到你的PATH系统变量中。

六、安装并设定cacti

下载最新版本cacti:http://www.cacti.net/downloads/

1)、解压下载的文件到WEB目录下

2)、打开命令提示符CMD,在MySQL里新建数据库cacti并将cacti.sql导入到数据库中。

C:\&gt;mysql –uroot –p

Password:

mysql&gt; create database cacti;

Query OK, 1 row affected (0.00 sec)

mysql&gt; grant all on cacti.* to cacti@localhost identified by “cacti”;

Query OK, 1 row affected (0.00 sec)

mysql&gt;flush privileges;

mysql&gt;exit

C:\&gt;

C:\&gt;mysql –uroot –p cacti < c:\apache\htdocs\cacti\cacti.sql

Password:

3)、修改 cacti_web_root/cacti/include/config.php 配置文件。

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "cacti";

$database_port = "3306";

4)、打开浏览器输入http://your-server/cacti/install

点击New Install,然后点下一步之后这里需要输入rrdtool、php、snmpwalk、snmpget、cactid的位置,请依照上面的安装路径进行设置。

PHP Binary Path:
c:/php/php.exe
RRDTool Binary Path:
c:/cacti/rrdtool.exe
SNMPGET, SNMPWALK, SNMPBULKWALK, SNMPGETNEXT Paths:
c: net-snmp/usr/bin/snmpget.exe
c: net-snmp/usr/bin/snmpwalk.exe
c: net-snmp/usr/bin/snmpbulkwalk.exe
c: net-snmp/usr/bin/snmpgetnext.exe

Cacti Logfile Path:
c:/apache/htdocs/cacti/log/cacti.log
Cactid Path:
c:/cacti/cactid.exe

所有路径都是此安装程序的绝对路径

如果事后无法显示出图形请到Console → Settings → General

→ RRDTool Utility Version 将它改成RRDTool 1.2x

如果有图却没有文字的话,请到paths里的RRDTool Default Font Path - c:/windows/fonts/arial.ttf

注意:如果系统是Windows 2003 Server请将C:\WINDOWS\system32\cmd.exe及rrdTool跟netsnmp的*.exe加入IIS的使用者读取权限,此举对系统有一定的危险性,如果无相关对策请更改作system。

5)、登录的帐号和密码都是admin,登录后需要立即修改密码。

6).进入cacti后需确认更改以下位置:(如下图)

Console>Settings&gt;General

clip_p_w_picpath035

Console&gt;Settings&gt;Poller

clip_p_w_picpath036

删除Localhost devices,添加一个新的Windows LocalHost,或者修改Host TemplateWindows 2000/XP

启动本机 SNMP

如果您也要侦测本机的snmp状态请用它

开始 → 控制面板 → 添加删除程序 → 添加删除Windows组件 → Management and Monitoring Tools(管理和监控工具)→ Simple Network Management Protocol(简单网络管理协议)→ 将它打勾后点击确定来启用它.

7)、测试cacti是否安装正确

打开命令提示符(CMD),输入c:/php/php.exe c:/cacti_web_root/cacti/poller.php

看是否输出下面类似信息:

C:\&gt;c:/php/php.exe c:/cacti_web_root/cacti/poller.php

OK u:0.00 s:0.06 r:1.32

OK u:0.00 s:0.06 r:1.32

OK u:0.00 s:0.16 r:2.59

OK u:0.00 s:0.17 r:2.62

10/28/2005 04:57:12 PM - SYSTEM STATS: Time:4.7272 Method:cmd.php Processes:1 Threads:N/A Hosts:1 HostsPerProcess:2 DataSources:4 RRDsProcessed:2

在测试时如果错现snmp模块丢失错物可以试着将MIBDIRS设为:C:\net-snmp\usr\share\snmp\mibs

clip_p_w_picpath037

之后应该确定cacti.log文件在cacti_web_root/cacti/log/下出现,*.rrd文件在cacti_web_root/cacti/rra/下出现。

8)、定时执行命令
点击开始à控制面板à任务计划à添加任务计划à浏览c:\php\php.exe 设置成每天执行,高级里面选每5分钟执行一次,持续24小时;再返回到属性的首页,运行(R)改成C:\php\php.exe C: /Apache/htdocs/cacti/poller.php
起始于改成C: /Apache/htdocs/cacti
当输入用于执行此任务计划的用户名和密码时,请注意你输入的用户有读和写以下目录的权限:
cacti_web_root/cacti/rra
cacti_web_root/log
并确认用户有读、写和执行以下目录文件的权限:
c:\php
c:\php\sapi

使用Cacti监控你的网络(三)- Cacti的使用

一、Cacti的使用

1.界面介绍

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

clip_p_w_picpath038

2.console菜单

Create

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

Management

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

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

clip_p_w_picpath039

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

clip_p_w_picpath040

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

Collection Methods

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

Templates

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

Import/Export

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

Configuration

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

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

Utilities

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

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

Logout User ——注销用户。

3.创建监测点

假设被监测的服务器名叫“Test Host”,IP为192.168.100.110,SNMP的community为public。

进入Cacti的console面板-&gt;

点击“Devices”进入设备面板-&gt;

clip_p_w_picpath041

点击“Add”添加新设备-&gt;

clip_p_w_picpath042

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

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

clip_p_w_picpath043

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

clip_p_w_picpath044

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

clip_p_w_picpath045

clip_p_w_picpath046

创建监测点完毕。

4.查看监测点

点击“Graph Management”可以看到刚才创建的监测点对应的图像,注意由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现象,需要等几分钟查看才会正常显示。

clip_p_w_picpath047

为了方便查看,可以将刚才新创建的设备或图像加入到“图像树”上:

点击“Graph Tree”进入“图像树”面板-&gt;

clip_p_w_picpath048

点击分支名称或“Add”新的分支-&gt;

clip_p_w_picpath049

点击“Add”,添加新的“Tree Items”-&gt;

clip_p_w_picpath050

“Tree Item Type”中选择“Host”,“Tree Item Value”的“host”中选择刚才新添加的主机“Test Host”-&gt;

clip_p_w_picpath051

点击“Create”。

clip_p_w_picpath052

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

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

clip_p_w_picpath053

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

clip_p_w_picpath054

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

clip_p_w_picpath055

clip_p_w_picpath056

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

clip_p_w_picpath057

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

clip_p_w_picpath058

5.为已有host添加新的监控图

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

clip_p_w_picpath059

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

clip_p_w_picpath060

完成后监控图如下:

clip_p_w_picpath061

6.合并多个数据源到一张图上

在console控制台下点击“Graph Management”,然后点击Add链接。

clip_p_w_picpath062

在“Select Graph Template”下拉框中选择None,在“Host”下拉框中选择None,然后点击create按钮。

clip_p_w_picpath063

在“Title”文本框中输入Graph的名字。

clip_p_w_picpath064

点击Add链接,添加Graph Items。

clip_p_w_picpath065

添加多个数据源,将所选的多个数据源画到一张监控图上。

clip_p_w_picpath066

clip_p_w_picpath067

clip_p_w_picpath068

clip_p_w_picpath069

完成后将所画的监控图放到Graph Trees中。

使用Cacti监控你的网络(四)- Cacti脚本及模板

一、Cacti脚本及模板

Cacti脚本及模板论坛:http://forums.cacti.net/forum-12.html

一个完整的cacti脚本及模板列表:http://forums.cacti.net/about15067.html

1.Advance Ping 脚本及模板

下载地址:http://forums.cacti.net/about10049.html

注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字。

1).功能:此模板用来监控一个TCP/UDP端口、ICMP的延时情况和丢包情况。

2).下载ss_fping.php脚本并放到/usr/local/apache/htdocs/cacti/scripts/目录下,下载cacti_graph_template_ping_advanced_ping_v1_3.xml模板,用cacti的模板导入页将此模板导入。

clip_p_w_picpath070
3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加Advanced Pingv1.3模板。并点击最上面的Create Graphs for this Host链接。clip_p_w_picpath071

Graph Templates的选择框中选择PING - Advanced Ping v1.3,然后点击Create按钮,出现以下WEB页。

clip_p_w_picpath072

第一项意思是一次向要监控的端口发送多少个探测包(默认20个),第二项是使用的协议,可以是ICMP、TCP、UDP,第三项是要监控的端口号(只有第二项为TCP或是UDP时使用),填写完成后点击create按钮。

在Console控制台选项卡下的左侧菜单中选择Date Sources,选择以上新建的数据源可以修改以上填写的信息。

clip_p_w_picpath073
在控制台选项卡下左侧菜单中选择Graph Trees可以组织一个树状视图。

clip_p_w_picpath074

在graphs选项卡下浏览创建的Advanced Ping监控图。

clip_p_w_picpath075
TCP3360端口(MySQL)

clip_p_w_picpath076

TCP80端口(HTTP)

Pkt Loss:丢包数量/20 * 100%(每次ping 20个包)
Avg Loss:平均丢包情况
Latency:延时情况
Avg Latency:平均延时情况

1.MySQL stats模板

论坛讨论:http://forums.cacti.net/about11010.html

下载地址:http://www.faemalia.net/mysqlUtils/

功能:用来监控MySQL状态,其中包括索引使用情况、查询、排序、锁定情况等。

1).将mysql_stats.php 和 dumpMemcachedStats.php脚本放到cacti脚本目录下(/usr/local/apache/htdocs/cacti/scripts/),导入模板时注意选择cacti_host_template_temysql_host-step300-heartbeat600.xml和cacti_host_template_memcached_host-step300-heartbeat600.xml模板(默认cacti 5分钟取一次数据)。

2).配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有"process"权限。如果要监控InnoDB状态,还必须有"SUPER"权限。

GRANT PROCESS ON *.* TO cacti@'cactimachine' IDENTIFIED by 'cacti';

GRANT SUPER ON *.* TO cacti@'cactimachine' IDENTIFIED BY 'cacti';

3).创建Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加想要监控MySQL状态的Graph Templates(如teMySQL – Index Usage模板,此套模板是以teMySQL开头的一系列模板)。并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择teMySQL – Index Usage,然后点击Create按钮,出现以下WEB页。

clip_p_w_picpath077

在上面填写有权限访问MySQL数据库的用户名及密码,然后点击create按钮。

选中刚添加的Graph Templates,点击create按钮来创建Graph。

在控制台选项卡下左侧菜单中选择Graph Trees可以组织一个树状视图。

clip_p_w_picpath078

在graphs选项卡下浏览创建的MySQL监控图。

clip_p_w_picpath079

clip_p_w_picpath080

clip_p_w_picpath081

clip_p_w_picpath082

缩略图:

clip_p_w_picpath083

3.其他模板

其他模板在以后慢慢加入,敬请期待。如果各网友有什么好的模板,也请不吝赐教,大家一同提高。

使用Cacti监控你的网络(五)- Cacti插件

一、Cacti插件

 

Cacti插件是对cacti的扩展。

要使用cacti插件必须先扩展cacti架构,来支持插件。

1.    安装cacti插件架构扩展

下载地址:http://cactiusers.org/downloads/patches/

当前版本是V1.1,是专门针对cacti V0.8.6设计的。

1).解压下载的tar包,你会得到一个cacti-plugin-arch目录

# tar –zxvf cacti-plugin-arch.tar.gz

# cd cacti-plugin-arch

# ls

clip_p_w_picpath084

2).有两中方法来安装cacti的插件架构扩展,第一种方法是使用patch文件,patch文件包含了原始文件与修改后文件的不同之处,所以可以使用patch文件来得到新的文件。第二种方法是使用pre-patched文件进行直接覆盖,将与cacti相对应版本的files-0.8.6*目录下的文件直接拷贝到cacti目录下进行覆盖。在此选择使用patch文件进行安装(这也是官网推荐的方法)。将与cacti相应版本的cacti-pligin-0.8.6*.diff文件拷贝到cacti目录下,然后使用patch命令进行安装。

# cp cacti-plugin-0.8.6j.diff /usr/local/apache/htdocs/cacti

//备份cacti目录,以备插件扩展安装失败后能恢复到原状态

# cd /usr/local/apache/htdocs

# cp –r cacti ./cacti.bak

# cd ./cacti

//首先使用以下命令进行测试

# patch -p1 -N --dry-run &lt; cacti-plugin-0.8.6j.diff

//以上命令成功后,使用以下命令进行安装

# patch -p1 -N &lt; cacti-plugin-0.8.6j.diff

3).安装后配置,首先查看你的cacti配置文件,看cacti相关的数据库信息是否被覆盖,如果被覆盖请直接从备份中拷贝一份到配置文件目录。

# cp ../include/config.php ./include/config.php

打开cacti配置文件,找到以下选项

$config['url_path'] = "/";

如过你的cacti能够在浏览器中使用以下方法直接访问,则不用修改cacti配置文件。

http://www.youdomain.com 或

http://cacti机器ip

如果cacti在浏览器中使用以下方法直接访问,

           http://www.youdomain.com/cacti 或

           http://cacti机器ip/cacti

则$config['url_path'] = "/";必须被修改为$config['url_path'] = "/cacti/";

注意前后的/不能丢。

到此cacti插件结构的扩展完成,现在可以下载并安装你需要的cacti插件了。

一定要在用户管理中勾选Plugins Management的选项.

clip_p_w_picpath086

1.    安装插件

插件的安装、升级、移除是很容易的,在安装插件前你必须以确保安装了cacti插件结构扩展。

1).下载插件,在此以Monitor插件为例。

      Monitor插件下载地址:http://cactiusers.org/downloads/

解压下载的tar包。

      # tar -zvcf monitor-0.7.tar.gz

解压后你会得到一个monitor目录。

2).安装Monitor,只需要将monitor目录拷贝到cacti/plugins/目录下即可。如果是升级安装,只需要完全覆盖原monitor目录即可。

3).激活monitor插件,修改cacti配置文件(cacti目录下的include/config.php)。在配置中查找$plugins = array();行,在此行下面加入:

$plugins[] = 'monitor';

注意:上面monitor的名字必须与cacti/plugins/目录下插件目录的名字相同。

4).有些插件需要进行额外的配置,请根据插件的安装文档进行配置,在此略述。

5).移除插件时只要修改cacti配置文件,注释掉与插件相关的行即可。

如:

            //$plugins[] = 'monitor';

6).在console选项卡下,点击左侧菜单中的Settings链接,在右侧出现的web页中点击Misc选项卡来配置Monitor插件。

clip_p_w_picpath087

以下所看到的是Monitor选项卡下所监控的机器状态。当有机器Down掉后,相应机器图标将由绿色变成红色,并发出声音进行报警。

clip_p_w_picpath088

3.安装Threshold插件
v0.3.5.1版下载地址:http://download.cactiusers.org/downloads/thold.gzip
v0.3.5.1版为当前最新版本,此版本在cacti V0.8.6j上安装时有问题,提示一些函数找不到,所以在此使用v0.3.4版。
v0.34版下载地址:http://cactiusers.net/downloads/plugins/thold-0.3.4.tar.gz

1). 安装Threshold插件,只需将解压出来的Thold目录拷贝到cacti/plugins/目录下,并修改cacti配置文件(cacti目录下的include/config.php)。在配置中查找$plugins = array();行,在此行下面加入:
$plugins[] = 'thold';
刷新cacti首页,你将看到多出来一个Threshld选项卡。
下图是添加Threshold插件和Monitor插件后的cacti界面:

clip_p_w_picpath089

选中console选项卡,在左侧菜单中点击Settings,然后点击Alerting/Thold选项卡,来设置Threshold插件。

clip_p_w_picpath090
clip_p_w_picpath091

设置完成后在console选项卡下左侧菜单中点击Threshold Templates 。

clip_p_w_picpath092

点击Add按钮来添加一个Threshold模板。

clip_p_w_picpath093

在此,以添加一个监控硬盘空间的Threshold模板为例。

clip_p_w_picpath094

在Data Field下拉框中选择hdd_free,然后点击go按钮。

clip_p_w_picpath095

填写以下信息,在Low Threshold文本框中填入1000,意思是当剩余的硬盘空间小于1000M时,发送邮件报警。在Threshold CDEF下拉框选择Divide by 1024,填入警报邮箱,完成Threshold模板的添加。

clip_p_w_picpath096

应用刚才创建的Threshold模板。在console选项卡下点击Devices,选择要应用此模板的Host,点击最上面的Create Graphs for this Host链接,然后点击Auto-create thresholds链接来应用刚创建的Threshold模板。

设置完成后在console选项卡下左侧菜单中点击Thresholds 。

clip_p_w_picpath097

在此可以管理已创建的警报。

clip_p_w_picpath098

点击threshld选项卡可以查看警报的触发情况。

clip_p_w_picpath099

4. 其它插件

其它插件可到http://cactiusers.org/downloads/自行下载安装,在此只略述一二。

1).Discovery:This plugin adds the ability to auto-discover devices on a subnet that are not monitored by Cacti and and tells you if they are SNMP enabled.

2). Flowviewer:A simple viewer for viewing reports based on data from flows created by Netflow.

3).Mac Track:The Mac Track plugin for Cacti by The Witness.

4).Settings:This plugin houses common settings and functions used by different plugins.

5).Network Weathermap:这是一个比较复杂的cacti插件,他需要GD库的支持,可以参照cacti的安装小节来支持GD库。使用它可以画出漂亮的网络状况图。

官网说明:http://www.network-weathermap.com/node/79

下载地址:http://www.network-weathermap.com/download

安装方法:

http://www.network-weathermap.com/manual/0.92/pages/install-cacti-editor.html

二、参考

Cacti官网:http://www.cacti.net/index.php

Cacti官网论坛:http://forums.cacti.net/

Cacti文档:http://docs.cacti.net/

Cacti插件:http://cactiusers.org/index.php

Network Weathermap:http://www.network-weathermap.com/

RRDTool官网:http://oss.oetiker.ch/rrdtool/

NET-SNMP官方网站:http://www.net-snmp.org/

Apache官网:http://httpd.apache.org/

MySQL官网:http://www.mysql.com/

PHP官网:http://www.php.net/

Cacti高级应用--打造自己的Cacti模板

本系列文档的其他部分链接如下:

一、概述及Cacti的工作流程

二、Cacti的安装

三、Cacti的使用

四、Cacti脚本及模板

五、Cacti插件

六、Cacti高级应用--打造自己的Cacti模板

1.新建数据模板(Data Template)

在console选项卡下左侧菜单栏中点击Data Templates连接,打开新建数据模板窗口。

clip_p_w_picpath100

在新建数据模板窗口点击Add按钮添加“Data Templates”。

clip_p_w_picpath101

填写以下内容:

1).Name 第一个Name是模板的名称,可自定义设置 ,再此填写“Windows - CPU Usage”;

2).Name 第二个Name是数据源的名字,再此填写“Windows - CPU Usage”;

3).Data Input Method 获取数据的方法,选择“Get SNMP Data”;

4).Internal Data Source Name 数据源值的名称“WindowsCPU”;

5).Minimum和Maximum这两个值如果不填写表示使用数据源的最大和最小值作为图形的上、下限值;

6).Data Source Type 选择“COUNTER”;

7).输入OID值,这一步是定义数据源最关键的一个环节,要确认OID真实存在。点击“save”保存数据源。

clip_p_w_picpath102

clip_p_w_picpath103

回到主界面,可以看到刚刚新建的数据源“Windows - CPU Usage”。

clip_p_w_picpath104

2.新建作图模板(Graph Template)

在console选项卡下左侧菜单栏中点击Graph Templates连接,打开新建作图模板窗口。

clip_p_w_picpath105

在新建作图模板窗口点击Add按钮添加“Graph Templates”。

clip_p_w_picpath106

填写以下内容:

1).Name 第一个Name是模板的名称,可自定义设置 ,再此填写“Windows - CPU Usage”;

2).Title 画出的图片的标题,其中“|host_description|”相当于一个变量,在作图时自动替换成主机描述。

3).Verticle Lab 显示在所画图片的左侧,通常为作图所用的单位或描述。

点击“create”按钮创建作图模板。

clip_p_w_picpath107

clip_p_w_picpath108

下面就需要用前面定义的数据源创建我们需要显示的图形了。一个数据源通常需要定义四个数据值,分别是“区域图”、“当前值”、“平均值”和“最大值”,这些值分别显示了系统不同时段的状态。点击Add添加“Graph template Items”。

clip_p_w_picpath109

填写以下内容:

1).Data Source 选择定义的数据源模板;

2).Color 只有“Graph Item Type”图形项类型选择的是AREA, STACK, LINE1, LINE2, LINE3其中之一,才能够为数据源选择颜色;

3).Graph Item Type 定义图形的项类型,因为是首个图形项,所以要选择“AREA”;

4).Text Format 定义一个显示名称;

其它的数值保持默认,点击“create”。

clip_p_w_picpath110

点击Add继续添加“Graph template Items”。

clip_p_w_picpath111

添加当前运行值,填写以下内容:

1).Data Source 选择“Windows - CPU Usage - (WindowsCPU)” 

2).Graph Item Type 选择“GPRINT”图形项类型,只有这个类型才能定义当前、平均和最大值。

3).Consolidation Function 选择“LAST”,表示当前运行的值

4).Text Format 定义图表中显示的名称。

clip_p_w_picpath112

添加平均值,只需修改“Consolidation Function”和“Text Format”的内容即可。

clip_p_w_picpath113

添加最大值,也是修改“Consolidation Function”和“Text Format”的内容,勾选“Insert Hard Return”前面的复选框,表示插入一个硬回车,这是为了和其它新创建的图例不要重叠显示在一行上。

clip_p_w_picpath114

clip_p_w_picpath111[1]

如果要添加其他数据源可按上面的方法依次添加,这样可以将多个数据源的数据画到一张图上。

下面是一个四CPU作图模板的截图:

clip_p_w_picpath115

clip_p_w_picpath116

点击“save”按钮回到主界面,完成作图模板的创建。

clip_p_w_picpath117

使用刚创建的作图模板,在Devices中选择要使用此模板的主机。在Add Graph Template下拉框中选择刚才创建的作图模板--Windows - CPU usage,然后点击添加按钮。

clip_p_w_picpath118

点击最上边的Create Graphs for this Host 连接。选中Windows - CPU usage作图模板,点击“create”按钮为主机创建监控图。

clip_p_w_picpath119

3.创建主机模板(Host template)

在console选项卡下左侧菜单栏中点击Host Templates连接,打开新建主机模板窗口。

clip_p_w_picpath120

在新建主机模板窗口点击Add按钮添加“Host Templates”.

clip_p_w_picpath121

填写Host Templates名称,然后点击create按钮新建Host Templates。

clip_p_w_picpath122

在“Associated Graph templates”下添加你想要添加到此主机模板下的作图模板,在“Associated Data Queries”下添加你想要添加到此主机模板下的Data Query模板。

clip_p_w_picpath123

点击“save”按钮完成主机模板的创建。

应用此主机模板,在Devices中新建主机,在Host template下拉框中选择刚刚创建的主机模板--Windows 2000 Server。点击“create”按钮来新建主机。

clip_p_w_picpath124

点击最上边的Create Graphs for this Host 连接。选中想要的作图模板,点击“create”按钮为主机创建监控图。

将新建的监控图添加到Graph Trees,先在Graph Trees创建一个节点,然后在Graph Management 中选中想要添加到此节点的监控图,在Choose an action下拉框中选择Place on a Tree(此节点的根节点),点击go按钮。

clip_p_w_picpath125

选择想要将监控图添加到的节点。

clip_p_w_picpath126

点击“yes”按钮完成添加。

在Graph Trees察看添加过来的监控图,并可以调整监控图的显示位置。

clip_p_w_picpath127