使用cacti+集中式监控服务器及网络设备_第1页
使用cacti+集中式监控服务器及网络设备_第2页
使用cacti+集中式监控服务器及网络设备_第3页
使用cacti+集中式监控服务器及网络设备_第4页
使用cacti+集中式监控服务器及网络设备_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用cacti 集中式监控服务器及网络设备。 Date: March 3,2009Type of Submission: Title: 使用cacti批量监控服务器以及其PHP运作环境配置。Subtitle: Keywords: cacti php snmp RRDtoolPrefix: 无需填写Given: 范绰耘Middle: Family: Suffix: 无需填写Job Title: 系统管理员Email: qbankeBio: 服务器软硬件技术架构、开源软件的热衷者,现任职广州华腾信息科技有限公司系统管理员,您可以通过开源中国社区网站 来联系我。Company: 广州华腾信息科技有限

2、公司Photo filename: Abstract: 本文主要介绍说明用于支持 Cacti 运作的 PHP+RRDtool 环境的详细配置方法。使其能集中式监控多台,不同平台类型的服务器。以及支持SNMP网络设备运作状态。前言Cacti 功能类似于我们所熟悉的 MRTG。MRTG 确实是非常好的老牌系统监控工具,但由于他历史实在很久了,使得许多功能以及配置等方面都比较落后。实现得比较费劲,管理起来很麻烦。比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的话我就要将这些被监测点放在不同的mrtg配置文件中,运行多个crontab,而且还要自己写了一些 htm

3、l页面对其进行管理。Cacti 其实是一套 php 程序,一个 rrdtool 工具。它运用 snmpget 采集数据,使用rrdtool 绘图。界面非常漂亮,它提供了强大的数据管理和用户管理功能,一张图是属于一个 host 的,每一个 host 又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证。Cacti还提供自己增加模板的功能,让你添加自己的 snmp_query 和 script 。功能相当强大!本文前半部分是教程,主要介绍了 Cacti 以及其 PHP 运行环境的安装配置。后半部

4、分将实际举例如何使用 Cacti 监控诸如 Linux,Windows。以及支持 SNMP 管理协议的路由器等网络设备。环境搭建Cacit 运行环境需要 PHP + Mysql + rrdtool 以及 snmp 工具的支持。下边是本次配置需要用到的软件。Catci: 1. cacti-0.8.6j.tar.gz2. rrdtool-1.2.27.tar 3. net-snmp-5.0.9-2.30E.154. net-snmp-devel-5.0.9-2.30E.155. net-snmp-libs-5.0.9-2.30E.156. net-snmp-utils-5.0.9-2.30E.15

5、PHP:1. php-5.2.6.tar.gz2. curl-7.15.0.tar.gz3. freetype-2.1.9.tar.gz4. gettext-0.16.1.tar.gz5. gd-2.0.35.tar.gz6. jpegsrc.v6b.tar.gz7. libart_lgpl-2.3.17.tar.gz8. libpng-1.2.18.tar.gz9. libxml2-2.6.32.tar.gz10. ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz11. zlib-1.2.3.tar.gz12. libxml2-2.6.32.tar

6、.gzApache:httpd-2.2.6.tar.gzMysql:mysql-5.1.24-rc.tar.gz开始构建完整的 PHP 运行的环境,我们以全新安装的 RedHatAs4 updata4 操作系统环境为例。首先编译安装 Apache httpd server1. # tar zxvf httpd-2.2.6.tar.gz2. # cd httpd-2.2.63. # ./configure -prefix=/usr/local/apache26 -enable-module=so -with-mpm=worker -enable-module=rewrite4. # make &

7、 make install第二步安装 PHP+GD 等所需的支持插件编译安装 libxml 1. # tar zxvf libxml2-2.6.32.tar.gz2. # cd libxml2-2.6.32.tar.gz3. # ./configure -prefix=/usr/local/libxml2/ 4. # make & make install编译安装 zlib 1. # tar zxvf zlib-1.2.3.tar.gz2. # cd zlib-1.2.33. #./configure -prefix=/usr/local/zlib2/ 4. # make & make ins

8、tall编译安装 jpeg 支持1. # tar -zxf jpegsrc.v6b.tar.gz 2. # cd jpeg-6b/ 3. # ./configure -prefix=/usr/local/jpeg6 4. # make 5. # make install-lib6. # make install(该版本的 jpeg 在实际安装过程中,make install 的时候会出现好几个找不到目录,或目录不存在的 error。只需按照提示人手创建缺失目录,然后再令其 make install 直到无任何错误提示且顺利完成为止。)编译安装 libpng1. # tar zxvf libpn

