cacti配置监控多台服务器.doc_第1页
cacti配置监控多台服务器.doc_第2页
cacti配置监控多台服务器.doc_第3页
cacti配置监控多台服务器.doc_第4页
cacti配置监控多台服务器.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

/html/sysadmin/20090504/65442.html使用 cacti 批量监控服务器以及其 PHP 运作环境配置本文主要介绍说明用于支持 Cacti 运作的 PHP+RRDtool 环境的详细配置方法。使其能集中式监控多台,不同平台类型的服务器。以及支持 SNMP 网络设备运作状态。前言Cacti 功能类似于我们所熟悉的 MRTG 。 MRTG 确实是非常好的老牌系统监控工具,但由于他历史实在很久了,使得许多功能以及配置等方面都比较落后。实现得比较费劲,管理起来很麻烦。比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的话我就要将这些被监测点放在不同的 mrtg 配置文件中,运行多个 crontab,而且还要自己写了一些 html 页面对其进行管理。Cacti 其实是一套 php 程序,一个 rrdtool 工具。它运用 snmpget 采集数据,使用 rrdtool 绘图。界面非常漂亮,它提供了强大的数据管理和用户管理功能,一张图是属于一个 host 的,每一个 host 又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与 LDAP 结合进行用户的验证。 Cacti 还提供自己增加模板的功能,让你添加自己的 snmp_query 和 script 。功能相当强大!本文前半部分是教程,主要介绍了 Cacti 以及其 PHP 运行环境的安装配置。后半部分将实际举例如何使用 Cacti 监控诸如 Linux,Windows 。以及支持 SNMP 管理协议的路由器等网络设备。环境搭建Cacit 运行环境需要 PHP + Mysql + rrdtool 以及 snmp 工具的支持。下边是本次配置需要用到的软件。Catci:cacti-0.8.6j.tar.gz rrdtool-1.2.27.tar net-snmp-5.0.9-2.30E.15 net-snmp-devel-5.0.9-2.30E.15 net-snmp-libs-5.0.9-2.30E.15 net-snmp-utils-5.0.9-2.30E.15 PHP:php-5.2.6.tar.gz curl-7.15.0.tar.gz freetype-2.1.9.tar.gz gettext-0.16.1.tar.gz gd-2.0.35.tar.gz jpegsrc.v6b.tar.gz libart_lgpl-2.3.17.tar.gz libpng-1.2.18.tar.gz libxml2-2.6.32.tar.gz ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz zlib-1.2.3.tar.gz libxml2-2.6.32.tar.gz Apache:httpd-2.2.6.tar.gzMysql:mysql-5.1.24-rc.tar.gz开始构建完整的 PHP 运行的环境,我们以全新安装的 RedHatAs4 updata4 操作系统环境为例。首先编译安装Apache httpd server# tar zxvf httpd-2.2.6.tar.gz # cd httpd-2.2.6 # ./configure -prefix=/usr/local/apache26 -enable-module=so -with-mpm=worker -enable-module=rewrite # make & make install 第二步安装 PHP+GD 等所需的支持插件编译安装libxml# tar zxvf libxml2-2.6.32.tar.gz # cd libxml2-2.6.32.tar.gz # ./configure -prefix=/usr/local/libxml2/ # make & make install 编译安装zlib# tar zxvf zlib-1.2.3.tar.gz # cd zlib-1.2.3 #./configure -prefix=/usr/local/zlib2/ # make & make install 编译安装jpeg支持# tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b/ # ./configure -prefix=/usr/local/jpeg6 # make # make install-lib # make install ( 该版本的 jpeg 在实际安装过程中,make install 的时候会出现好几个找不到目录,或目录不存在的 error 。只需按照提示人手创建缺失目录,然后再令其 make install 直到无任何错误提示且顺利完成为止。 )编译安装 libpng# tar zxvf libpng-1.2.18.tar.gz # cd libpng-1.2.18.tar.gz #cp scripts/makefile.gcmmx makefile #./configure -disable-shared -prefix=/usr/local/libpng2/ # make & make install 编译安装 freetype# tar zxvf freetype-2.1.9.tar.gz # cd freetype-2.1.9 #./configure -disable-shared -prefix=/usr/local/freetype2/ # make & make install 编译安装 libart_lgpl# tar zxvf libart_lgpl-2.3.17.tar.gz # cd ibart_lgpl-2.3.17 #./configure -disable-shared -prefix=/usr/local/libart/ # make & make install 编译安装 gettext# tar zxvf gettext-0.16.1.tar.gz # cd gettext-0.16.1 # ./configure -prefix=/usr/local/gettext/ # make & make install 编译安装 gd 库 :# tar zxvf gd-2.0.35.tar.gz # cd gd-2.0.35 # ./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/local/gettext/ -with-libxml=/usr/local/libxml2 # make & make install 编译安装 Curl 支持# tar zxvf curl-7.15.0.tar.gz # cd curl-7.15.0 # ./configure -prefix=/usr/local/curl # make & make install 编译安装 PHP# tar zxvf php-5.2.6.tar.gz # cd php-5.2.6 # ./configure -prefix=/usr/local/php -with-apxs2=/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/gettext # make & make install # cp php.ini-dist /usr/local/php/lib/php.ini ( 拷贝 PHP 配置文件至安装目录 ) # vi /usr/local/apach26/conf/httpd.conf ( 修改 apache 配置文件并加载 PHP 支持 ) 要改的有如下几处一般都在 #AddType application/x-tar .tgz 下加一行 : #LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php如果你搜索其它地方没有以下这行 : LoadModule php5_module modules/libphp5.so请把上面的 # 号去掉,还有找到DirectoryIndex index.html index.html.var在后面加 index.php 让它把 index.php 做为默认页保存 httpd.conf 文件 .启动 apache# /usr/local/apache2/bin/apachectl start如果没有出错 , 写一个测试页放到你网页目录下 . 访问就应该可以看到 php 的版本等信息了 ! 用 ZendOptimizer 加速 PHP #tar zxvf ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz #cd ZendOptimizer-2.5.3-linux-glibc21-i386 #./install.sh 安装的时候注意输入正确的安装 apache 的路径等内容 !安装完毕 , 再看看 phpinfo 页面的 zend 选项就发现了 !安装MYSQL# groupadd mysql # useradd -g mysql mysql # tar zxvf mysql-5.1.24-rc.tar.gz # cd mysql-5.1.24-rc # ./configure -prefix=/usr/local/mysql -localstatedir=/data/mysql ( 指定数据文件目录 ) -without-innodb -without-debug -with-extra-charsets=gbk -with-extra-charsets=all -enable-assembler -with-pthread -enable-thread-safe-client -with-client-ldflags=-all-static # make & make install # cp ./support-files/mysql.server /etc/init.d/mysql ( 复制 Mysql 启动服务至系统 ) # chmod 777 /etc/init.d/mysql ( 赐予可执行权限 ) # chown mysql:mysql /data/mysql ( 设置数据文件目录属性 )设置数据文件目录属性这一步相当重要,许多朋友第一次使用 tar 包安装 Mysql 的时候就因该目录权限问题导致 Mysql 无法启动。相当头大 .# /usr/local/mysql/bin/mysql_install_db ( 初始化数据库 ) # service mysql start ( 启动 Mysql) # /usr/local/mysql/bin/mysqladmin -u root -p password xxxxx ( 设置管理员密码 xxx 默认值为空 )好了,至此 mysql 安装完毕 .这样构建 Cacit 运行的 PHP+Mysql 环境就基本上完成了。下边开始安装 Cacit 所需要的 rrdtools 图形工具以及 snmp 工具编译安装 rrdtools# tar zxvf rrdtool-1.2.27.tar # cd rrdtool-1.2.27 # ./configure -prefix=/usr/local/rrdtool # make & make install如果 ./configure 时出现下面这个错误configure: error: Please 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 和 snmpget 命令 # rpm -qa | grep net-snmp ( 查看系统中有否已经装有所需的软件 ) net-snmp-5.0.9-2.30E.15 net-snmp-devel-5.0.9-2.30E.15 net-snmp-libs-5.0.9-2.30E.15 net-snmp-utils-5.0.9-2.30E.15没有或者缺少的话都需要逐一安装上。而且还很有可能会因 rpm 的依存关系无法顺利安装,须使用 - - nodeps 参数。以上所需的 rpm 安装包都能在 RedHatAs4 安装光盘上找到 .安装配置至此,Cacti 所需的运行环境都已经准备好了,接下来开始进行安装以及配置。稍微修改系统中 snmp 的配置# vi /etc/snmp/snmpd.confcom2secnotConfigUser default public改为:com2secnotConfigUser public access notConfigGroup any noauth exact systemview none none改为:accessnotConfigGroupanynoauthexact all none none#view all included .1 80将前面的 # 注释 去掉。保存退出 :wq 重新启动 snmp 服务# service snmpd restart 安装 / 配置 cacti# tar zxvf cacti-0.8.6j.tar.gz# mv cacti-0.8.6j /data/web_server/admin/cacti( 把 cacit 剪切到自定的 web 目录下 )# chmod 777 Rf /data/web_server/admin/cacti( 设置目录权限 , 避免因权限问题而导致目录无法写入 )# cd /data/web_server/admin/cacti在Mysql中创建一个新的库,并导入cacti 目录中cacti.sql 并设置好该表的用户权限,然后编辑 cacti 的数据库配置文件。# vi /data/web_server/admin/cacti/include/config.php $database_type= “ mysql ” ; $database_default = “数据库名称” ; $database_hostname = “默认是 localhost ” ; $database_username = “用户名” ; $database_password = “密码” ;更改用户、密码等项与上面给出的对应保存退出# crontab e (加入自动执行规则,每 5 分钟执行。) */5 * * * * /usr/local/php/bin/php /data/web_server/admin/cacti/poller.php /dev/null 2&1 (其中 /usr/local/php/bin/php 这个为 php 的安装目录)保存退出:wq 在 apache 上设置好 cacti 所在 web 目录打开浏览器 http:/youhostname/cacti 进入 cacti 的初始设置页面第一次默认登陆账号:admin 密码 admin登陆后它就会让你立即修改新密码说一下 cacti 设置页中各项“零件”的路径。当修改好新密码进入,第一个显示出的页面就是让你设置 rrdtool,snmp 等工具的路径。这是个很重要的环节,必须无误,要不然 cacti 将无法生成出统计图。snmpwalk Binary Path : /usr/bin/snmpwalk snmpget Binary Path: /usr/bin/snmpget RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool PHP Binary Path: /usr/local/php/bin/php Cacti Log File Path: /data/web_server/admin/cacti/log/cacti.log Cactid Poller File Path: /data/web_server/admin/cacti/poller.php默认的配置中会出现许多“ NotFound ”按照上边的路径把“ NotFound ”的项都重新填上。手动运行一次/usr/local/php/bin/php /data/web_server/admin/cacti/poller.php /dev/null 2&1你就能在顶上 graphs 中 localhost 里头看到本机的内存,CPU,登陆用户等的统计图 .图 1. Cacti 统计图 但默认 Cacti 是没有创建网卡流量的监控图的。要我们自己来加。回到 console 菜单选择 Devices 监控设备。图 2. 设备监控 图 3. 添加设备 然后点击右上角的 Add 进行添加Description 设备名称 ( 可随意输入 )Hostname 设备地址 ( 如果是本机就填 )Host Template 设备的类型 ( 选择 ucd/net SNMP Host )然后其他按照默认即可,如下图图 4. 添加的新设备 点 create 创建。如果刚才填写的地址无误,创建成功后,会在该页面左上方出现所新建设备的 SNMP Information然后点击隔壁醒目的 * Create Graphs for this Host 即开始创建监控图表图 5. 创建图表-1 图 6. 创建图表-2 如图 6,沟选你所要监控的网卡以及 IP,点 create 。这样就完成了你所指定设备统计图的创建。图 7. 添加的设备统计图 点击菜单中的 Graph Management 即可浏览到你刚才所创建的图表,如图 7 箭头所示。图 8. 统计图表 有一个小技巧,初次要求 cacti 创建指定设备的统计图表,通过 Graph Management 进入图 8 所示页面时,统计表图片会是一个 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)就能把该图表类似快捷方式的样子张贴到本文图 1 所示的 Graphs,Default tree 栏目中。然而你也能自己在菜单栏的 Graph Trees中新建定制栏目,然后用相同的方法把新建的统计图往你所定制的栏目中放。Cacti 的强大功能不单止可以通过 snmp 获取装有 Linux,Unix 操作系统服务器的运行状态,还能监控 Windows 系统服务器。跟诸如 Cisco,Linksys, 路由器,交换机,无线 AP 。或者其他支持 snmp 管理协议的网络设备。实际应用下边我们举出实应用的例子。设备结构:网络入口路由器 Linksys RV042。Linksys 的一款路由器,主要负责,外网接入路由,防火墙,以及端口映射。 server1 WEB 应用服务器操作系统: Linux RedHat As4Eth0,Eth1 双网卡工作。前者接入路由器映射至外网。后者直连至 server2进行反向代理 ( proxy ) 以及数据备份以及同步等功能。IP 分别为 以及 server2储存,FTP与WEB 应用服务器操作系统: Windows2003 r2与 server1 网络环境相仿,双网卡工作。IP 分别为 以及 Cacti 已经配置完成,安装在 server1 上。第一台添加到监控表里边的是路由器 RV042 。打开路由器的 WEB 设置页面,勾选并启用 SNMP 功能。如图 9Send SNMP Trap to: ( server1 的 IP )然后其他输入框按照默认留空即可,但需留意 Get Community Name: 所填写的组名: public 。保存设置。图 9. 保存设置 登陆 Cacti ,console 菜单栏中点击 Devices。跟前边图 1 至 8 添加新设备以及创建统计图表的步骤相同Description 设备名称 ( 我们这里自定为 Linksys RV042)Hostname 设备地址 ( 路由器的地址 )Host Template 设备的类型 ( 选择 ucd/net SNMP Host 或者是 Cisco Router )然后其他按照默认即可。创建成功后,也会在该页面左上方出现所新建设备的 Linksys RV042 SNMP Information点击隔壁 *Create Graphs for this Host 创建监控图表图 10. 创建监控图表 路由器 RV042 的端口以及 IP 等数据都取出来了。勾选好所要监控的端口,点击 create 就能完成路由器监控图表的建立。Cacti 运行在 Server1 上,所以配置方式跟前边所介绍是一样的,这里就掠过了。但顺带说一下,如果环境中还存在 Server3,而且跟 Server1 一样都是 Linux 系统,需要添加到 cacti 里头。哪么只需在该服务器上修改 snmp 配置,修改的内容也跟 server1 上几乎一样,不同的是。编辑 /etc/snmp/snmpd.conf 的时候,原来填 ( 本机地址 ) 的地方换成 Cacti 所在运行的服务器 IP,即 server1: com2secnotConfigUser default public改为:com2secnotConfigUser (server1 地址) public access notConfigGroup any noauth exact systemview none none 改为:accessnotConfigGroupanynoauthexact all none none#view all included .1 80将前面的 # 注释 去掉。 保存退出 :wq 重新启动 snmp 服务# service snmpd restart在 Cacti ,Devices中创建新设备,填写 Server3 IP 地址,设备类型: ucd/net SNMP Host , 创建图表 , 完成。到

温馨提示

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

评论

0/150

提交评论