42121 发表于 2015-11-2 10:55:41

Zabbix通过JMX监控tomcat

1)zabbix的版本为2.4
编译zabbix的时候需要添加参数 --enable-java


2)服务器端配置

2.1确认已经安装JDK
# 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 10004096 Oct 28 01:06 bin
drwxr-xr-x 4 root root4096 Oct 28 01:06 class
drwxr-xr-x 2 1000 10004096 Aug 10 16:56 lib
-rw-r--r-- 1 root root 15802 Oct 28 01:05 Makefile
-rw-r--r-- 1 1000 10001310 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 10004096 Aug 10 16:56 src
-rwxr-xr-x 1 1000 10002025 Aug 10 16:56 startup.sh
该文件默认全部注释的,启用下面几项即可
# 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 root788 Oct 30 15:00 settings.sh
-rwxr-xr-x 1 root root554 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
wgethttp://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


页: [1]
查看完整版本: Zabbix通过JMX监控tomcat