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吞吐量


  • 相关阅读:
    ASP.NET MVC什么时候使用异步Action
    linux 下查看机器是cpu是几核的
    Linux--U盘安装Ubuntu12.04[转]
    再谈IE的浏览器模式和文档模式[转]
    Ubuntu 12.04.1 mysql从5.5升级到5.6
    在Linux上挂载Windows共享文件夹,如何开机自动挂载(mount)
    JConsole监控远程Tomcat服务器
    ubuntu iptables设置【转】
    oneinstack一键部署linux生产环境那点事(ubuntu)
    linux下jdk_tomcat+mysql配置那点事
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4378020.html
Copyright © 2011-2022 走看看