51CTO下载Cacti安装使用手册v20.docx
- 文档编号:29947097
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:51
- 大小:2.53MB
51CTO下载Cacti安装使用手册v20.docx
《51CTO下载Cacti安装使用手册v20.docx》由会员分享,可在线阅读,更多相关《51CTO下载Cacti安装使用手册v20.docx(51页珍藏版)》请在冰豆网上搜索。
51CTO下载Cacti安装使用手册v20
Cacti安装使用手册
目录:
一、概述及Cacti的工作流程
二、Cacti的安装
三、Cacti的使用
四、Cacti脚本及模板
五、打造自己的Cacti模板
六、Cacti插件
一、概述
1.Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
它通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。
因此,snmp和rrdtool是cacti的关键。
Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。
2.Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:
主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3.snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。
rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。
二、Cacti的架构及工作流程
1.Cacti的架构
2.Cacti的工作流程
三、Cacti的安装(Linux)
1.操作系统:
CentOS5.3
2.安装Nginx、MySQL、PHP,详见其他安装配置文档
3.安装支持库及RRDTool,使用安装脚本rrdinstall.sh
将cgilib-0.5.tar.gz、zlib-1.2.3.tar.gz、libpng-1.2.18.tar.gz、freetype-2.3.5.tar.gz、libart_lgpl-2.3.17.tar.gz、rrdtool-1.2.23.tar.gz放到/root/software/cacti/rrdtool目录下,将脚本保存为rrdinstall.sh,并给执行权限chmodu+xrrdinstall.sh,脚本内容如下:
#!
/bin/sh
BUILD_DIR=/root/software/cacti/rrdtool
cd$BUILD_DIR
tarzxfcgilib-0.5.tar.gz
cdcgilib-0.5
makeCC=gccCFLAGS="-O3-fPIC-I."
mkdir-p$BUILD_DIR/lib/include
cp*.h$BUILD_DIR/lib/include
mkdir-p$BUILD_DIR/lib/lib
cplibcgi*$BUILD_DIR/lib/lib
cd$BUILD_DIR
tarzxfzlib-1.2.3.tar.gz
cdzlib-1.2.3
envCFLAGS="-O3-fPIC"
./configure--prefix=$BUILD_DIR/lib
make
makeinstall
cd$BUILD_DIR
tarzxvflibpng-1.2.18.tar.gz
cdlibpng-1.2.18
envCPPFLAGS="-I$BUILD_DIR/lib/include"LDFLAGS="-L$BUILD_DIR/lib/lib"CFLAGS="-O3-fPIC"
./configure--disable-shared--prefix=$BUILD_DIR/lib
make
makeinstall
cd$BUILD_DIR
tarzxvffreetype-2.3.5.tar.gz
cdfreetype-2.3.5
envCPPFLAGS="-I$BUILD_DIR/lib/include"LDFLAGS="-L$BUILD_DIR/lib/lib"CFLAGS="-O3-fPIC"
./configure--disable-shared--prefix=$BUILD_DIR/lib
make
makeinstall
cd$BUILD_DIR
tarzxvflibart_lgpl-2.3.17.tar.gz
cdlibart_lgpl-2.3.17
envCFLAGS="-O3-fPIC"
./configure--disable-shared--prefix=$BUILD_DIR/lib
make
makeinstall
IR=-I$BUILD_DIR/lib/include
CPPFLAGS="$IR$IR/libart-2.0$IR/freetype2$IR/libpng"
LDFLAGS="-L$BUILD_DIR/lib/lib"
CFLAGS=-O3
exportCPPFLAGSLDFLAGSCFLAGS
cd$BUILD_DIR
tarzxfrrdtool-1.2.23.tar.gz
cdrrdtool-1.2.23
./configure--prefix=/usr/local/rrdtool--disable-python--disable-tcl
make
makeinstall
cd$BUILD_DIR
rm-rfcgilib-0.5zlib-1.2.3libpng-1.2.18freetype-2.3.5libart_lgpl-2.3.17rrdtool-1.2.23lib
4.安装net-snmp
tarxzvfnet-snmp-5.3.2.3.tar.gz
cdnet-snmp-5.3.2.3
./configure--prefix=/usr/local/net-snmp--enable-mfd-rewrites--with-default-snmp-version="2"--with-sys-contact="Kenn,E_mail:
zha_ming@"--with-sys-location="China"--with-logfile="/var/log/snmp.log"--with-persistent-directory="/var/net-snmp"
make
makeinstall
cpEXAMPLE.conf/usr/local/net-snmp/share/snmp/snmpd.conf
cd..
rm–rfnet-snmp-5.3.2.3
vi/etc/profile设置环境变量
exportPATH=$PATH:
/usr/local/net-snmp/bin:
/usr/local/net-snmp/sbin
vi/usr/local/net-snmp/share/snmp/snmpd.conf配置snmp
#sec.namesourcecommunity
com2seclocallocalhostpublic
com2secmynetwork192.168.0.0/24public
设置随机启动
vi/etc/rc.local添加以下内容
/usr/local/net-snmp/sbin/snmpd-c/usr/local/net-snmp/share/snmp/snmpd.conf&
测试
snmpwalk-v2c-cpubliclocalhostif
5.安装和配置Cacti
tarxzvfcacti-0.8.7e.tar.gz
cdcacti-0.8.7e
/usr/local/webserver/mysql/bin/mysql-uroot–p进入mysql控制台
mysql>createdatabasecactidefaultcharactersetutf8collateutf8_general_ci;
mysql>grantalloncacti.*tocacti@localhostidentifiedby"cacti";
mysql>usecacti;
mysql>setnamesutf8;
mysql>sourcecacti.sql;
mv–rcacti-0.8.7e/usr/loca/webserver/www/cacti
useraddcacti
chown–Rcacti:
cacti/usr/loca/webserver/www/cacti
vi/usr/loca/webserver/www/cacti/include/config.php修改以下内容
$database_type="mysql";
$database_default="cacti";
$database_hostname="localhost";
$database_username="cacti";
$database_password="cacti";
为cacti用户添加定时任务
sucacti
crontab–e添加以下内容
*/5****/usr/local/webserver/php/bin/php/usr/local/webserver/www/cacti/poller.php>/dev/null2>&1
6.安装Cacti-Spine
tarxzvfcacti-spine-0.8.7e.tar.gz
cdcacti-spine-0.8.7e
./configure--prefix=/usr/local/cacti-spine--with-mysql=/usr/local/webserver/mysql--with-snmp=/usr/local/net-snmp
make
makeinstall
cd..
rm-rfcacti-spine-0.8.7e
vi/usr/local/cacti-spine/etc/spine.conf修改cactid配置文件
DB_Hostlocalhost
DB_Databasecacti
DB_Usercacti
DB_Passcacti
DB_Port3306
7.完成cacti的安装
1)在浏览器中输入:
http:
//192.168.0.9/cacti/
默认用户名:
admin密码:
admin
2)更改密码
3)安装cacti用到的命令路径
RRDToolBinaryPath/usr/local/rrdtool/bin/rrdtool
PHPBinaryPath/usr/local/webserver/php/bin/php
snmpwalkBinaryPath /usr/local/net-snmp/bin/snmpwalk
snmpgetBinaryPath/usr/local/net-snmp/bin/snmpget
snmpbulkwalkBinaryPath/usr/local/net-snmp/bin/snmpbulkwalk
snmpgetnextBinaryPath/usr/local/net-snmp/bin/snmpgetnext
CactiLogFilePath/usr/local/webserver/www/cacti/log/cacti.log
SpinePollerFilePath/usr/local/cacti-spine/bin/spine
4).进入cacti后需确认更改以下位置:
(如下图)
Console>Settings>General
Console>Settings>Poller
四、Cacti的使用
1.界面介绍
登陆Cacti后,可以看到左上角是两个选项卡,“console”和“graphs”。
console表示控制台,在此进行所有的配置等操作;而graphs则是用来查看所有服务器的性能图像的界面。
2.console菜单
Create:
NewGraphs——创建新图像的快捷方式;
Management:
GraphManagement——图像管理。
可以在此删除、复制图像,Cacti会自动创建图像。
不过如果我们有特殊的需要,比如将几张图上的数据合并在一张图像上的话也可以在此手工新建图像;
GraphTrees——图像树。
在graphs界面里,图像或devices是树状结构显示的,可以在此设置树的结构;
DataSources——管理rrd文件。
一般无需修改,Cacti会自己创建rrd文件;
Devices——设备管理。
这是我们最经常需要修改的地方,可以在此创建新的设备或修改其名称等信息。
CollectionMethods
DataQueries和DataInputMethods是采集数据的方式,一般我们无需对这两项进行修改;
Templates
GraphTemplates、HostTemplates和DataTemplates分别是图像模板、主机类型模板和数据模板。
这些模板可以导出、导入也可以自己编写,一般无需修改。
Import/Export
ImportTemplates和ExportTemplates,对上述模板的导入、导出。
我们可以在Cacti的官方网站上找到这些模板,不过需要注意模板对于的Cacti的版本。
Configuration
Settings——Cacti的主要配置菜单;
可以在此重新设置对应的程序的路径、版本等信息。
也可以设置图像的输出方式(允许ftp)、显示效果、登陆方式(允许使用LDAP)等。
Utilities
SystemUtilities——显示Cacti系统的一些cache和log信息,如果log文件太大建议直接到后台查看;
UserManagement——用户管理。
可以在此添加、删除用户,并对每个用户设置详细的权限;
LogoutUser——注销用户。
3.创建监测点
假设被监测的服务器名叫“TestHost”,IP为192.168.100.110,SNMP的community为public。
进入Cacti的console面板->
点击“Devices”进入设备面板->
点击“Add”添加新设备->
填写要监测服务器的各种信息,其中HostTemplate请选择“LocalLinuxMachine”或“ucd/netSNMPHost”(选择一个合适的主机模板)->
点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMPerror”的红色字样->
点击上部的“CreateGraphsforthisHost”为该设备创建需监测的内容。
监测的内容分两种,“GraphTemplates”和“DataQuery”,区别在于“DataQuery”能根据SNMP信息列出监测项目的信息。
例如DataQuery里的“InterfaceStatistics”可以看到该主机所有网卡的信息,这样我们可以选择需要监测的网卡。
点击右侧的正方形选择框勾选上要监测的项目->
点击“Create”创建选择的监测内容,已经选择创建的内容会自动变成灰色并且不能再点选。
Cacti会自动创建该监测点的rrd文件(在rra文件夹中)、“DataSource”和“graph”条目。
创建监测点完毕。
4.查看监测点
点击“GraphManagement”可以看到刚才创建的监测点对应的图像,注意由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现象,需要等几分钟查看才会正常显示。
为了方便查看,可以将刚才新创建的设备或图像加入到“图像树”上:
点击“GraphTree”进入“图像树”面板->
点击分支名称或“Add”新的分支->
点击“Add”,添加新的“TreeItems”->
“TreeItemType”中选择“Host”,“TreeItemValue”的“host”中选择刚才新添加的主机“TestHost”->
点击“Create”。
直接在ViewTree中添加一个host节点进行监控无疑是一个简单的方法,但随监控图的增多,将所有的图像放到一个host节点上,当查看图像时图像的显示速度会变慢,而且监控图的条理也不清除,所以通常可以根据监控图监控的功能和监控服务的类型等进行分类,整理出一棵有条理的图像树。
可以按下面步骤添加节点。
首先添加一个root节点,“TreeItemType”中选择“Header”,“Title”中填写一个合适的描述性信息,如本例填写“HostMonitor”,HostMonitor节点的图像主要是和主机性能相关的一些图像,如CPU、内存、磁盘空间等;
点击刚创建的root节点(HostMonitor)后面的Add链接来添加一个Graph;
在“TreeItemType”中选择“Graph”,在“graph”中选择加入想要加入的监控图,重复此过程加入所有你想加入的监控图。
你还可以添加TreeItems,如MySQLMonitor,此节点用来监控与MySQL服务相关的信息,重复上面的过程直到一颗有条例的树创建完成。
这样,我们就可以在“graphs”界面中查看“TestHost”的所有监测图像了。
5.为已有host添加新的监控图
在console控制台下点击“NewGraphs”,选择要添加监控图的主机。
在GraphTemplates中选择一个Graph模板,本例选择SNMP-CenericOIDTemplate,点击create按钮。
填写以下信息,在“Title”文本框中填写Graph的名字,在“VerticalLable”文本框中填写描述信息或是所绘图片使用的单位等,显示在所绘图片的左侧,在“name”文本框中填写此数据源的名字,在“LegendColor”中选择画图使用的颜色,在“LegendText”填写图例的名字,在“OID”文本框中填写要监控的主机的OID信息,点击“create”按钮完成Graph的创建。
完成后监控图如下:
6.合并多个数据源到一张图上
在console控制台下点击“GraphManagement”,然后点击Add链接。
在“SelectGraphTemplate”下拉框中选择None,在“Host”下拉框中选择None,然后点击create按钮。
在“Title”文本框中输入Graph的名字。
点击Add链接,添加GraphItems。
添加多个数据源,将所选的多个数据源画到一张监控图上。
完成后将所画的监控图放到GraphTrees中。
如何将数据源的当前值、平均值、最大值画到图例中?
请见下面打造自己的cacti模板小节中的新建作图模板。
六、Cacti脚本及模板
Cacti脚本及模板论坛:
一个完整的cacti脚本及模板列表:
1.AdvancePing脚本及模板
下载地址:
注:
要使用此模板,编译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的模板导入页将此模板导入。
3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。
在AssociatedGraphTemplates中添加AdvancedPingv1.3模板。
并点击最上面的CreateGraphsforthisHost链接,在
GraphTemplates的选择框中选择PING-AdvancedPingv1.3,然后点击Create按钮,出现以下WEB页。
第一项意思是一次向要监控的端口发送多少个探测包(默认20个),第二项是使用的协议,可以是ICMP、TCP、UDP,第三项是要监控的端口号(只有第二项为TCP或是UDP时使用),填写完成后点击create按钮。
在Console控制台选项卡下的左侧菜单中选择DateSources,选择以上新建的数据源可以修改以上填写的信息。
在控制台选项卡下左侧菜单中选择GraphTrees可以组织一个树状视图。
在graphs选项卡下浏览创建的AdvancedPing监控图。
TCP3360端口(MySQL)
TCP80端口(HTTP)
PktLoss:
丢包数量/20*100%(每次ping20个包)
AvgLoss:
平均丢包情况
Latency:
延时情况
AvgLatency:
平均延时情况
2.MySQLstats模板
论坛讨论:
下载地址:
功能:
用来监控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模板
2).配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有"process"权限。
如果要监控InnoDB状态,还必须有"SUPER"权限。
GRANTPROCESSON*TOcacti@'cactimachine'IDENTIFIEDby'cacti';
GRANTSUPERON*TOcacti@'cactimachine'IDENTIFIEDBY'cacti';
3).创建Graph。
在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。
在AssociatedGraphTempla
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 CTO 下载 Cacti 安装 使用手册 v20