文档章节

cacti 监控jvm mongodb

hua_zi
 hua_zi
发布于 2015/08/10 16:21
字数 749
阅读 67
收藏 0

一、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


© 著作权归作者所有

共有 人打赏支持
hua_zi

hua_zi

粉丝 2
博文 21
码字总数 7915
作品 0
杭州
私信 提问
Java MongoDB : Save image example

Java MongoDB : Save image example In this tutorial, we show you how to save an image file into MongoDB, via GridFS API. The GridFS APIs are able to serve other binary files as w......

引鸩怼孑
2015/05/22
0
0
Linux环境下将log4j的日志存储到mongoDB

单位有很多java项目,一般上生产的项目日志都是通过log4j打印在本地,平常开发同学要查看日志还要给他们开个专门的FTP,不利于集中维护管理,近日因工作需要,在网上看到相关技术资料,可把l...

基督山伯爵
2013/03/04
0
3
关于MongoDB-Javascript-Java三者配合数据处理疑问

众所周知MongoDB是天然支持Js的,那么我们在MongoDB中就可以写Js 函数处理一批数据,但目前我是在MongoDB命令台中直接执行Js,所以所得的结果也就存在内存变量中。现在我想让Java把这个内存数...

thankjava
2015/07/24
99
0
【直播回顾】阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库

主讲人:徐雷(阿里云栖特邀Java专家) 徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,J...

李博bluemind
03/06
0
0
MongoDB:拥有 RDBMS 特性的 NoSQL 数据存储

如果您正在探索 NoSQL 数据库的世界,则 MongoDB(有时被誉为 NoSQL RDBMS)应在您的清单上获得一个位置。了解所有有关 MongoDB 的自定义 API、交互式 shell、RDBMS 类型动态查询的支持、以及...

红薯
2010/12/14
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

js数组遍历和对象遍历

数组遍历 for for(var i=0,len=arr.length;i<len;i++){console.log(arr[i]);} forEach - ES5语法,性能比for弱,不能使用break终止循环,不能使用return arr.forEach(function(item,inde......

祖达
27分钟前
2
0
Java网络编程

基本概念 网络IO会涉及到同步,异步,阻塞,非阻塞等几个概念。 一个网络IO读取过程是数据从 网卡 到 内核缓冲区 到 用户内存 的过程。同步和异步区别在于数据从内核到用户内存的过程是否需要...

春哥大魔王的博客
49分钟前
2
0
Spring "reg:zookeeper" 的前缀 "reg" 未绑定等类似问题解决方案。

今天同事遇到一个Spring启动加载配置文件时,不识别reg:zookeeper标签的问题。 我查看配置,发现是Spring配置文件的头部没有引入reg标签的命名空间,具体如下图: 所以,以后遇到类似的标签未...

花漾年华
今天
2
0
阿里云领衔云市场

近期,2018年Q4及全年的全球云基础设施服务市场数据新鲜出炉,发布方是美国市场研究机构Synergy Research Group。这个机构是专做电信网络市场情报的公司,成立于1999年,每年都会公布各大公有...

linuxCool
今天
2
0
C++友元函数和友元类(C++ friend)详解

私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书...

shzwork
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部