Zabbix监控tomcat方案



1)zabbix的版本为2.4

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


2)服务器端配置

 

 2.1确认已经安装JDK

 [root@mq01 zabbix]# java -version

 java version "1.7.0_79"

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

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


 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