首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

CactiEZ装配tomcat监控模板

2012-06-26 
CactiEZ安装tomcat监控模板本文旨在记录这次实践的过程。?CactiEZ基于CentOS6.0,中文版官方在CactiEZ 中文

CactiEZ安装tomcat监控模板

本文旨在记录这次实践的过程。

?

CactiEZ基于CentOS6.0,中文版官方在CactiEZ 中文版,安装过程参见官网。

?

下载tomcatstats,在该板块下载:http://forums.cacti.net/about19744.html,跟本文附件是同一个。

?

如果是从本文提供的地址下载的tomcatstats,请额外进行如下操作:

解压后得到3个文件,其中tomcatstats.pl的文件编码必须修改为UTF-8,因为在后面可能会遇到问题,可以在windows下用editplus修改后重新保存。

?

登入cacti,在控制台—>导入/导出—>导入模板,浏览文件选中cacti_host_template_tomcat_server.xml并上传。

?

保存之后即可在模板—>主机模板查看到新添加的模板:Tomcat Server。

?

继续,将刚才的tomcatstats.pl上传至/var/www/html/scripts/目录下面。如果cacti修改了默认位置,请上传至相应scripts目录。注意上次后修改该文件的可执行权限和所属用户、所属组,命令如下。

chmod +x /var/www/html/scripts/tomcatstats.plchown apache /var/www/html/scripts/tomcatstats.plchgrp apache /var/www/html/scripts/tomcatstats.pl
??

tomcatstats解压后有一个INSTALL.txt文件,该文件详细记录了安装过程,以下步骤部分引用该文件中的内容,如果对cacti不熟悉或是首次配置tomcat模板,请严格按照安装说明进行操作,不要轻易修改或跳过某一步。

?

