Cacti监控部署
- 格式:docx
- 大小:21.95 KB
- 文档页数:3
一.引言随着网络规模的不断扩大,作为校园网络管理和维护人员,已经不能用传统的方式对网络进行管理。
以前网络规模小,故障少,处理简单,现在网络日益复杂化,问题层出不穷。
要做到更好地管理网络,需要借助一些管理软件对网络进行实时的监控。
通过查看监控数据,做到预先了解情况,掌握情况,当出现问题时,在监控数据的指导下可以很快地解决问题。
二.关键字Cacti,网络监测,网络管理,流量分析,流量监控,数据采集。
三.摘要随着网络的广泛应用,作为维护网络安全的网络监测系统在其中发挥着重要作用。
它不仅能够帮助网络管理人员及时了解网络状态,还能监测网络故障,维护网络正常稳定运行。
但是,信息技术的飞速发展,使网络规模不断扩大,结构日趋复杂,安全形势日益严峻。
这些因素的存在增加了开发网络监测系统的成本。
开源网络监测软件以其源码开放、资源丰富的优势,越来越受到网络管理人员的青睐。
本文立足于园区网络,以开源网络监测软件Cacti为基础,搭建园区网络监测系统。
通过对开源网络监测软件Cacti的二次开发,实现可以满足自身园区需求的网络监测系统。
在详细分析了Cacti的架构原理、工作流程和扩展方式的同时,也丰富了Cacti的报警方式,增加了短信报警、声音报警功能;进而完善了Cacti的数据存储方式,以及利用关系型数据库对采集到的性能数据进行持久性保存;更进一步提出了楼宇间配线间环境参数的采集方案,绘制出全网网络气象图,并对全网流量状态进行更直观的监测。
在系统实现的过程中,使用SNMP协议进行网络状态数据的采集,利用Cacti的插件架构扩展(Cacti-Plugin-Arc),实现了网络气象图功能、邮件报警功能;通过NET-SNMP 开发包实现基于AgentX协议的代理功能,对不支持SNMP协议的网络设备实施有效监测;通过编写Shell脚本调用短信发送工具Fetion Robot,实现短信报警功能。
综上所述,本系统基于开源网络监测软件Cacti实现了对园区网络的有效监测,即节约了开发成本,又缩短了软件开发周期,为开发园区网络监测系统的实际应用提供了基于开源软件的解决方案。
使用cacti 集中式监控服务器及网络设备。
Date:March 3,2009Type of Submission:ArticleTitle:使用cacti批量监控服务器以及其PHP运作环境配置。
Subtitle:Keywords:cacti php snmp RRDtoolPrefix:无需填写Given:范绰耘Middle:Family:Suffix:无需填写Job Title:系统管理员Email:qbanke@Bio:服务器软硬件技术架构、开源软件的热衷者,现任职广州华腾信息科技有限公司系统管理员,您可以通过开源中国社区网站来联系我。
Company:广州华腾信息科技有限公司Photo filename:Abstract:本文主要介绍说明用于支持Cacti 运作的PHP+RRDtool 环境的详细配置方法。
使其能集中式监控多台,不同平台类型的服务器。
以及支持SNMP网络设备运作状态。
前言Cacti 功能类似于我们所熟悉的MRTG。
MRTG 确实是非常好的老牌系统监控工具,但由于他历史实在很久了,使得许多功能以及配置等方面都比较落后。
实现得比较费劲,管理起来很麻烦。
比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的话我就要将这些被监测点放在不同的mrtg配置文件中,运行多个crontab,而且还要自己写了一些html页面对其进行管理。
Cacti 其实是一套php 程序,一个rrdtool 工具。
它运用snmpget 采集数据,使用rrdtool 绘图。
界面非常漂亮,它提供了强大的数据管理和用户管理功能,一张图是属于一个host 的,每一个host 又可以挂载到一个树状的结构上。
用户的管理上,作为一个开源软件,它做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证。
Cacti还提供自己增加模板的功能,让你添加自己的snmp_query 和script 。
1.Cacti环境安装1.1安装LAMP环境安装LAMP环境,当然,如果你有兴趣可以采用编译,我线上Mysql是编译的,其余是yum安装的。
在这次实验采用yum安装。
关闭iptables与selinux,如果有需要,后面再开启。
配置好yum源,开始安装。
yum -y install httpd http-devel httpd-manual mysql mysql-devel mysql-server php php-devel php-mysql php-common php-pdo php-gd lm_sensors net-snmp php-snmp net-snmp-utilschkconfig mysqld onchkconfig httpd onchkconfig snmpd onservice mysqld startservice httpd startservice snmpd start在浏览器中输入http://serverip,查看测试页有没有出现。
1.2配置snmpvim /etc/snmp/snmd.conf#/etc/init.d/snmpd restart验证snmp配置是否正确,# snmpwalk -v 2c -c public 127.0.0.1 if 表示正确IF-MIB::ifIndex.1 = INTEGER: 1IF-MIB::ifIndex.2 = INTEGER: 2IF-MIB::ifDescr.1 = STRING: lo如果提示Timeout: No Response from 127.0.0.1则配置不对。
1.3创建数据库存储cacti的数据# mysqladmin -u root password 'sky123'# mysql -u root -p:输入密码mysql> create database cacti;Query OK, 1 row affected (0.00 sec)mysql> grant all on cacti.* to cactiuser@localhost identified by 'cactiuser';Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> exitTip:创建cacti数据库与cactiuser,可以省略在cacti配置文件中修改。
使用Cacti监控你的网络(四)- Cacti脚本及模板(2007-08-30 11:00:55)转载分类:网络监控标签:知识/探索cacti模板脚本rrdtoollinux声明:本系列文档出自石头记,如若转载请注明出处,本人保留文档的所有权,并欢迎转载。
一、Cacti脚本及模板Cacti脚本及模板论坛:/forum-12.html一个完整的cacti脚本及模板列表:/about15067.html1.Advance Ping 脚本及模板下载地址:/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的模板导入页将此模板导入。
3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices 或选择已有Devices。
在Associated Graph Templates中添加Advanced Pingv1.3模板。
并点击最上面的Create Graphs for this Host链接。
在Graph Templates的选择框中选择PING - Advanced Ping v1.3,然后点击Create按钮,出现以下WEB页。
第一项意思是一次向要监控的端口发送多少个探测包(默认20个),第二项是使用的协议,可以是ICMP、TCP、UDP,第三项是要监控的端口号(只有第二项为TCP或是UDP时使用),填写完成后点击create按钮。
在Console控制台选项卡下的左侧菜单中选择Date Sources,选择以上新建的数据源可以修改以上填写的信息。
Cacti操作指南1.1 要监控一台Windows主机,需要在被监控的主机上安装“简单网络管理协议”(SNMP),并做基本配置1.2 安装方法:1.2.1 进入“控制面板”1.2.2 双击“添加或删除程序”1.2.3 点击“添加/删除Windows组件”1.2.4 钩选“管理和监视工具”,点击“下一步”1.2.5 此时会要求您插入光盘:1.2.6 您可以插入光盘,也可以将光盘解压到磁盘某个目录中1.2.7 愚蠢的Windows可能会多次要求您插入光盘,您只需要选择相同位置即可。
点击“完成”1.3 运行“services.msc”1.4 双击“SNMP Service”1.5 确保类似以下设置,您也可以修改“团体名称”,但在CactiEZ中文版-Web 界面中添加主机时要对应。
点击“确定”完成设置1.6 登录CactiEZ-Web界面,依次点击:“控制台”,“主机”,“添加”。
类似以下设置:1.7 如果一切正常,您将会看到类似以下信息:Windows主机 (192.168.0.1)SNMP信息操作系统:Hardware: x86 Family 6 Model 37 Stepping 2 AT/AT COMPATIBLE -Software: Windows 2000 Version 5.1 (Build 2600 Multiprocessor Free) 运行时间: 56379 (0 天, 0 小时, 9 分钟)主机名: Windows-host2.1 要监控Cisco路由交换,需要在被监控的设备上启用SNMP。
可使用以命令启用:Router#configure terminalEnter configuration commands, one per line. End with CNTL/Z.Router(config)#snmp-server community ORARO roRouter(config)#end2.2 登录CactiEZ-Web界面,依次点击:“控制台”,“主机”,“添加”。
在CACTI下监控锐捷交换机CPU利用率CACTI是通过SNMP服务获取数据,通常用来监控网络设备接口流量和CPU利用率等信息。
但CACTI支持的设备类型有限,主要支持CISCO设备,很多国产设备支持的不是很好,如锐捷交换机的CPU利用率就无法直接监控。
本文介绍如何在CACTI下监控锐捷交换机CPU利用率,希望能对各位有一定的帮助。
1.新建数据模板(Data Template)在console选项卡下左侧菜单栏中点击Data Templates连接,打开Data Templates栏目。
图 1. Data Templates在Data Templates栏目中,点击Add按钮添加“Data Templates”。
图 2. Add Data Templates填写以下内容:1).Data Templates Name模板名称,可自定义设置,填写“RG Switcher – 5 Minute CPU”;2).Data Source Name数据源名称,填写“|host_description| - 5 Minute CPU”;其中“|host_discription|”为CACTI变量,CACTI会自动替换为主机描述;3).Data Input Method 获取数据方法,选择“Get SNMP Data”;4).Internal Data Source Name 内部数据源值名称“rg_5min_cpu”;5).Minimum和Maximum这两个值如果不填写表示使用数据源的最大和最小值作为图形的上、下限值;6).Data Source Type 选择“GAUGE”;7).OID 输入OID值,这一步是定义数据源的关键环节;锐捷交换机CPU的OID值是.1.3.6.1.4.1.4881.1.1.10.2.36.1.1.3.0。
点击“save”保存数据源。
回到主界面,可以看到刚刚新建的数据源“RG Switcher – 5 Minute CPU”。
利用Cacti监控交换机Cacti的强大之处在于它能够实现对各种设备的监控,无论是系统、服务、交换机、路由器都能够监控得到,而这一切都需要依赖snmp,而本文主要介绍Cacti对交换机监控的配置过程,其中涉及交换机snmp配置,Cacti监控交换机配置。
软件:Cacti中文版硬件:H3C S3500 EACacti安装配置请查看这里:/space.php?uid=21089721&do=blog&id=2945637本文提供PDF版本下载,请查看文章尾部。
一、交换机配置假如你现在拿到的是一台没有经过任何配置的交换机,我们需要配置交换机的snmp功能,以便从Cacti捕获数据。
首先配置交换机的telnet远程登录功能,以便远程配置。
以下是一些配置信息:交换机Vlan IP:172.10.0.250/24交换机远程密码:linuxpad首先使用console线将交换机连接到电脑上,使用超级终端或者CRT工具(Secure CRT)之类的工具连接交换机进行配置,不会的可以到网上搜索或参考说明书。
1.配置Vlan IP<H3C>system-view[H3C]interface Vlan-interface 1[H3C-Vlan-interface1]ip address 172.10.0.250 255.255.255.0[H3C-Vlan-interface1]quit2.配置telnet认证[H3C]telnet server enable //启用telnet% Telnet server has been started[H3C]user-interface vty 0 4 //配置认证[H3C-ui-vty0-4]authentication-mode password[H3C-ui-vty0-4]set authentication password simple linuxpad //linuxpad为密码[H3C-ui-vty0-4]user privilege level 3 //用户级别,设为3,最高权限[H3C-ui-vty0-4]protocol inbound telnet //一些常规设置[H3C-ui-vty0-4]screen-length 30[H3C-ui-vty0-4]history-command max-size 20[H3C-ui-vty0-4]idle-timeout 63.配置snmpsnmp v3版本认证需设置团体和用户,认证稍微复杂些,这里采用v2c版本来实现snmp版本:v2c团体名:monitor 权限只读监控IP:172.10.0.251trap使用端口:162[H3C]snmp-agent sys-info version v2c[H3C]snmp-agent community read monitor[H3C]snmp-agent trap enable[H3C]snmp-agent target-host trap address udp-domain 172.10.0.251 udp-port 162 params securityname monitor v2c最后保存配置信息[H3C]save查看当前配置使用命令[H3C] display current-configuration二、Cacti设置1.添加交换机设备Cacti服务器IP需设置为172.10.0.251,原因参看上一步。
1.Cacti安装部署操作步骤1.1.下载稳定版安装包wget /downloads/cacti-0.8.8a.tar.gzwget /downloads/spine/cacti-spine-0.8.8a.tar.gzwget/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gzwget /project/gibtmirdas/npc-2.0.4.tar.gzwget /project/nconf/nconf/1.3.0-0/nconf-1.3.0-0.tgz1.2.基本环境安装[root@Cacti ~]# yum install -y gcchttpdphpphp-mysqlphp-snmpmysqlmysql-develmysql-server rrdtool[root@Cacti ~]# yum install -y net-snmp net-snmp-devel net-snmp-utilswgetntp[root@Cacti ~]# chkconfigntpd on[root@Cacti ~]# /etc/init.d/ntpd start[root@Cacti ~]# sed -i "s@;date.timezone =@date.timezone = Asia/Chongqing@g" /etc/php.ini [root@Cacti ~]# /etc/init.d/mysqld start[root@Cacti ~]# chkconfigmysqld on[root@Cacti ~]# mysql -uroot -pEnter password:mysql> create database cacti;mysql> create user cactiuser@localhost identified by 'cactiuser';mysql> grant all on cacti.* to cactiuser@localhost;mysql> flush privileges;1.3.cacti配置[root@Cacti ~]#wget /downloads/cacti-0.8.8a.tar.gz[root@Cacti ~]# cpcacti-0.8.8a.tar.gz/usr/local/src/[root@Cacti ~]# cd /usr/local/src/[root@Cactisrc]# tar zxf cacti-0.8.8a.tar.gz[root@Cactisrc]# cp -rf cacti-0.8.8a /var/www/html/cacti[root@Cactisrc]# cd cacti-0.8.8a[root@Cacti cacti-0.8.8f]# mysql -h localhost -u cactiuser -pcactiuser cacti<cacti.sql#密码就是必须和-p连在一块,如果不连在一起,mysql会认为后面的是数据库名[root@Cacti ~]# vi /var/www/html/cacti/include/config.php<?php$database_type = "mysql";$database_default = "cacti";$database_hostname = "localhost";$database_username = "cactiuser";$database_password = "cactiuser";$database_port = "3306";$database_ssl = false;?>[root@Cacti ~]#crontab -e*/1 * * * * php /var/www/html/cacti/poller.php>/dev/null#第1列表示分钟1~59, 每分钟用*或者 */1表示#第2列表示小时1~23(0表示0点)#第3列表示日期1~31#第4列表示月份1~12#第5列标识号星期0~6(0表示星期天)#第6列要运行的命令[root@Cacti ~]# chkconfighttpd on[root@Cacti ~]# /etc/init.d/httpd start1.4.snmp服务配置(被监控客户端配置)#[root@Cacti ~]# yum install -y net-snmplm_sensors#[root@Cacti ~]# vim /etc/snmp/snmpd.conf#[root@Cacti ~]#chkconfigsnmpd on#[root@Cacti ~]# /etc/init.d/snmpd start[root@Cacti ~]# cat/etc/snmp/snmpd.conf |grep -v -E '^#|^$'com2secnotConfigUser default publicgroupnotConfigGroup v1 notConfigUsergroupnotConfigGroup v2c notConfigUserviewsystemview included .1.3.6.1.2.1.1viewsystemview included .1.3.6.1.2.1.25.1.1viewsystemview included .1.3.6.1.2.1.2access notConfigGroup "" any noauth exact all none none view all included .1 80syslocation Unknown (edit /etc/snmp/snmpd.conf)syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes[root@Cacti ~]# chkconfigsnmpd on[root@Cacti ~]# /etc/init.d/snmpd start[root@Cacti ~]#snmpwalk -v 2c 192.168.200.206 -c public #用于检测1.5.轮询插件spine安装[root@Cactisrc]# tar zxf cacti-spine-0.8.8f.tar.gz[root@Cactisrc]# cd cacti-spine-0.8.8f[root@Cacti cacti-spine-0.8.8f]# ./configure[root@Cacti cacti-spine-0.8.8f]# make&& make install[root@Cacti cacti-spine-0.8.8f]# cp -rf /usr/local/spine/etc/spine.conf.dist /etc/spine.conf [root@Cacti cacti-spine-0.8.8f]# ln -s /usr/local/spine/bin/spine /usr/bin/[root@Cacti ~]# vi /etc/spine.confDB_Host localhostDB_Database cactiDB_UsercactiuserDB_PasscactiuserDB_Port 33061.6.Cacti扩展插件安装[root@Cactisrc]# wget /_media/plugin:monitor-v1.3-1.tgz -O monitor-v1.3-1.tgz[root@Cactisrc]# tar zxf monitor-v1.3-1.tgz[root@Cactisrc]# mv monitor /var/www/html/cacti/plugins/[root@Cactisrc]# wget /_media/plugin:clog-v1.7-1.tgz -O clog-v1.7-1.tgz [root@Cactisrc]# tar zxf clog-v1.7-1.tgz[root@Cactisrc]# mv clog /var/www/html/cacti/plugins/[root@Cactisrc]# wget /_media/plugin:settings-v0.71-1.tgz -O settings-v0.71-1.tgz[root@Cactisrc]# tar zxf settings-v0.71-1.tgz[root@Cactisrc]# mv settings /var/www/html/cacti/plugins/[root@Cactisrc]# wget /_media/plugin:thold-v0.5.0.tgz -O thold-v0.5.0.tgz [root@Cactisrc]# tar zxf thold-v0.5.0.tgz[root@Cactisrc]# mvthold /var/www/html/cacti/plugins/2.Cacti操作。