9、g-1.2.18.tar.gz2. # cd libpng-1.2.18.tar.gz3. #cp scripts/makefile.gcmmx makefile4. #./configure -disable-shared -prefix=/usr/local/libpng2/ 5. # make & make install编译安装 freetype1. # tar zxvf freetype-2.1.9.tar.gz2. # cd freetype-2.1.93. #./configure -disable-shared -prefix=/usr/local/freetype2/ 4.

10、# make & make install编译安装 libart_lgpl1. # tar zxvf libart_lgpl-2.3.17.tar.gz2. # cd ibart_lgpl-2.3.173. #./configure -disable-shared -prefix=/usr/local/libart/4. # make & make install编译安装 gettext1. # tar zxvf gettext-0.16.1.tar.gz2. # cd gettext-0.16.13. # ./configure -prefix=/usr/local/gettext/ 4.

11、# make & make install编译安装 gd 库: 1. # tar zxvf gd-2.0.35.tar.gz 2. # cd gd-2.0.35 3. # ./configure -prefix=/usr/local/gd2 -with-zlib=/usr/local/zlib2/ -with-png=/usr/local/libpng2/ -with-jpeg=/usr/local/jpeg6/ -with-freetype=/usr/local/freetype2/ -with-libart=/usr/local/libart/ -with-gettext=/usr/loc

12、al/gettext/ -with-libxml=/usr/local/libxml24. # make & make install编译安装 Curl 支持1. # tar zxvf curl-7.15.0.tar.gz2. # cd curl-7.15.03. # ./configure -prefix=/usr/local/curl4. # make & make install编译安装 PHP1. # tar zxvf php-5.2.6.tar.gz2. # cd php-5.2.63. # ./configure -prefix=/usr/local/php -with-apxs2

13、=/usr/local/apache26/bin/apxs -with-jpeg-dir=/usr/local/jpeg6/ -with-png-dir=/usr/local/libpng2/ -with-gd=/usr/local/gd2/ -with-freetype-dir=/usr/local/freetype2/ -with-zlib-dir=/usr/local/zlib2/ -with-mysql=/usr/local/mysql -with-curl=/usr/local/curl -with-gettext=/usr/local/gettext4. # make & make

14、 install5. # cp php.ini-dist /usr/local/php/lib/php.ini(拷贝 PHP 配置文件至安装目录)6. # vi /usr/local/apach26/conf/httpd.conf(修改 apache 配置文件并加载PHP支持)要改的有如下几处1. 一般都在 #AddType application/x-tar .tgz 下加一行2. #LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php 如果你搜索其它地方没有以下这行 LoadModule

15、 php5_module modules/libphp5.so 请把上面的#号去掉 还有找到 DirectoryIndex index.html index.html.var 在后面加 index.php 让它把 index.php 做为默认页3. 保存 httpd.conf 文件. 启动 apache # /usr/local/apache2/bin/apachectl start 如果没有出错,写一个测试页放到你网页目录下.访问就应该可以看到php的版本等信息了!用 ZendOptimizer 加速 PHP 1. #tar zxvf ZendOptimizer-2.5.3-linux-gl

16、ibc21-i386.tar.gz 2. #cd ZendOptimizer-2.5.3-linux-glibc21-i386 3. #./install.sh 安装的时候注意输入正确的安装 apache 的路径等内容! 安装完毕,再看看 phpinfo 页面的 zend 选项就发现了!安装MYSQL1. #groupaddmysql2. #useradd-gmysqlmysql3. # tar zxvf mysql-5.1.24-rc.tar.gz4. # cd mysql-5.1.24-rc 5. # ./configure -prefix=/usr/local/mysql 6. -loc

17、alstatedir=/data/mysql (指定数据文件目录) -without-innodb -without-debug -with-extra-charsets=gbk -with-extra-charsets=all -enable-assembler -with-pthread 7. -enable-thread-safe-client -with-client-ldflags=-all-static8. # make & make install9. # cp./support-files/mysql.server/etc/init.d/mysql (复制 Mysql 启动服务

18、至系统)10. # chmod 777 /etc/init.d/mysql(赐予可执行权限)11. # chown mysql:mysql /data/mysql (设置数据文件目录属性)设置数据文件目录属性这一步相当重要,许多朋友第一次使用 tar 包安装 Mysql的时候就因该目录权限问题导致 Mysql 无法启动。相当头大.1. # /usr/local/mysql/bin/mysql_install_db(初始化数据库)2. # service mysql start(启动 Mysql)3. # /usr/local/mysql/bin/mysqladmin -u root -p pa

