1、cacti監控jvm php
安裝前提得有jdk環境html
安裝jdk,可使用.bin、壓縮包等java
一、上傳jdk.bin 或從其餘服務器上拷貝java目錄到/usr/local目錄下,執行第五步以後便可mysql
二、賦權chmod +x jdk.binweb
三、./jdk.binsql
四、cp jdk-xxx /usr/local/javamongodb
五、vi /etc/profilevim
添加以下windows
JAVA_HOME=/usr/local/javatomcat
CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASS_PATH PATH
六、#source /etc/profile 是修改當即生效
一、 配置JVM其容許經過snmp 訪問權限
/usr/local/java/jre/lib/management/
配置snmp.acl文件,直接拷貝在snmp.acl.template
#cp snmp.acl.template snmp.acl
修改以下
#vim snmp.acl
acl = {
{
communities = public, private
access = read-only
managers = 192.168.2.194 注: 該IP 爲cacti 服務器的IP地址
}
}
trap = {
{
trap-community = public
hosts = 192.168.2.194
}
}
二、設置被監控的主機監聽端口
# vim management.properties management.properties.bak
從新創建文件management.properties,並添加一下內容
#vim management.properties
com.sun.management.snmp.port=1161 # 監聽的端口,便是snmp的代理端口
com.sun.management.snmp.interface=192.168.2.153 #綁定的IP地址
三、設置配置文件的權限,及其所屬主,須只能爲啓用JVM的用戶只讀,不然不能工
#chmod 600 management.porperties snmp.acl
#chown tomcat management.porperties snmp.acl
四、修改JVM 的啓動參數,如tomcat、jboss或以jar包爲基礎的程序
#vim /etc/rc.d/init.d/tomcat
CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs -Dcom.sun.management.snmp.port=1161"
五、下載jvm監控模塊並導入cacti中
http://forums.cacti.net/about19761.html
6, cacti 裏添加選擇jvm-host 模板協議選擇 snmp 2 graph templates: (這幾個參數如今也不清楚幹嗎用的)
1) JVM GC Stats
2) JVM Heap Usage
3) JVM Non-Heap Usage Script
4) JVM Thread Count Scripts
2、 windows下經過java自帶工具jvisualvm 或jconsole 監控java程序。
在java程序啓動腳本中加入以下幾個參數,在jvisualvm輸入須要鏈接服務器ip端口便可
-Djava.rmi.server.hostname=112.xx.dd.xx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
若是有在客戶端沒法鏈接,查看防火牆端口是否開放,多個端口,經過 查看啓動的java程序使用的端口。
-Dcom.sun.management.jmxremote.port 遠程主機端口號的
-Dcom.sun.management.jmxremote.ssl=false 是否使用SSL鏈接
-Dcom.sun.management.jmxremote.authenticate=false 是否開啓遠程服務權限
-Djava.rmi.server.hostname 遠程主機名,使用IP地址
3、監控mongodb 不採用密鑰方式
參考地址 http://hi.baidu.com/dekar/item/357ed8f2acdd887e3c198b3a
一、下載模板
wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
二、將ss_get_by_ssh.php copy到cacti/scripts下
修改
function mongodb_cmdline ( $options ) {
return "echo "db._adminCommand({serverStatus:1, repl:2})" |mongo";
}
爲
function mongodb_cmdline ( $options ) {
return "echo "db._adminCommand({serverStatus:1, repl:2})" | /root/mongodb/bin/mongo";
}
找到此函數get_command_result
更改
$final_cmd = $use_ssh ? "$ssh '$cmd'" : $cmd;
爲
$final_cmd = "$cmd $options[host]";
三、測試
php /var/www/html/cacti/scripts/ss_get_by_ssh.php --type mongodb --host 127.0.0.1 --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du
返回以下基本正常
de:570425344 df:1475346432 dg:6311520 dh:6311520 di:0 dj:0 dk:8993 dl:152949 dm:17 dn:4 do:243935 dp:139144 dq:2528846 dr:60 ds:1991 dt:22060 du:-1
php /var/www/html/cacti/scripts/ss_get_by_ssh.php --type mongodb --host 192.168.16.150 --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt
de:570425344 df:1475346432 dg:6311520 dh:6311520 di:0 dj:0 dk:8993 dl:152949 dm:17 dn:4 do:243935 dp:139144 dq:2528846 dr:60 ds:1991 dt:22060