cacti 监控jvm mongodb

一、cacti监控jvm 

   安装前提得有jdk环境

安装jdk,可以使用.bin、压缩包等

    1、上传jdk.bin  或从其他服务器上拷贝java目录到/usr/local目录下,执行第五步之后即可

    2、赋权chmod +x jdk.bin

    3、./jdk.bin

    4、cp jdk-xxx /usr/local/java

   5、vi /etc/profile

        添加如下

        JAVA_HOME=/usr/local/java

       CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

        PATH=$JAVA_HOME/bin:$PATH

        export JAVA_HOME CLASS_PATH PATH

     6、#source /etc/profile   是修改立即生效


1、 配置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

}

}

2、设置被监控的主机监听端口

# 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地址

3、设置配置文件的权限,及其所属主,须只能为启用JVM的用户只读,否则不能工

#chmod  600 management.porperties  snmp.acl

#chown  tomcat  management.porperties  snmp.acl

4、修改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"

5、下载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

二、 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地址

三、监控mongodb 不采用密钥方式

参考地址 http://hi.baidu.com/dekar/item/357ed8f2acdd887e3c198b3a

1、下载模板

wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

2、将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]"; 

3、测试

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


你可能感兴趣的:(cacti 监控jvm mongodb)