zoukankan      html  css  js  c++  java
  • Cacti监控Tomcatserver实现过程

    1 首先去官网上面下载通用的监控模板

    一般使用TomcatStats-0.1.zip 模板居多,下载地址:

    http://forums.cacti.net/download/file.php?id=12310

    在linuxserver上面使用wget下载,wget http://forums.cacti.net/download/file.php?id=12310,报例如以下错误:

    正在连接 forums.cacti.net|173.225.179.10|:80... 已连接。

    已发出 HTTP 请求,正在等待回应... 301 Moved Permanently

    位置:http://forums.cacti.net/ [尾随至新的 URL]

    已超过 20 次重定向。

    能够在windows7的google浏览器上输入http://forums.cacti.net/download/file.php?id=12310点击回车下载,然后通过SecureFX客户端工具scp到linuxserver上就可以。

    然后解压缩得到3个文件cacti_host_template_tomcat_server.xml,INSTALL.txt,tomcatstats.pl 3个文件。

    2 在cacti主server的网址上面导入模板

    打开cactiserver的网址:

    进入http://10.xx.1.xx/cacti/index.php->Console –> Templates -> Import Templates ,选择文件导入(cacti_host_template_tomcat_server.xml)文件,选择Importbutton载入tomcat模板。

    3 cactiserver端载入tomcatstats.pl统计脚本

    将解压缩TomcatStats-0.1.zip 得到的tomcatstats.pl 放到/var/www/html/cacti/scritps 文件夹下,而且赋予运行权限

    Chown –R apache.apache tomcatstats.pl

    chmod 755 tomcatstats.pl

    改动tomcatstats.pl,大概第20行,将

    1.      my $xml = `GET $url`;

    改动为

    1.      my $xml = `wget -qO - $url`;

    不然在你导入之后非常可能出现数据出不来。

    Check URL连接是否正确

    Vim tomcatstats.pl 后,在第17行后面加入print $url,在控制台打出url,例如以下所看到的:   

    my $url = "http://$username:$password"."@$host/manager/status?XML=true";

    print $url;

    print “   ”;

    然后用perl来check下统计脚本,例如以下:

    [root@squid-2 scripts]# perl tomcatstats.pl 10.xx.3.xx:9444 'tomcat' '9ssspw '  http-9444  

    http://tomcat:tomcat0401@10.xx.3.xx:9444/manager/status?XML=true   jvm_memory_free:2925944104 jvm_memory_max:3892314112 jvm_memory_total:3892314112 connector_max_time:131 connector_error_count:4464 connector_bytes_sent:19559190 connector_processing_time:11552 connector_request_count:8931 connector_bytes_received:0 connector_current_thread_count:4 connector_min_spare_threads: connector_max_threads:150 connector_max_spare_threads: connector_current_threads_busy:1


    也能够在windows7的google浏览器里面,输入上面URL,也会出现非常多tomcat的统计信息,例如以下所看到的:


    4 改动cacti中tomcat获取数据的url地址

    进入cacti---> console ---> Data Input Methods --->Tomcat Status

    改动Input String 中字段

    改动为:perl <path_cacti>/scripts/tomcatstats.pl <hostname>:8080 tomcat 9ssspw  http-8080

    注意:替换上面的username 和password 为实际的tomcat 管理员账号和密码。

    要开启tomcat 的manager 管理员账号 附件内有Enable the Tomcat manager application 介绍,例如以下图:


    5 web端tomcatserver的配置调整

    在tomcat/conf/server.xml 里面加入例如以下:

    <Service name="Admin">

            <Connector port="9444" 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="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/conf/tomcat-users.xml里面 加入

    <role rolename="manager-gui"/>

    <user username="tomcat" password="9ssspw " roles="manager-gui"/>

    passwords 为连接密码 可自行更改,然后重新启动tomcat 服务

    去cactiserver端运行perl tomcatstats.pl 10.xx.3.xx:9444 'tomcat' '9ssspw '  http-9444 check统计脚本能否取到tomcat的数据,有数据即正常,例如以下所看到的:

    [root@squid-2 scripts]# /usr/bin/perl tomcatstats.pl 10.xx.3.xx:9444 'tomcat' 'xxx’  http-9444

    http://tomcat:tomcat0401@10.254.3.29:9444/manager/status?XML=true   jvm_memory_free:3409129096 jvm_memory_max:3892314112 jvm_memory_total:3892314112 connector_max_time:131 connector_error_count:2 connector_bytes_sent:20241 connector_processing_time:168 connector_request_count:5 connector_bytes_received:0 connector_current_thread_count:4 connector_min_spare_threads: connector_max_threads:150 connector_max_spare_threads: connector_current_threads_busy:1

    [root@squid-2 scripts]#

    记录debug期间的报错信息例如以下:

    [root@squid-2 scripts]# perl tomcatstats.pl 10.xx.3.xx:9300 admin 9ssspw  http-9300

    Can't locate XML/Simple.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at tomcatstats.pl line 7.

    BEGIN failed--compilation aborted at tomcatstats.pl line 7.

    须要安装XML::Simple

    [root@squid-2 ~]# find / -name cpan

    /usr/bin/cpan

    [root@squid-2 ~]# /usr/bin/cpan XML::Simple

    ……

    Prepending /root/.cpan/build/XML-Simple-2.20-7zpaOY/blib/arch /root/.cpan/build/XML-Simple-2.20-7zpaOY/blib/lib to PERL5LIB for 'install'

    Installing /usr/local/share/perl5/XML/Simple.pm

    Installing /usr/local/share/perl5/XML/Simple/FAQ.pod

    Installing /usr/local/share/man/man3/XML::Simple.3pm

    Installing /usr/local/share/man/man3/XML::Simple::FAQ.3pm

    Appending installation info to /usr/lib64/perl5/perllocal.pod

      GRANTM/XML-Simple-2.20.tar.gz

      /usr/bin/make install  -- OK

    Warning (usually harmless): 'YAML' not installed, will not store persistent state

    继续报错File does not exist:  at tomcatstats.pl line 20

    [root@squid-2 scripts]# /usr/bin/perl tomcatstats.pl 10.254.3.29:9300 tomcat xxx   http-9300

    File does not exist:  at tomcatstats.pl line 20

    须要安装例如以下组件:

    [root@squid-2 scripts]#yum install perl-HTML-Parser.i386 perl-HTML-Tagset.noarch perl-libwww-perl.noarch perl-URI.noarch

    之后启动tomcat报错例如以下:

    [tomcat@web-9 logs]$ cat catalina.out

    2014-6-6 15:11:15 org.apache.catalina.core.AprLifecycleListener init

    信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_45/jre/lib/amd64/server:/usr/java/jdk1.6.0_45/jre/lib/amd64:/usr/java/jdk1.6.0_45/jre/../lib/amd64:/usr/local/lib::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

    2014-6-6 15:11:16 org.apache.tomcat.util.digester.SetPropertiesRule begin

    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.

    跟踪后发现是连接池的配置问题:

    <Context path="/n" docBase="server/webapps/manager " debug="0" reloadable="true" crossContext="false"> 

    把debug="0"去除就可以。

    分析:tomcat的6.0.37这个版本号中可能用别的属性替代了debug功能。

    6  Cacti监控tomcat的选项

    Graph templates,总共就4个选项,例如以下:


    点击监控项连接进去,看到RRDTool Says: ERROR: invalid y-grid format报错信息,

    解决的方法是:

    进右上角的连接*Edit Graph Template --> Tomcat Connection Rate --> Unit Grid Value (--unit/--y-grid),默认的值为1,去掉改成为0就可以。

    同理解决Tomcat - Heap Statistics 不出图的问题 将1048576 值改空就可以。

    之后假设10分钟内还是出不了图,那么能够继续等待,tomcat监控模板出图时间比較漫长,我这里等待了3个小时候后,图出来了,例如以下所看到的:

    1) Tomcat - Connection Rate     :连接效率



    2) Tomcat - Heap Statistics      : JVM堆得使用情况

     


    3) Tomcat - Thread Statistics    :线程状态


    4) Tomcat – Throughput        :Tomcat吞吐量


  • 相关阅读:
    03_ if 练习 _ little2big
    uva 11275 3D Triangles
    uva 12296 Pieces and Discs
    uvalive 3218 Find the Border
    uvalive 2797 Monster Trap
    uvalive 4992 Jungle Outpost
    uva 2218 Triathlon
    uvalive 3890 Most Distant Point from the Sea
    uvalive 4728 Squares
    uva 10256 The Great Divide
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4378020.html
Copyright © 2011-2022 走看看