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

相关文章
相关标签/搜索