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監控一臺Web伺服器上多個Tomcat埠的實現Web伺服器Tomcat
- Cacti監控MySQL實現過程中碰到的問題解彙總MySql
- cacti監控windows伺服器Windows伺服器
- 搭建Cacti監控
- cacti監控mysqlMySql
- cacti監控lighttpdhttpd
- cacti監控tcpconnectionTCP
- cacti批量新增監控
- 使用 SNMP 和 Cacti 監控 Linux 伺服器Linux伺服器
- Cacti0.8.8a監控mysqlMySql
- Cacti 監控 AIX 系統AI
- Android 鍵盤監控的實現原理及過程Android
- Cacti安裝磁碟IO監控
- cacti自定義監控指令碼指令碼
- cacti監控(2)正式安裝rrdtoolcacti
- 配置CACTI監控MySQL資料庫狀態(4)配置cactiMySql資料庫
- cacti監控(1)基礎安裝apachemysqlphpApacheMySqlPHP
- Centos使用Cacti監控你的網路CentOS
- zabbix、cacti、nagios,伺服器監控還有更好的選擇嗎?iOS伺服器
- TiDB監控實現--存活監控TiDB
- 轉載 使用Cacti監控你的網路(二)- Cacti的安裝
- linux通過cacti監控apache通過飛信郵件進行報警LinuxApache
- 配置CACTI監控MySQL資料庫狀態(5)增加MySQL監控模板MySql資料庫
- PIGOSS BSM 使用JMX實現中介軟體Tomcat監控GoTomcat
- Cacti+Nagios監控平臺完美整合iOS
- linux下cacti監控平臺的搭建Linux
- tomcat 監控工具probeTomcat
- Ajax-伺服器端實現過程伺服器
- Nagios+Cacti監控平臺完美整合部署iOS
- 實時監控儲存過程中應用的日誌資訊儲存過程
- jvisualvm監控tomcatLVMTomcat
- Windows下安裝Cacti流量與系統資訊監控Windows
- Linux下常用監控cacti的安裝和配置Linux
- ORACLE監控系統錯誤日誌過程Oracle
- 伺服器監控之 ping 監控伺服器
- IDEA使用Tomcat伺服器出現亂碼問題排查過程IdeaTomcat伺服器
- 透過itm UA實現的Tuxedo監控資訊說明UX
- 程式模擬tomcat伺服器執行過程Tomcat伺服器