19、ssword xxxxx (设置管理员密码xxx默认值为空)好了,至此 mysql 安装完毕.这样构建 Cacit 运行的 PHP+Mysql 环境就基本上完成了。下边开始安装 Cacit 所需要的 rrdtools 图形工具以及snmp工具编译安装 rrdtools1. # tar zxvf rrdtool-1.2.27.tar2. # cd rrdtool-1.2.273. # ./configure -prefix=/usr/local/rrdtool4. # make & make install如果 ./configure 时出现下面这个错误configure: error: Ple

20、ase fix the library issues listed above and try again.表明系统有功能缺失,需安装 libart_lgpl-devel.rpm 这个包如果还是提示听样的错误,有可能是找不到FreeType把/usr/local/freetype2/lib/pkgconfig下的.pc文件拷贝到/usr/lib/pkgconfig下即可如果 make install 时出现 tclrrd.o 错误就安装 tcl-8.4.7-2.i386.rpm 以及 tcl-devel-8.4.7-2.i386.rpm 这2个包安装 net-snmp、snmpwalk 和 s

21、nmpget 命令#rpm-qa|grepnet-snmp(查看系统中有否已经装有所需的软件)net-snmp-5.0.9-2.30E.15net-snmp-devel-5.0.9-2.30E.15net-snmp-libs-5.0.9-2.30E.15net-snmp-utils-5.0.9-2.30E.15没有或者缺少的话都需要逐一安装上。而且还很有可能会因rpm的依存关系无法顺利安装,须使用 - - nodeps 参数。以上所需的rpm安装包都能在RedHatAs4 安装光盘上找到.安装配置至此,Cacti所需的运行环境都已经准备好了,接下来开始进行安装以及配置。稍微修改系统中 snmp

22、 的配置#vi/etc/snmp/snmpd.conf1. com2secnotConfigUserdefaultpublic改为:com2secnotConfigUserpublic2. accessnotConfigGroupanynoauthexactsystemviewnone none改为:accessnotConfigGroupanynoauthexact all none none3. #viewallincluded.180将前面的#注释去掉。保存退出 :wq4. 重新启动 snmp 服务# service snmpd restart安装/配置 cacti1.

23、 # tar zxvf cacti-0.8.6j.tar.gz2. #mvcacti-0.8.6j/data/web_server/admin/cacti (把cacit剪切到自定的web目录下)3. # chmod 777 Rf /data/web_server/admin/cacti (设置目录权限,避免因权限问题而导致目录无法写入)4. #cd/data/web_server/admin/cacti在 Mysql 中创建一个新的库,并导入 cacti 目录中 cacti.sql 并设置好该表的用户权限,然后编辑 cacti 的数据库配置文件。5. #vi/data/web_server/

24、admin/cacti/include/config.php$database_type=“mysql”;$database_default=“数据库名称”;$database_hostname=“默认是localhost”;$database_username=“用户名”;$database_password=“密码”;更改用户、密码等项与上面给出的对应保存退出6. #crontab e (加入自动执行规则,每5分钟执行。)*/5 * * * * /usr/local/php/bin/php /data/web_server/admin/cacti/poller.php /dev/null

25、2&1(其中 /usr/local/php/bin/php 这个为php的安装目录)7. 保存退出:wq8. 在 apache 上设置好 cacti 所在 web 目录9. 打开浏览器http:/youhostname/cacti 10. 进入cacti的初始设置页面第一次默认登陆账号:admin密码admin登陆后它就会让你立即修改新密码说一下 cacti 设置页中各项“零件”的路径.当修改好新密码进入,第一个显示出的页面就是让你设置 rrdtool,snmp 等工具的路径。这是个很重要的环节,必须无误,要不然 cacti 将无法生成出统计图。snmpwalkBinaryPath: /usr

26、/bin/snmpwalksnmpgetBinaryPath: /usr/bin/snmpgetRRDToolBinaryPath: /usr/local/rrdtool/bin/rrdtoolPHPBinaryPath: /usr/local/php/bin/phpCactiLogFilePath: /data/web_server/admin/cacti/log/cacti.logCactidPollerFilePath: /data/web_server/admin/cacti/poller.php默认的配置中会出现许多“NotFound”按照上边的路径把“NotFound”的项都重新填

