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