cacti 監控jvm mongodb

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

相關文章
相關標籤/搜索