分享

CactiEZ V10.1 监控Tomcat配置过程

 simplelam 2014-11-14

Cacti虽然有很多版本,但是对于英文比较弱的同用起来困难还是挺大的!终于等到CactiEZ V10.1中文版出来了,里面集成了好多的监控模板。直接下载一键安装安装就可以,方便、快捷。非常适合初学cacti的同学们,(我就是这个水平啦~~~)非常感谢这个版本系统的研发者郑峰给我们提供的这个系统。

比较遗憾的就是没有我现在所需的监控tomcat的模板,需要自己来添加。只好自己在网上找教程安装,可以说是经历了重重地困难才安装完成,非常感谢Robin提供的无私帮助。(以下配置过程根据Robin文章整理)

环境:

CactiEZ V10.1 中文版 

下载地址:http://www./

里面有详细的安装和使用介绍

1. 下载监控tomcat模板

下载地址一

下载地址二

2. 配置监控服务器 Tomcat 的 conf 目录下的 conf/tomcat-users.xml 文件,添加如下内容:

<user username=”admin” password=”passwords” roles=”admin,manager”/>

重启 Tomcat 服务

3. 在浏览器中浏览如下地址:

http://admin:passwords@IP:端口/manager/status?XML=true

浏览器会显示相应的 Tomcat 状态信息,如下所示:

Tomcat Status
JVM: free:11466816 total:16318464 max:259522560
Connector — http-8080
threadInfo maxThreads:200 minSpareThreads: maxSpareThreads: currentThreadCount:4 currentThreadsBusy:1
requestInfo maxTime:797 processingTime:5711 requestCount:570 errorCount:51 bytesReceived:0 bytesSent:1228726

复制 tomcatstats.pl 脚本文件到 cacti/scripts/ 路径下,并修改相应的文件权限。

chown apache:apache tomcatstats.pl

-rwxr-xr-x  1 apache apache  1931 Aug 29 15:41 tomcatstats.pl

4. 保安装了需要的 XML::Simple:(为什么要安装这个?因为cacti是通过接受tomcat生成的一个包含服务器jvm等信息的xml流来解析数据并生成图,所以需要XML相关的perl模块)模块,如果你的 cacti 服务的主机可以访问外网,那么请在 Shell 下输入以下命令安装:

perl -MCPAN -e”install XML::Simple”

CactiEZ中安装可能比较麻烦,因为该系统默认安装的perl并不完整,因此可能无法自动获取到一些安装信息。

按照#cacti监控tomcat示例# 该文的说明,安装XML::Simple的命令是:perl -MCPAN -e"install XML::Simple"

(必须确保能进入CPAN shell才能安装XML::Simple),但是我在CactiEZ中使用该命令安装的时候却提示错误信息:

Can't locate CPAN.pm in @INC 

郁闷呐,找到该文:http:///post/12.html ,根据文中的说法,无法在线安装CPAN,必须下载安装包安装,官网在这里:

http://search./~andk/CPAN/lib/CPAN.pm 

5. 写本文时的最新稳定版下载地址是:

wget http://search./CPAN/authors/id/A/AN/ANDK/CPAN-1.9600.tar.gz 

tar zxvf CPAN-1.9600.tar.gz

cd CPAN-1.9600

解压后执行:perl Makefile.PL && make && make install 

希望你进行这一步时没有出错,然而我却出错了-_-

错误信息:

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains 

6. OK,我们继续来到这里:

http://search./~mschwern/ExtUtils-MakeMaker-6.54/lib/ExtUtils/MakeMaker.pm 

目前的最新版是:(本文附件中的版本)

wget http://search./CPAN/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.54.tar.gz

tar zxvf ExtUtils-MakeMaker-6.54.tar.gz

cd ExtUtils-MakeMaker-6.54

同样的安装方法,继续报错。。。

make: command not found 

额,make没安装,那就安装吧

yum install -y make 

make装好了却编译时报错:

