阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Cacti监控Tomcat服务器实现过程

142次阅读
没有评论

共计 9605 个字符,预计需要花费 25 分钟才能阅读完成。

1 首先去官网上面下载通用的监控模板
 
一般使用 TomcatStats-0.1.zip 模板居多,下载地址:
 
http://forums.cacti.net/download/file.php?id=12310,
 
在 linux 服务器上面使用 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 到 linux 服务器上即可。
 
然后解压缩得到 3 个文件 cacti_host_template_tomcat_server.xml,INSTALL.txt,tomcatstats.pl 3 个文件。

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Ubuntu 下部署 Solr(4.4)到 Tomcat(7.0.53) http://www.linuxidc.com/Linux/2014-05/101443.htm

Linux 下 Apache 与多个 Tomcat 集群负载均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm

Nginx Tomcat 集群负载均衡解决笔记 http://www.linuxidc.com/Linux/2013-07/86827.htm

实例详解 Tomcat 组件安装 +Nginx 反向代理 Tomcat+Apache 使用 mod_jk 和 mod_proxy 反向代理和负载均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

Apache+Tomcat 环境搭建(JK 部署过程)http://www.linuxidc.com/Linux/2012-11/74474.htm

 
 
2 在 cacti 主服务器的网址上面导入模板
 
打开 cacti 服务器的网址:
 
进入 http://10.xx.1.xx/cacti/index.php->Console –> Templates -> Import Templates,选择文件导入(cacti_host_template_tomcat_server.xml)文件,选择 Import 按钮加载 tomcat 模板。
 

Cacti 监控 Tomcat 服务器实现过程

3 cacti 服务器端加载 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 的统计信息,如下所示:
 

Cacti 监控 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 介绍,如下图:

Cacti 监控 Tomcat 服务器实现过程 

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/102897p2.htm

5 web 端 tomcat 服务器的配置调整
 
在 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 服务
 
 
 
去 cacti 服务器端执行 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 功能。

1 首先去官网上面下载通用的监控模板
 
一般使用 TomcatStats-0.1.zip 模板居多,下载地址:
 
http://forums.cacti.net/download/file.php?id=12310,
 
在 linux 服务器上面使用 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 到 linux 服务器上即可。
 
然后解压缩得到 3 个文件 cacti_host_template_tomcat_server.xml,INSTALL.txt,tomcatstats.pl 3 个文件。

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Ubuntu 下部署 Solr(4.4)到 Tomcat(7.0.53) http://www.linuxidc.com/Linux/2014-05/101443.htm

Linux 下 Apache 与多个 Tomcat 集群负载均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm

Nginx Tomcat 集群负载均衡解决笔记 http://www.linuxidc.com/Linux/2013-07/86827.htm

实例详解 Tomcat 组件安装 +Nginx 反向代理 Tomcat+Apache 使用 mod_jk 和 mod_proxy 反向代理和负载均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

Apache+Tomcat 环境搭建(JK 部署过程)http://www.linuxidc.com/Linux/2012-11/74474.htm

 
 
2 在 cacti 主服务器的网址上面导入模板
 
打开 cacti 服务器的网址:
 
进入 http://10.xx.1.xx/cacti/index.php->Console –> Templates -> Import Templates,选择文件导入(cacti_host_template_tomcat_server.xml)文件,选择 Import 按钮加载 tomcat 模板。
 

Cacti 监控 Tomcat 服务器实现过程

3 cacti 服务器端加载 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 的统计信息,如下所示:
 

Cacti 监控 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 介绍,如下图:

Cacti 监控 Tomcat 服务器实现过程 

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/102897p2.htm

6  Cacti 监控 tomcat 的选项

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

Cacti 监控 Tomcat 服务器实现过程

点击监控项连接进去,看到 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:连接效率

Cacti 监控 Tomcat 服务器实现过程

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

Cacti 监控 Tomcat 服务器实现过程

3) Tomcat – Thread Statistics:线程状态

Cacti 监控 Tomcat 服务器实现过程

4) Tomcat – Throughput:Tomcat 吞吐量

Cacti 监控 Tomcat 服务器实现过程

Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计9605字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中