Zabbix经过JMX监控tomcat

Zabbix监控tomcat方案php



1)zabbix的版本为2.4html

  编译zabbix的时候须要添加参数 --enable-java
java


2)服务器端配置mysql

 

 2.1确认已经安装JDKsql

 [root@mq01 zabbix]# java -version数据库

 java version "1.7.0_79"apache

 Java(TM) SE Runtime Environment (build 1.7.0_79-b15)vim

 Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)tomcat


 2.2 安装zabbix-java-gateway 服务器

 软件包在zabbix自带的有,目前暂时只支持从zabbix软件包中得到。

 若是原来已经安装zabbix,只须要再添加如下zabbix-java

 # ./configure --enable-java --prefix=/opt/zabbix_java

 # make && make install

 

 2.3修改Java-gateway的配置文件 

 进入到下面的目录下面进行seeting.sh脚本编辑

 #find / -name zabbix_java

 /usr/sbin/zabbix_java

 /usr/src/zabbix-2.4.6/src/zabbix_java

 cd /usr/src/zabbix-2.4.6/src/zabbix_java/

 #ll

 total 64

 drwxr-xr-x 2 1000 1000  4096 Oct 28 01:06 bin

 drwxr-xr-x 4 root root  4096 Oct 28 01:06 class

 drwxr-xr-x 2 1000 1000  4096 Aug 10 16:56 lib

 -rw-r--r-- 1 root root 15802 Oct 28 01:05 Makefile

 -rw-r--r-- 1 1000 1000  1310 Aug 10 16:56 Makefile.am

 -rw-r--r-- 1 1000 1000 14949 Aug 10 16:57 Makefile.in

 -rw-r--r-- 1 1000 1000   788 Oct 30 09:51 settings.sh

 -rwxr-xr-x 1 1000 1000   554 Aug 10 16:56 shutdown.sh

 drwxr-xr-x 3 1000 1000  4096 Aug 10 16:56 src

 -rwxr-xr-x 1 1000 1000  2025 Aug 10 16:56 startup.sh

 该文件默认所有注释的,启用下面几项便可

 [root@mq01 zabbix_java]# sed -e '/^#/d;/^$/d' settings.sh 

 LISTEN_IP="0.0.0.0"

 LISTEN_PORT=10052

 PID_FILE="/tmp/zabbix_java.pid"

 START_POLLERS=5


 2.4修改zabbix_server文件

 启用其中的几项

 sed -e '/^#/d;/^$/d' /etc/zabbix/zabbix_server.conf

 LogFile=/tmp/zabbix_server.log

 DBHost=localhost

 DBName=zabbix

 DBUser=zabbix

 DBPassword=zabbix

 DBSocket=/var/lib/mysql/mysql.sock

 DBPort=3306

 JavaGateway=192.168.18.132

 JavaGatewayPort=10052

 StartJavaPollers=5


 2.5启动zabbix_java

 找到zabbix_java目录路径,而后执行命令./startup.sh

 #find / -name zabbix_java

  /usr/sbin/zabbix_java

  /usr/src/zabbix-2.4.6/src/zabbix_java

 #ll

 total 20

 drwxr-xr-x 2 root root 4096 Oct 28 01:07 bin

 drwxr-xr-x 2 root root 4096 Oct 28 01:07 lib

 -rw-r--r-- 1 root root  788 Oct 30 15:00 settings.sh

 -rwxr-xr-x 1 root root  554 Oct 28 01:07 shutdown.sh

 -rwxr-xr-x 1 root root 2025 Oct 28 01:07 startup.sh

 #netstat -tunlp | grep 10052

 tcp        0      0 :::10052           :::*             LISTEN      2015/java           


2.6重启zabbix_server


3)tomcat端,安装catalina-jmx-remote.jar

 wget  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/extras/catalina-jmx-  remote.jar

 将下载好的文件存放到tomcat子目录目录lib录下

 mv catalina-jmx-remote.jar /opt/tomcat/lib/


4) 修改catalina.sh文件

 修改vim /opt/tomcat/bin/catalina.sh文件

 找到------Execute The Requested Command-----添加

 [ $1 != "stop" ] && JAVA_OPTS="-Dcom.sun.management.jmxremote -  Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -  Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.18.127  $JAVA_OPTS"

 export JAVA_OPTS


5) 重启启动tomcat服务和zabbix_agentd服务

6) 服务器端测试是否能正常获取信息

  java -jar /usr/src/cmdline-jmxclient-0.10.3.jar - 192.168.18.127:9008        java.lang:type=Memory NonHeapMemoryUsage

  10/30/2015 06:02:34 -0400 org.archive.jmx.Client NonHeapMemoryUsage: 

 committed: 30212096

 init: 2555904

 max: -1

 used: 29110528


7)添加模板便可


8)模板及相关软件见附档。


乱码问题

zabbix乱码是怎么照成的呢?zabbix使用DejaVuSan.ttf字体,不支持中文,致使中文出现乱码。解决方法很简单,把咱们电脑里面字体文件传到zabbix服务器上。

1. 乱码以下图

 

2. 解决zabbix乱码方法

2.1 上传文件到zabbix中

找到本地C:\Windows\Fonts\simkai.ttf(楷体)上传到服务器zabbix网站目录fonts目录下。

 

2.2 修改zabbix php配置文件

cd /var/www/html/zabbix     个人zabbix安装路径

3.查看zabbix乱码处理结果

 


4. 常见问题

依旧乱码:经过以上的操做,大部分同窗的乱码问题解决了,可是依旧有一些同窗仍是乱码?细心的群友提供另一种状况:初始化数据库的时候未使用utf8编码所致.初始化数据库使用命令


create database zabbix default charset utf8;

或者my.cnf增长以下配置

default-character-set = utf8