cacti監控tomcat

環境:html

tomcat:apache-tomcat-7.0.35 apache

cactiEZ:10.1vim

系統:centos5.6_x64centos


1、配置tomcat服務器tomcat

一、添加帳號bash

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"/>

重啓tomcatjvm

二、安裝snmp協議ide

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

三、測試snmp

測試本機:snmpwalk -c public -v 2c localhost

測試遠程主機:snmpwalk  -V 2c -C public -H 192.168.1.133 -L

2、配置cactiEZ

安裝 XML::Simple模塊

安裝方法: (perl -MCPAN -e "install XML::Simple")

3、下載模板,導入模板

一、載監控tomcat的模板

TomcatStats-0.1.zip

二、修改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;否則在你導入以後極可能出現數據出不來。

四、導入模板(cacti_host_template_tomcat_server.xml)

進入cacti --< Console(控制檯) ---< Import Templates(導入模板)

五、上傳監控腳本

將tomcatstats.pl上傳放到cactiEZ服務器的/var/www/html/scripts目錄下。

4、測試腳本

#/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]#

一、若是提示:-bash: ./tomcatstats.pl: /usr/bin/perl^M: bad interpreter: No such file

編輯tomcatstats.pl,將首行改成:#!/usr/bin/perl -w (加上-w)

二、若是提示:File does not exist:  at ./tomcatstats.pl line 21(21行是:my $status = XMLin($xml);)

說明沒法獲得遠程tomcat服務器數據,檢查tomcat配置的用戶是否生效。

三、若是輸出只有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沒有數據。

5、配置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\"

相關文章
相關標籤/搜索