首先,在目标tomcat服务器的server.xml文件中(一般在CATALINA_HOME/conf/目录下,#CATALINA_HOME#表示你的tomcat安装目录)添加如下代码在默认的<Service name="Catalina">标签结束以后,即有两个service段。

<Service name="Admin">        <Connector port="8444" maxHttpHeaderSize="8192"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"               enableLookups="false" disableUploadTimeout="true"               acceptCount="100" scheme="https" secure="true"               clientAuth="false" sslProtocol="TLS" />        <Engine name="Admin" defaultHost="localhost">         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"               resourceName="UserDatabase"/>         <Host name="localhost" appBase="server/webapps"               unpackWARs="false" autoDeploy="false"               xmlValidation="false" xmlNamespaceAware="false">          <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"               directory="logs"  prefix="admin_access_log." suffix=".txt"               pattern="combined" resolveHosts="false"               fileDateFormat="yyy-MM-dd"/>          <Context path="/manager" cookies="false"               docBase="server/webapps/manager" debug="0"               privileged="true" reloadable="false" />         </Host>        </Engine>       </Service>
?

然后,添加tomcat manager管理用户,增加如下xml片段至CATALINA_HOME/conf目录下的tomcat-users.xml文件中的<tomcat-users>标签内。

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

?

重启tomcat服务器(通常linux下的启动tomcat的程序在CATALINA_HOME/bin/catalina.sh)。

在浏览器中打开

http://IP:port/manager/status

进入tomcat manager管理后台,输入刚才设定的用户名/密码:admin/passwords。

另外打开

http://IP:port/manager/status?XML=true

以确保tomcat能够输出xml格式的服务器信息。

?

以下的安装过程参见:http://qubaoquan.blog.51cto.com/1246748/292589

?

安装 XML::Simple:(为什么要安装这个?因为cacti是通过接受tomcat生成的一个包含服务器jvm等信息的xml流来解析数据并生成图,所以需要XML相关的perl模块,此外还需要XML::ParserXML::SAX

?

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

?

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

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

Can't locate CPAN.pm in @INC

?

2.找到该文:http://xgvod.net/post/12.html,根据文中的说法,必须先安装CPAN,而且无法在线安装,只能下载安装包安装。官网在这里:

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

写本文时的最新稳定版下载地址是:http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-1.9800.tar.gz

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

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

错误信息:

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

?

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

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

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

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

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

make: command not found

额,make没安装,那就安装吧,yum install -y make

make装好了却编译时报错:

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

?

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

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

根据他的说法,我们先来安装Perl-devel吧:yum install -y perl-devel

安装完后重新make果然正确执行了(至少我谢天谢地了。。)

?

5.好的ExUtils安装完成了,你可以回到前面去安装CPAN了。

现在安装CPAN如果还有错误,参考一下这里吧:

http://haply.info/index.php/2011/05/23/cant-locate-lwpuseragent-pm/

?

6.安装完ExUtils之后再安装CPAN就没什么问题了,但是有一点小警告:

Warning: prerequisite HTTP::Tiny 0.005 not fount.

Warning: prerequisite Test::More 0 not fount.

可以不用管它。

?

然后再安装XML::Simple:

-1.首先他会提示你是否安装默认的方式配置CPAN,[yes]按enter就行。

-2.然后他会告诉你是否要自动帮你选择合适的mirror下载安装镜像源:

Would you like me to automatically choose some CPAN mirror sites for you?

-3.这时候应该注意了,别指望他会自动为你找到最好的,选择一个mirror去安装,果断选no。

-4.然后他会问你是否从默认的mirror列表中选择,好吧,yes,enter就行了。

-5.接下来他会问你是否从本地缓存的列表中查询,这里就要点否了,因为本地的数据大多是过期而且无效的。

Shall I use the cached mirror list?

-6.然后他会下载一份最新的mirror列表。(可以选择地区,如Asia;还可以进一步选择国家,如China;最后还可以选择mirror,看到熟悉的sohu、163随便你选了)

?

7.有可能还是会安装失败(尝试再次执行perl -MCPAN -e"install XML::Simple")。如果看到这样的错误信息:

Tests succeeded but one dependency not OK (XML::SAX::Expat)  GRANTM/XML-Simple-2.18.tar.gz  [dependencies] -- NARunning make install  make test had returned bad status, won't install without force

大意是没有XML::Parser~难道还要去安装解析器?

参考:http://www.techiecorner.com/1839/cpan-error-make-test-had-returned-bad-status-wont-install-without-force/

然后进入perl -MCPAN -e shell,即所谓的CPAN shell,然后执行force install XML::Simple

安装完成CPAN之后再回到第一步去安装XML::Simple吧!

?

8.测试:进入到CACTI_HOME/scripts/,执行perl?tomcatstats.pl 127.0.0.1:8080 admin passwords http-8080

是否会出现类似这样的信息呢(详见tomcatstats的INSTALL.txt中)?

./tomcatstats.pl app1:8444 admin passwords http-8080        jvm_memory_free:205377864 jvm_memory_max:954466304 jvm_memory_total:301203456        connector_max_time:1015226 connector_error_count:2243 connector_bytes_sent:1599068002        connector_processing_time:9931650 connector_request_count:89363        connector_bytes_received:7268740 connector_current_thread_count:4        connector_min_spare_threads:0 connector_max_threads:150        connector_max_spare_threads:0 connector_current_threads_busy:1
?

如果看到类似这样的错误信息的话:/usr/bin/perl^M: bad interpreter: No such file or directory

很遗憾,你得回到本文的开头部分去修改tomcatstats.pl这个文件的编码格式了。

参考:

-1>http://www.genepeng.cn/index.php/106

-2>http://forums.devshed.com/perl-programming-6/usr-bin-perl-m-bad-interpreter-no-such-file-or-826132.html

?

9.如果看到这个:

sh: GET: command not found

File does not exist: ?at tomcatstats.pl line 20

先去看看这里http://www.51cacti.cn/thread-328-1-1.html

然后试试这个:yum install perl-libwww-perl

?

10.然后继续执行刚才的tomcatstats.pl,如果出现了JVM信息,那就OK了,否则的话,可能是没有XML解析器XML:Parser,就是刚才忽略掉的那个错误。

可以去官网下载来编译安装:http://search.cpan.org/~msergeant/XML-Parser-2.36/Parser.pm

也可以在线安装:perl -MCPAN -e"install XML::Parser"或先进入CPAN shell:perl -MCPAN -e shell,

然后安装install XML:Parser

安装过程继续报错,已经习惯了,错误最后比较明显的告诉你是没有编译器:

Couldn't find your C compiler

?

11.安装gcc吧(参考http://forums.whirlpool.net.au/archive/1084255):yum install -y gcc,装完之后重新安装XML::Parser,这回仍旧是很多错误啊,大量的以”Expat.xs:“开头的错误(有一部分还是乱码),末行是:

Can't test without successful make Running make install make had returned bad status, install seems impossible

没必要安装了?不是吧。。很伤心啊~参考下面的东东:

-1>http://cpanforum.com/threads/502

-2>http://www.howtoforge.com/forums/showthread.php?t=3256

-3>http://www.perlmonks.org/?node_id=901170

其中第3个链接告诉了你接下来怎么做:安装expat-devel:yum intall expat-devel

装完之后你就可以正确的安装Perl-XML-Parser了,虽然还会有大量的警告~

?

P.S.不管怎样,当你看到tomcatstats.pl输出了正确的信息,你的工作就基本完成了。

如果看到这个警告:could not find ParserDetails.ini in /usr/local/share/perl5/XML/SAX

看到这里:http://hi.baidu.com/rosachian/blog/item/b4aaca2c6758ce39359bf712.html

并执行这个:perl -MXML::SAX -e "XML::SAX->add_parser('XML::SAX::PurePerl')->save_parsers()"

?

EOF.最后新建主机很简单的、参考#cacti监控tomcat示例#吧。

热点排行