cacti系列(二)之cacti添加对tomcat服务器的监控
cacti添加对tomcat的监控
1.首先下载监控tomcat的模板 TomcatStats-0.1.zip
2.导入模板 (cacti_host_template_tomcat_server.xml)
进入cacti --> Console ---> Import Templates
3.将解压缩TomcatStats-0.1.zip 得到的tomcatstats.pl 放到cacti/scritps目录下,并授予执行权限
chown -R apache.apache tomcatstats.pl
修改tomcatstats.pl,大概第18行,将
my $xml = `GET $url`;
修改为
my $xml = my $xml = `wget -qO - --http-user=$username --http-password=$password $url`;
不然在你导入之后很可能出现数据出不来。
Check URL连接是否正确
Vim tomcatstats.pl 后,在第17行后面添加print $url,在控制台打出url,如下所示:
my $url = "http://$username:$password"."\@$host/manager/status?XML=true";
print $url;
print "";

4.添加tomcat管理用户,账号tomcat,密码tomcatpass
vim /usr/local/tomcat7/conf/tomcat-users.xml
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcatpass" roles="manager-script,manager-gui"/>
</tomcat-users>

# perl /var/www/html/cacti/scripts/tomcatstats.pl 192.168.8.93:8888 'tomcat' 'tomcatpass' \"http-bio-8090\"
报错:
BEGIN failed--compilation aborted at /var/www/html/cacti/scripts/tomcatstats.pl line 7
解决办法:
perl -MCPAN -e"install XML::Simple"
测试,在cacti的主机上执行
perl /var/www/html/cacti/scripts/tomcatstats.pl RemoteIP:port tomcat yourpassword \"http-bio-8090\"
如果出现以下说明ok
http://tomcat:tomcatpass@192.168.8.93:8888/manager/status?XML=truejvm_memory_free:250541488 jvm_memory_max:859832320 jvm_memory_total:364380160 connector_max_time: connector_error_count: connector_bytes_sent: connector_processing_time: connector_request_count: connector_bytes_received: connector_current_thread_count: connector_min_spare_threads: connector_max_threads: connector_max_spare_threads: connector_current_threads_busy:
也可以通过浏览器访问测试:http://192.168.8.93:8888/manager/status?XML=true

5.进入cacti---> console (控制台)--> Data Input Methods(数据输入方法) ---> Tomcat Status-->Input String右侧输入框
而且tomcat的http-bio-8090的双引号在perl中要转义才能被解析,否则出现只有jvm相关数据,其他connector没有数据
点击监控项连接进去,看到RRDTool Says: ERROR: invalid y-grid format报错信息,
解决办法是:
进右上角的连接*Edit Graph Template --> Tomcat - Connection Rate --> Unit Grid Value (--unit/--y-grid),默认的值为1,去掉改成为0即可。
1.首先下载监控tomcat的模板 TomcatStats-0.1.zip
2.导入模板 (cacti_host_template_tomcat_server.xml)
进入cacti --> Console ---> Import Templates
3.将解压缩TomcatStats-0.1.zip 得到的tomcatstats.pl 放到cacti/scritps目录下,并授予执行权限
chown -R apache.apache tomcatstats.pl
修改tomcatstats.pl,大概第18行,将
my $xml = `GET $url`;
修改为
my $xml = my $xml = `wget -qO - --http-user=$username --http-password=$password $url`;
不然在你导入之后很可能出现数据出不来。
Check URL连接是否正确
Vim tomcatstats.pl 后,在第17行后面添加print $url,在控制台打出url,如下所示:
my $url = "http://$username:$password"."\@$host/manager/status?XML=true";
print $url;
print "";
4.添加tomcat管理用户,账号tomcat,密码tomcatpass
vim /usr/local/tomcat7/conf/tomcat-users.xml
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcatpass" roles="manager-script,manager-gui"/>
</tomcat-users>
# perl /var/www/html/cacti/scripts/tomcatstats.pl 192.168.8.93:8888 'tomcat' 'tomcatpass' \"http-bio-8090\"
报错:
BEGIN failed--compilation aborted at /var/www/html/cacti/scripts/tomcatstats.pl line 7
解决办法:
perl -MCPAN -e"install XML::Simple"
测试,在cacti的主机上执行
perl /var/www/html/cacti/scripts/tomcatstats.pl RemoteIP:port tomcat yourpassword \"http-bio-8090\"
如果出现以下说明ok
http://tomcat:tomcatpass@192.168.8.93:8888/manager/status?XML=truejvm_memory_free:250541488 jvm_memory_max:859832320 jvm_memory_total:364380160 connector_max_time: connector_error_count: connector_bytes_sent: connector_processing_time: connector_request_count: connector_bytes_received: connector_current_thread_count: connector_min_spare_threads: connector_max_threads: connector_max_spare_threads: connector_current_threads_busy:
也可以通过浏览器访问测试:http://192.168.8.93:8888/manager/status?XML=true
5.进入cacti---> console (控制台)--> Data Input Methods(数据输入方法) ---> Tomcat Status-->Input String右侧输入框
perl <path_cacti>/scripts/tomcatstats.pl <hostname>:8080 tomcat yourpassword \"http-bio-8090\"
而且tomcat的http-bio-8090的双引号在perl中要转义才能被解析,否则出现只有jvm相关数据,其他connector没有数据
点击监控项连接进去,看到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 值改空即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律