make: *** No rule to make target `/usr/lib/perl5/CORE/config.h' 

那就看看这里吧:(make失败的原因是perl安装不完整,CactiEZ中安装的perl只包含了核心模块)

http://perl./docs/1.0/guide/troubleshooting.html#C_No_rule_to_make_target_____CORE_config_h_ 

7. 根据他的说法,我们先来安装Perl-develyum install -y perl-devel 

回到cd CPAN-1.9600

perl Makefile.PL && make && make install

安装ExUtils省略。因为上步已经安装过了

执行:perl -MCPAN -e"install XML::Simple"

====================================================================

                                   参考此段

其实我在执行perl -MCPAN -e"install XML::Simple"时仍然遇到一点问题,首先他会提示你是否安装默认的方式配置CPAN[yes]enter就行,然后他会告诉你是否要选择一个mirror去安装,[yes]你仍然enter过去,结果就查询本地的旧mirror,安装失败,无法连接指定的mirrer。。。。大概就是这样的问题吧,正确的做法应该是在叫你选择mirror的时候输入no,然后他会继续提示你是否下载一份最新的mirror list[yes]——>然后在最新的列表中去下载CPAN并安装,本地保存的那份列表其实是已经过期的数据,根本无法连接上。

第一次选yes,第二次选yes,第三次选no。然后出现一些站点,选163的镜像站点

=================================================================

8. XML::Simple到此安装完成

9. 复制tomcat脚本文件

我是直接从其他机器复制的,大家可以把下载的模板里面的tomcatstats.pl这个脚本复制到“/var/www/html/scripts/”目录下                                         

scp root@10.8.210.111:/var/www/html/scripts/tomcats tats.pl /var/www/html/scripts/                                       

10. 数据输入方法-- Tomcat Status--输入字符串

perl <path_cacti>/scripts/tomcatstats.pl 10.8.60.201:80 admin 密码 http-80

11. 测试:进入到cd /var/www/html/scripts/ 执行,还是报错

           再执行一次

perl -MCPAN -e"install XML::Simple"

再执行

[root@CactiEZ scripts]# ./tomcatstats.pl 10.8.60.201:80 admin 密码 http-80

could not find ParserDetails.ini in /usr/local/share/perl5/XML/SAX

jvm_memory_free:1391441400 jvm_memory_max:4278190080 jvm_memory_total:4278190080 connector_max_time:16120594 connector_error_count:411143 connector_bytes_sent:43730464016 connector_processing_time:377354624 connector_request_count:2225844 connector_bytes_received:3661752777 connector_current_thread_count:512 connector_min_spare_threads:25 connector_max_threads:1024 connector_max_spare_threads:75 connector_current_threads_busy:438 

OK,信息获取到了。说明XML::Simple安装成功了

12. 新添加tomcat主机监控模板

13. 安装完成并配置好tomcat模板之后,图正确的生成出来了,其他的数据也有。但是tomcat却没有一点数据,NULL

Goog原因说cactispine存在bug需要打补丁了。

打先Cacti补丁:进入cacti源目录才能打补丁

在CactiEZ中没有patch命令,需要先安装:yum install patch

cd /var/www/html/

wget http://www./downloads/patches/0.8.7g/data_source_deactivate.patch
wget http://www./downloads/patches/0.8.7g/graph_list_view.patch
wget http://www./downloads/patches/0.8.7g/html_output.patch
wget http://www./downloads/patches/0.8.7g/ldap_group_authenication.patch
wget http://www./downloads/patches/0.8.7g/script_server_command_line_parse.patch
wget http://www./downloads/patches/0.8.7g/ping.patch
wget http://www./downloads/patches/0.8.7g/poller_interval.patch
patch -p1 -N < data_source_deactivate.patch
patch -p1 -N < graph_list_view.patch
patch -p1 -N < html_output.patch
patch -p1 -N < ldap_group_authenication.patch
patch -p1 -N < script_server_command_line_parse.patch
patch -p1 -N < ping.patch
patch -p1 -N < poller_interval.patch

14. spine打补丁

15. 下载:wget http://www./downloads/spine/cacti-spine-0.8.7g.tar.gz

下载:wget http://www./downloads/spine/patches/0.8.7g/unified_issues.patch

tar zxvf cacti-spine-0.8.7g.tar.gz

mv unified_issues.patch.1 cacti-spine-0.8.7g

[root@CactiEZ so]# cd cacti-spine-0.8.7g

[root@CactiEZ cacti-spine-0.8.7g]# patch -p1 -N < unified_issues.patch

安装gcc

[root@CactiEZ cacti-spine-0.8.7g]# yum install gcc

编译spine

[root@CactiEZ cacti-spine-0.8.7g]#./configure --prefix=/usr/local/spine 

在编译过程中提示没有找到mysql头文件:

报错1configure: error: Cannot find MySQL header files under /usr/include/mysql/

安装mysql-devel

yum install mysql-devel

报错2configure: error: Cannot find SNMP header files under /usr/local/net-snmp

安装net-snmp-devel

yum install net-snmp-devel

没报错编译成功,开始安装

make&&make install

没报错终于安装成功拉O(_)O哈哈~

16. 试着运行spine看行不行?、

cd /usr/local/spine/bin/
./spine

开头显示

SPINE: Using spine config file [/etc/spine.conf]

SPINE: Version 0.8.7g starting

17. 重启httpd后再查看tomcat是否有数据

service httpd restart

rrdtool info /var/www/html/rra/2/354.rrd

tomcat监控对应的rrd文件(控制台系统工具--查看采集器缓存),之前是空的都是NaN

安装spine补丁并重新编译后就是这样啦

18.进入web再看tomcat就有数据了,终于大功告成。。。。。。



=============================================

监控tomcat7:

 
1.下载模板http://forums./about19744.html 上的TomcatStats-0.1.zip  
    wget http://forums./download/file.php?id=12310  
  
2.解压之后,修改tomcatstats.pl  
    my $url = "http://$username:$password"."\@$host/manager/status?XML=true";  
    my $xml = `GET $url`;  
    替换以下两行为:  
    my $url = "http://$host/manager/status?XML=true";  
    my $xml = `wget  -qO - --http-user=$username --http-password=$password $url`;  
  
3.将tomcatstats.pl上传放到cacti/scritps目录下;在cacti的控制台导入cacti_host_template_tomcat_server.xml模板  
4.然后修改被监控tomcat7的配置文件,增加以下内容后重启tomcat7:  
    <role rolename="manager-script"/>  
    <role rolename="manager-gui"/>  
    <user username="tomcat" password="yourpassword" roles="manager-script,manager-gui"/>  
5.进入cacti---> console (控制台)--> Data Input Methods(数据输入方法) ---> Tomcat Status-->Input String右侧输入框  
    perl <path_cacti>/scripts/tomcatstats.pl <hostname>:8080 tomcat yourpassword \"http-bio-8090\"  

(如果8090测试不通,可以使用8080.)
 注意:tomcat7默认的http的connector名称为http-bio-8090,tomcat6的是http-8080,  
    而且tomcat的http-bio-8090的双引号在perl中要转义才能被解析,否则出现只有jvm相关数据,其他connector没有数据  
      
6.安装 XML::Simple,安装方法(perl -MCPAN -e"install XML::Simple")  
    这里还要安装perl的解析xml的模块SAX或者PARXER,这里我使用的是SAX的,wget http://search./CPAN/authors/id/G/GR/GRANTM/XML-SAX-0.99.tar.gz  
      
7.测试,在cacti的主机上执行  
    perl /usr/local/apache/htdocs/cacti/scripts/tomcatstats.pl RemoteIP:port tomcat yourpassword \"http-bio-8090\"  
    如果出现以下说明ok  
    jvm_memory_free:5186864 jvm_memory_max:255459328 jvm_memory_total:29429760 connector_max_time:30014 connector_error_count:16 connector_bytes_sent:83364 connector_processing_time:40360 connector_request_count:396 connector_bytes_received:37021 connector_current_thread_count:10 connector_min_spare_threads: connector_max_threads:200 connector_max_spare_threads: connector_current_threads_busy:1  
      
8.如果图前面设置都正确,图没有出来,可以尝试把 Templates(模板) -->Graph Templates(图形模板)--(没有出来图的模板)-- Unit Grid Value (--unit/--y-grid) 中清空。  
测试的过程中Tomcat - Connection Rate和Tomcat - Heap Statistics这两项出不来,清空或者是设为0时就可以出现图像了  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多