Cacti監控Tomcat伺服器實現過程
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個檔案。
2 在cacti主伺服器的網址上面匯入模板
開啟cacti伺服器的網址:
進入http://10.xx.1.xx/cacti/index.php->Console –> Templates -> Import Templates ,選擇檔案匯入(cacti_host_template_tomcat_server.xml)檔案,選擇Import按鈕載入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的統計資訊,如下所示:
4 修改cacti中tomcat獲取資料的url地址
進入cacti---> console ---> Data Input Methods --->Tomcat Status
修改Input String 中欄位
修改為:perl
注意:替換上面的username 和password 為實際的tomcat 管理員賬號和密碼。
要開啟tomcat 的manager 管理員賬號 附件內有Enable the Tomcat manager application 介紹,如下圖:
5 web端tomcat伺服器的配置調整
在tomcat/conf/server.xml 裡面新增如下:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
resourceName="UserDatabase"/>
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
directory="logs" prefix="admin_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"
fileDateFormat="yyy-MM-dd"/>
docBase="server/webapps/manager" debug="0"
privileged="true" reloadable="false" />
然後在tomcat/conf/tomcat-users.xml裡面 新增
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.
跟蹤後發現是連線池的配置問題:
把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吞吐量
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1178493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cacti+Nagios監控平臺完美整合iOS
- linux下cacti監控平臺的搭建Linux
- zabbix、cacti、nagios,伺服器監控還有更好的選擇嗎?iOS伺服器
- PIGOSS BSM 使用JMX實現中介軟體Tomcat監控GoTomcat
- TiDB監控實現--存活監控TiDB
- 視覺化監控搭建過程視覺化
- tomcat 監控工具probeTomcat
- IDEA使用Tomcat伺服器出現亂碼問題排查過程IdeaTomcat伺服器
- Cacti如何實現電話告警
- Ajax-伺服器端實現過程伺服器
- zabbix5.0監控安全配置全過程
- 09 . Prometheus監控tomcat+jvmPrometheusTomcatJVM
- java-jvisualvm遠端監控阿里雲伺服器上的TomcatJavaLVM阿里伺服器Tomcat
- Java監控神器之psi-probe監控Tomcat和應用JavaTomcat
- PIGOSS BSM 如何實現伺服器硬體狀態監控?Go伺服器
- iOS開發過程中 效能監控及優化iOS優化
- 最受歡迎的Java web應用伺服器之一——Tomcat監控選型及實踐JavaWeb伺服器Tomcat
- Linux上監控Tomcat Down掉後自動重啟TomcatLinuxTomcat
- promise實現過程Promise
- jvisualvm遠端監控Linux下的tomcatLVMLinuxTomcat
- beta版 tomcat 應用監控指標Tomcat指標
- Prometheus+Grafana實現服務效能監控:windows主機監控、Spring Boot監控、Spring Cloud Alibaba Seata監控PrometheusGrafanaWindowsSpring BootCloud
- Windows客戶端的JProfiler遠端監控Linux上的Tomcat伺服器Windows客戶端LinuxTomcat伺服器
- GO實現資料夾監控Go
- Java實現ZooKeeper的zNode監控Java
- OpenTelemetry 實戰:gRPC 監控的實現原理RPC
- DolphinScheduler整合Arthas實現介面呼叫監控,提升排程任務可靠性
- Spring AOP實現過程Spring
- Angular 如何通過 HTTP Interceptor 實現 HTTP 請求的超時監控AngularHTTP
- JS實現監控微信小程式JS微信小程式
- Java實現檔案監控器FileMonitorJava
- 乾貨:如何監控伺服器效能實踐篇伺服器
- 日誌監控實踐 - 監控Agent整合Lua引擎實現多維度日誌採集
- 手寫IOC實現過程
- 手寫AOP實現過程
- 換膚功能實現過程
- Docker容器的自動化監控實現Docker
- 如何實現MQ佇列訊息監控MQ佇列
- 10-SpringBoot 工程的健康監控實現Spring Boot