zabbix 使用JMX协议监控中间件.docx
1.1.使用JMX协议监控1.1.1.Jmx监控功能配置a) Zabbix server端配置文件Zabbix server端配置文件需要加上:JavaProxy=192.168.6.3 #Java Proxy 部署的主机地址JavaProxyPort=10052 #Java Proxy 部署的端口StartJavaPollers=5#接收的线程数量b) Tomcat配置文件修改 tomcat 的 catalina.sh 文件修改catalina.sh文件vim /home/bit/local/tomcat/bin/catalina.sh给JAVA_OPTS后面加上:JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9001 -Dcom.s un.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authen |_ticate=false"将JAVA_OPTS放在文件靠前位置。如果是通过startup.sh启动tomcat,则可以修改startup.sh。开启JMX功能。开启的方法很简单,启动虚拟机时增加参数,已启动tomcat为例,,在startup.sh 里增加:export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote” export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.por t=9001"#export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.au thenticate=true"#export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ss l=false"如果需要配置用户认证的话,则需要启动java程序的时候,加上-Dcom.sun.management.jmxremote.password.file="D:Javapassjmxremote.password"-Dcom.sun.management.jmxremote.access.file="D:Javapassjmxremote.access" 这两个文件来源:将 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64/jre/lib/management/jmxremote.password.template/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64/jre/lib/management/jmxremote.acces 复制%JAVA_HOME%jrelibmanagement 下的jmxremote.access jmxremote.password.template复制到指定文件夹,并将其中用户前的#去掉, jmxremote.password.template 重命名为jmxremote.password.1.1.2. Jconsole 检查配置通过JAVA自带的Jconsole可以查看下是否开启成功。需要在图形界面将启动jconsole PID pid 为 java 的 pid,ps elf I grep javajconsole的效果如下:悍钿信息棚世内再蛇程MBean时何:20L3-D&-31 11:07:20已使用:ID.TESKti分困:购3.9&4心最大值二 1. 3D3.4BB KMGC 叶问:P5 M.arKSweep (1 砌1 生Fi.OWlW 0 119 桂P5 5EV5K W的陋弟"所用衲即为0.133忡内存签MBean时|£范13 ;全即50匚4030mainReference Handler FinalizerSignal DispatcherRMI TCP Actept-0 RMI TCP ACC ept-9001 RMI TC P ACCept-0 GC DaemonTimer-0肉存寇程W MS MBesnpid: 231S3 org.apache.ca Laina.s Lzsrtup.Bootstrap start物煜闵律蜴理类 mi陂 MBean日VM 1W3£2C-13B31日昼般武上午Litt 0盼M泌* ST遂法客林:口imamL93 talina-EtaitupBoDtErrap start 中吸机:DpenlOK &4-at Server VM 苗木 23.7-bQl 虬痛两;Oracle- Cwpor-slian£毒二 23L93m¥i-M/i: ramen正岸逐mi间:6 mirutei姓理CPU Htffl: M,就秒JIT 笔禅嘉;MDtSpnt O4 Dit Tefed 匚Dnipiler案诗息时闻二1251 ft活劾练岳3蛎42己启幼的雄程息敛二51当篇龄己囊山G.334¥g人拖岫裁"球 己峰驻琛息载:0当前堰我:雄"116.62 Kb罐大小宙屐大偷:1.3BJ.奖日KUft rW; NAfns- 'P5- MartSwacip-, Colic-aiar - 1, Total dmc-呼小fyc H剑配呻玲433.9D4 Kb耆捶姑豆掠柞;0垃坂收弟嚣二服ec='PS 5:avtngc'.州5攻ion = 9. 了砒司liE千耳己m = 0 133 M揉fU蕾统、UnuDf 2 6 32-35B b.l el6 JfBfi_64命理内存忌it;5.SB4. D44- ICb侏蹄曲:2 iQ2B. HE- Kb死:理器的最目:El妙(空阊息Bl;16.FT7,2QO Kb角阐的盅心存二5加 1映Kb可脸损筌间:15.5-37.900 KbVM 林鞭:Djave will I叫5叩 conilQ rue-yapuTonicatMccnrnoflginq 0晚eojes Dcom.5un mdnaQerTnenTjniKrernoffi porr-SOOl -Deem n.manegemenc jraremwe. -ul-Fakf -Ck&M sun in AnAg±n*ie-nt jnixncn'iote- autherclcate-ralse -OJa-. A.Ltil logging.n-iaruer-or Apach± |Lili CI«LdAdcrLcc|M=irioger -OJa-Ha cndcirud drs-ZopVTamcatyendorMd -Dcat-alma.t as-Zoptiorncal:? C,utalna.hcme-ilaptHtirTKmtT -Pjaaioimpdr-joptcnicatT/Hrnp换爵性二 /opt/TnmcBt/bin/boctstrap jal叩UTomcBtTybirVtarncflt-jwi.jisr.座霸税,i!uSTi,jaaipiacKaQe1itMdrn06 i,Ljsri,iiD6i:* jllD&+jj!b iiJ5ri,iiD引骨卖痛控:言rnijae-l 7.0-Dpe-njdk-l 了25bJKK>uix«Jiar JwwJlih加了口 QpEidk lJ 0 25 M8&_WijreJhhM ibJus;崩WivhiJjw T L叩sjdk.'L 7 0.35 |:跖_&%'脚叫500咯aslun旧sjW浦ievjhvh L J O-openxlK-l 1 0.的戏RW/ireiUbds&e lar/uwlilxjvmy.iaMii-l 7 Q ependK-1 7 0 25 吊曲_6+.11时|"健 |ar /uXT|rlib-.mjjA-.a-l 7.0-apf njdk-l T.D 2Si 箕昉典日川舟 Eb/ch,任时 J 占罚占-】7 O-ptnjdk-1.7 0 25 kSfiSlre/lib/nctB: jar iTuxr/lib. rrijJ-i a-1 7.0-dpenJdk- L.J.D.2E-Jc9&_G4iljr%niblip4uQlnjar:i'uiljmiljal.7.Dopendk-1.7.0.Z5i.xB4i_64nnntli|lbilr1-trtD.|ar/u971lb/ijvni!l-3va-1.7.Qopen|dkl.7.Q25.xE_iEi4/irit,i|ib!>fr.|-3r: /usriih/ivrnijflM B-l 7.0-Dpe-njdk-l 7.0 25 射&6_&小2也3«三i-i- pid 23193 erg .apac he .c atalina.startL .Bootstrap start1.1.3. Zabbix 添加 JMX 接口a)添加ip地址和端口号Jin-windwB Lriu-: MTHnr«rri(d3iiia 件fiuri ITU£|->rliJ图1添加ip地址和端口图2关联tomcat JMX模板如果使用用户名和密码,需要添加macro图3JMX密码认证宏1.1.4. JMX 配置 FAQ做java测试,及有一定开发经验想提升自己程序的运行效率,一般会想到用jconsole工具通 过JMX来对java项目运行情况,如内存,类加载量等进行监控。该工具为java自带,要使用 它只需在启动配置中加一点参数即可。问题一如何启动jconsole修改”CATALINA_HOME%bin中 startup.bat 添加set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.authenticate=true - Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=7080 - Dcom.sun.management.jmxremote.password.file="D:Javapassjmxremote.password"-Dcom.sun.management.jmxremote.access.file="D:Javapassjmxremote.access”问题二配置用户和密码复 制 %JAVA_HOME%jrelibmanagement 下的 jmxremote.access jmxremote.password.template 复制到指定文件夹,并将其中用户前的#去掉,jmxremote.password.template重命名为 jmxremote.password问题三 启动出现 错误:必须限制口令文件读取访问jmxremote.password权限设为只读,假设你的登录用户为:Administrator执行如下命令:Java 代码 C:apache-activemq-5.5.0bin>cacls ./conf/jmx.password /P Administrators:RC:apache-activemq-5.5.0bin>cacls ./conf/jmx.access /P Administrators:R问题四利用startup.bat启动看不到错误在命令行模式下,运行catalina run。可将问题一中设置的移动到catalina.bat中问题五tomcat服务自动启动时,如何设置参数参数设置在注册表中 HKEY_LOCAL_MACHINE - SOFTWARE - APACHE SOFTWARE FOUNDATION - PROCRUN 2.0 - TOMCAT6 - PARAMETERS -JA VA -Options (添加启 动参数),jvmms,jvmmx分别用设置内存上下限。问题六tomcat设置参数后,当使用用户验证时服务启动不了,报10 67错误。这是因为服务以系统权限运行,运行services.msc,在apache tomcat服务名上右键属性选择 登陆,选择使用此账户和密码,确定后启动