您好,登錄后才能下訂單哦!
環境:
tomcat:apache-tomcat-7.0.35
cactiEZ:10.1
系統:centos5.6_x64
一、配置tomcat服務器
1、添加賬號
vim tomcat-users.xml
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="123" roles="manager-script,manager-jmx,manager-status"/>
重啟tomcat
2、安裝snmp協議
yum -y install net-snmp
vim /etc/snmp/snmpd.conf
com2sec notConfigUser default public
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
view all included .1 80
access notConfigGroup "" any noauth exact all none none
/etc/rc.d/init.d/snmpd restart
3、測試snmp
測試本機:snmpwalk -c public -v 2c localhost
測試遠程主機:snmpwalk -V 2c -C public -H 192.168.1.133 -L
二、配置cactiEZ
安裝 XML::Simple模塊
安裝方法: (perl -MCPAN -e "install XML::Simple")
三、下載模板,導入模板
1、載監控tomcat的模板
TomcatStats-0.1.zip
2、修改tomcatstats.pl,將
my $url = "http://$username:$password"."\@$host/manager/status?XML=true"; my $xml = `GET $url`;
替換以下兩行為:
my $url = "http://$host/manager/status?XML=true"; my $xml = `wget -qO - --http-user=$username --http-password=$password $url`;
說明:此處的-qO中的O為大寫字母歐O;不然在你導入之后很可能出現數據出不來。
4、導入模板(cacti_host_template_tomcat_server.xml)
進入cacti --< Console(控制臺) ---< Import Templates(導入模板)
5、上傳監控腳本
將tomcatstats.pl上傳放到cactiEZ服務器的/var/www/html/scripts目錄下。
四、測試腳本
#/usr/bin/perl tomcatstats.pl 192.168.1.201:8080 admin 123 \"http-bio-8080\"
jvm_memory_free:9029383656 jvm_memory_max:9963962368 jvm_memory_total:9963962368 connector_max_time:75 connector_error_count:4 connector_bytes_sent:14896 connector_processing_time:104 connector_request_count:7 connector_bytes_received:0 connector_current_thread_count:11 connector_max_threads:1000 connector_current_threads_busy:1 [root@CactiEZ scripts]#
1、如果提示:-bash: ./tomcatstats.pl: /usr/bin/perl^M: bad interpreter: No such file
編輯tomcatstats.pl,將首行改為:#!/usr/bin/perl -w (加上-w)
2、如果提示:File does not exist: at ./tomcatstats.pl line 21(21行是:my $status = XMLin($xml);)
說明無法得到遠程tomcat服務器數據,檢查tomcat配置的用戶是否生效。
3、如果輸出只有jvm數據,如:
jvm_memory_free:9441488 jvm_memory_max:85196800 jvm_memory_total:23777280 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: [root@CactiEZ scripts]
則要注意測試命令和tomcat版本。
網上朋友解釋為:
Tomcat7的默認的http的connector名稱為http-bio-8090,tomcat6的是http-8080,而且tomcat的http-bio-8090的雙引號在perl中要轉義才能被解析,否則出現只有jvm相關數據,其他connector沒有數據。
五、配置cactiEZ
進入cacti---< console (控制臺)--< Data Input Methods(數據輸入方法) ---< Tomcat Status
修改Input String(輸入字符串)
perl <path_cacti>/scripts/tomcatstats.pl <hostname>:8444 admin passwords http-8080
修改為:
perl <path_cacti>/scripts/tomcatstats.pl <hostname>:8080 admin 123 \"http-bio-8080\"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。