3.修改xxx.sh

加入

export JAVA_OPTS=”-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.203.12.64″

找到nohup java xxx 然后改为

nohup java ${JAVA_OPTS} 

4.重启服务

sh xxx stop

ps -ef | grep java

kill -9 (jps | grep -i “IdeProvider” | awk ‘NR==1{print $1}’)

sh xxx start

5.安装并启动open-falcon agent(从安装的server拷贝agent过来,然后启动服务,xxx server也要装agent)

#新建目录:mkdir -p /app/open-falcon

#上传到服务器并解压

tar xvf agent.tar.gz

#修改/app/open-falcon/agent/conf/cfg.json

heartbeat模块和transfer模块下的ip地址,将127.0.0.1:6030和127.0.0.1:8433两个地址中的127.0.0.1

改成open-falcon的server的IP地址xxxxxx就可以了,端口不需要改。

#启动服务

nohup /app/open-falcon/agent/bin/falcon-agent -c /app/open-falcon/agent/config/cfg.json &

开启服务后,机器会开启1988端口,有防火墙的可以添加防火墙规则,增加1988端口。

#检查下进程和端口

netstat -antp | grep 1988

ps -ef | grep -i “falcon”

6.jmxmon部署

#cd /app/open-falcon上传jmxmon包

#解压:tar xvf jmxmon-v0.0.2.tar

#cp conf.example.properties conf.properties

#修改配置jmxmon-v0.0.2/conf.properties

# 需要监听的本地jmx端口,支持监听多个端口,多端口用逗号分隔

jmx.ports=8999

# 本地agent的上报url,如果使用open-falcon的默认配置,则这里不需要改变

agent.posturl=http://localhost:1988/v1/push

#启动服务

sh control start

sh control tail查看日志,或者cat var/app.log以确认程序是否正常启动

7.falcon-server验证http://xxxx:9090/ xxx/xxx  搜索主机名

####################################################################################################

参考:http://book.open-falcon.com/zh_0_2/usage/jmx.html

https://github.com/toomanyopenfiles/jmxmon/blob/master/README.md

jmxmon 简介

jmxmon是一个基于open-falcon的jmx监控插件,通过这个插件,结合open-falcon agent,

可以采集任何开启了JMX服务端口的java进程的服务状态,并将采集信息自动上报给open-falcon服务端

主要功能

通过jmx采集java进程的jvm信息,包括gc耗时、gc次数、gc吞吐、老年代使用率、新生代晋升大小、活跃线程数等信息。

对应用程序代码无侵入,几乎不占用系统资源。

采集指标

CountersTypeNotes

parnew.gc.avg.timeGAUGE一分钟内,每次YoungGC(parnew)的平均耗时

concurrentmarksweep.gc.avg.timeGAUGE一分钟内,每次CMSGC的平均耗时

parnew.gc.countGAUGE一分钟内,YoungGC(parnew)的总次数

concurrentmarksweep.gc.countGAUGE一分钟内,CMSGC的总次数

gc.throughputGAUGEGC的总吞吐率(应用运行时间/进程总运行时间)

new.gen.promotionGAUGE一分钟内,新生代的内存晋升总大小

new.gen.avg.promotionGAUGE一分钟内,平均每次YoungGC的新生代内存晋升大小

old.gen.mem.usedGAUGE老年代的内存使用量

old.gen.mem.ratioGAUGE老年代的内存使用率

thread.active.countGAUGE当前活跃线程数

thread.peak.countGAUGE峰值线程数

建议设置监控告警项

不同应用根据其特点,可以灵活调整触发条件及触发阈值

告警项触发条件备注

gc.throughputall(#3)<98gc吞吐率低于98%,影响性能

old.gen.mem.ratioall(#3)>90老年代内存使用率高于90%,需要调优

thread.active.countall(#3)>500线程数过多,影响性能

发表回复

后才能评论