zabbix 服务端配置java
1 安装 Java gatewaymysql
找到zabbix 安装的目录,看你的目录下是否有zabbix_java这个目录,若是没有说明你zabbix编译的时候没有加--enable-javaweb
ls /usr/local/zabbix/sbin/zabbix_java //查看编译--enable-java,编译成功会有如下5个文件
bin lib settings.sh shutdown.sh startup.sh
[root@test1 zabbix_java]# pwd
/usr/local/zabbix/sbin/zabbix_javasql
2 配置Java gatewayapache
[root@test1 zabbix_java]# grep ^[^#] settings.sh //修改zabbix_java参数以下 9 LISTEN_IP="0.0.0.0" 17 LISTEN_PORT=10052 27 PID_FILE="/tmp/zabbix_java.pid" 35 START_POLLERS=5 ## 开启的工做线程数(必须大于等于后面zabbix_server.conf文件的StartJavaPollers参数)
vim /usr/local/zabbix/etc/zabbix_server.conf //修改zabbix_server配置文件 30 LogFile=/tmp/zabbix_server.log 78 DBName=zabbix 94 DBUser=zabbix 102 DBPassword=xxxxxx 109 DBSocket=/tmp/mysql.sock 198 JavaGateway=127.0.0.1 206 JavaGatewayPort=10052 214 StartJavaPollers=5
注意:这个参数StartJavaPollers=5 必定要小于settings.sh里面的START_POLLERS=5 这个,不然你的jmx一直是灰色的(之前作的时候没有注意这个,今天在作浪费了我一天的时间!)
重启zabbix_server
service zabbix_server restart
3 启动zabbix_java_Gateway //zabbix_java_Gateway侦听10052端口
sh /usr/local/zabbix/sbin/zabbix_java/startup.sh
[root@test1 etc]# netstat -antlp|grep 10052
vim
tcp 0 0 :::10052 :::* LISTEN 27929/java tomcat
zabbix客户端(tomcat)配置bash
首先安装tomcat 而且启动成功启动脚本在/bin/start.shssh
下载 这个软件 wget http://archive.apache.org/dist/t ... lina-jmx-remote.jar //下载tomcat对应的jmx版本放到$tomcat/lib/jvm
vim /usr/local/tomcat/bin/catalina.sh
更改两个配置文件
在/bin/bash下面添加这行
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=客户端IP(tomcat的ip)"
在该文件末尾添加一行:以下
vim /usr/local/tomcat/conf/server.xml <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8090" rmiServerPortPlatform="8090"/> ##(这个端口能够自定义,默认zabbix监听的端口是12345) </Host> </Engine> </Service> </Server>
其中的8090就是zabbix server端监控tomcat须要使用的端口。而后
重启tomcat和zabbix_agentd tomcat 启动和关闭能够在/bin目录下找到,start.sh 和shutdown.sh开启和关闭
启动完成以后经过ps命令和netstat命令查看是否正常的侦听了相应的端口,zabbix_agentd默认侦听10050端口,tomcat默认侦听8080端口,8090端口是开给jmx使用的,应该也是开启的,效果以下:
[root@test3 tomcat-8.0.26]# netstat -antlp|grep LISTEN tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 19592/./sbin/zabbix tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 836/sshd tcp6 0 0 ::1:25 :::* LISTEN 1503/master tcp6 0 0 :::8090 :::* LISTEN 21026/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 21026/java tcp6 0 0 :::8009 :::* LISTEN 21026/java tcp6 0 0 :::8080 :::* LISTEN 21026/java tcp6 0 0 :::40438 :::* LISTEN 21026/java tcp6
服务端操做:
这时候能够在zabbix_server端尝试获取tomcat的相关数据了。这时候须要使用到一个工具cmdline-jmxclient-0.10.3.jar(须要下载,而后放在服务端上面)用下面的这个命令,在zabix-server端执行以下命令:
java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.234.128:8090 java.lang:type=Memory NonHeapMemoryUsage 12/19/2015 03:17:04 +0800 org.archive.jmx.Client NonHeapMemoryUsage: committed: 25296896 init: 2555904 max: -1 used: 24194184
出现这个表明zabbix 已经获取到了相应的tomcat数据,剩下的配置在web页面配置了。
web端操做
倒入模板,添加主机,确认出图
1 添加主机
确认出图,其实有不少项,我只列出了一个
说明:上传的附件发现没法解压,因此我就上传到了51cto下载中心 http://down.51cto.com/data/2238034