27、上。手动运行一次/usr/local/php/bin/php /data/web_server/admin/cacti/poller.php /dev/null 2&1你就能在顶上 graphs 中 localhost 里头看到本机的内存,CPU,登陆用户等的统计图.图1但默认 Cacti 是没有创建网卡流量的监控图的。要我们自己来加。回到 console 菜单选择 Devices 监控设备。图2图3然后点击右上角的 Add 进行添加Description设备名称(可随意输入)Hostname设备地址(如果是本机就填 )Host Template设备的类型(选择 ucd/n

28、et SNMP Host )然后其他按照默认即可,如下图图4点 greate 创建。如果刚才填写的地址无误,创建成功后,会在该页面左上方出现所新建设备的 SNMP Information 然后点击隔壁醒目的 *Create Graphs for this Host 即开始创建监控图表图5图6如图 6,沟选你所要监控的网卡以及 IP,点 create。这样就完成了你所指定设备统计图的创建。图7点击菜单中的Graph Management 即可浏览到你刚才所创建的图表,如图7箭头所示。图8有一个小技巧,初次要求 cacti 创建指定设备的统计图表,通过 Graph Management 进入图8所

29、示页面时,统计表图片会是一个 X (叉)。这是因为在配置初期指定系统中每5分钟执所行的 php 语句还没到点运作。要么你就等5分钟,要么你就直接进入系统手动执行:/usr/local/php/bin/php /data/web_server/admin/cacti/poller.php /dev/null 2&然后曲线表中就能出现第一个峰值,每5分钟自动更新。24小时后,曲线图就能完整地出现在你眼前。回到图 7 Graph Management 的界面勾选新建的图表项,然后在下边Choose an action 框中选择 Place on a Tree(default Tree)就能把该图表类

30、似快捷方式的样子张贴到本文图1所示的Graphs,Default tree栏目中。然而你也能自己在菜单栏的 Graph Trees 中新建定制栏目,然后用相同的方法把新建的统计图往你所定制的栏目中放。Cacti 的强大功能不单止可以通过 snmp 获取装有 Linux,Unix操作系统服务器的运行状态,还能监控 Windows 系统服务器。跟诸如 Cisco,Linksys, 路由器,交换机,无线 AP 。或者其他支持 snmp 管理协议的网络设备。实际应用下边我们举出实应用用的例子。设备结构:1. 网络入口路由器Linksys RV042。Linksys的一款路由器,主要负责,外网接入路由,

31、防火墙,以及端口映射。2. server1 WEB 应用服务器操作系统: Linux RedHat As4 Eth0,Eth1 双网卡工作。前者接入路由器映射至外网。后者直连至 server2进行反向代理 ( proxy ) 以及数据备份以及同步等功能。IP 分别为 以及 3. server2 储存,FTP 与 WEB 应用服务器操作系统: Windows2003 r2与 server1 网络环境相仿,双网卡工作。IP 分别为 以及 Cacti 已经配置完成,安装在 server1 上。第一台添加到

32、监控表里边的是路由器 RV042 。打开路由器的 WEB 设置页面,勾选并启用 SNMP 功能。如图9Send SNMP Trap to: ( server1 的 IP )然后其他输入框按照默认留空即可,但需留意 Get Community Name: 所填写的组名: public。保存设置。图9登陆 Cacti ,console 菜单栏中点击 Devices 。跟前边图1至8添加新设备以及创建统计图表的步骤相同Description设备名称(我们这里自定为 Linksys RV042)Hostname设备地址(路由器的地址 )Host Templ

33、ate设备的类型 (选择 ucd/net SNMP Host 或者是 Cisco Router )然后其他按照默认即可。创建成功后,也会在该页面左上方出现所新建设备的Linksys RV042 SNMP Information 点击隔壁 *Create Graphs for this Host 创建监控图表图10路由器 RV042 的端口以及 IP 等数据都取出来了。勾选好所要监控的端口,点击 create 就能完成路由器监控图表的建立。Cacti 运行在 Server1 上,所以配置方式跟前边所介绍是一样的,这里就掠过了。但顺带说一下,如果环境中还存在Server3,而且跟 Server1

34、一样都是Linux 系统,需要添加到 cacti 里头。哪么只需在该服务器上修改 snmp 配置,修改的内容也跟 server1 上几乎一样,不同的是。编辑 /etc/snmp/snmpd.conf 的时候,原来填 (本机地址)的地方换成 Cacti 所在运行的服务器 IP,即 server1: 1. com2secnotConfigUserdefaultpublic改为:com2secnotConfigUser(server1地址)public2. accessnotConfigGroupanynoauthexactsystemviewnone none改为:accessnotConfigGroupanynoauthexact all none none3. #viewallincluded.180将前面的#注释去掉。4. 保存退出 :wq重新启动 snmp 服务# service snmpd restart在 Cacti ,Devices 中创建新设备,填写 Server3 IP 地址,设备类型: ucd/net SNMP Host , 创建图表, 完成。到 Se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论