先决条件:
《Zabbix Servers 3.4 源代码编译安装》
《Linux Apache Tomcat 8.5 安装与配置》
如果完成了以上安装的部署,继续下一步。
Zabbix服务器端配置:
1.配置 zabbix_server.conf
主要参数:
... #JavaGateway服务器地址,zabbix-server与zabbix_java_gateway在同台服务器。 JavaGateway=10.10.204.62 JavaGatewayPort=10052 #设置javaGateway抓取数据的进程数,当设置为0时表示不具有抓取java信息的能力。 StartJavaPollers=5 ...在Zabbix Servers安装过程中,以上参数我已经配置完成。
2.配置 Zabbix Java gateway
修改完成后的内容如下:
$ egrep -v '^#|^$' /usr/local/zabbix/sbin/zabbix_java/settings.sh #Zabbix Servers IP LISTEN_IP="0.0.0.0" #Port LISTEN_PORT=10052 #PID_FILE路径必须正确。 PID_FILE="/usr/local/zabbix/sbin/zabbix_java/zabbix_java.pid" #START_POLLERS项是配置启动的进出数,若不配置 zabbix_java 依旧可以启动但无法抓取数据。 START_POLLERS=5 #网络超时时间。 TIMEOUT=3
3.启动 zabbix_java
$ /usr/local/zabbix/sbin/zabbix_java/startup.sh启动后可通过 ss -ntlp 查看 10052 端口是否运行。
Zabbix Agent Tomcat 客户端配置:
1.在 catalina.sh文件 Execute The Requested Command 上行或最上面添加以下内容:
$ vim /usr/local/tomcat/bin/catalina.shexport CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.10.204.65"
含义说明:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote #启用JMX远程监控。 -Dcom.sun.management.jmxremote.ssl=false #是否使用SSL。 -Dcom.sun.management.jmxremote.authenticate=false #是否开启认证。 -Djava.rmi.server.hostname=10.10.204.65" #Tomcat所在服务器IP。
2.修改Tomcat server.xml 配置文件
在 <Server port=”8005″ shutdown=”SHUTDOWN”> 换行添加以下内容:
$ vim /usr/local/tomcat/conf/server.xml<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10053" rmiServerPortPlatform="10053"/>
3.重启 Tomcat 服务
$ systemctl restart tomcat
4.设置 Firewalld
$ firewall-cmd --zone=public --add-port=10053/tcp --permanent $ firewall-cmd --reload
5.在 Zabbix server 检测数据
在zabbix 服务端使用 cmdline-jmxclient-0.10.3.jar 检测是否可以抓取数据
$ java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.10.204.65:10053 java.lang:type=Memory NonHeapMemoryUsage 09/15/2017 19:06:49 +0800 org.archive.jmx.Client NonHeapMemoryUsage: committed: 33406976 init: 2555904 max: -1 used: 32079720成功获取数据。
之后在zabbix web界面添加主机并链接模板即可。
Template App Apache Tomcat JMX
Template App Generic Java JMX
以上两个模板是系统默认的,添加即可,其中有一些参数不通用,需要手动修改。
大神,我在监控tomcat的时候遇到一个问题,我开了一台虚拟机,上面安装了zabbix服务器端,然后参数都配置好了,去公司服务器上开启远程jmx监控,参数也都配置完成了,到了用java -jar /tmp/cmdline-jmxclient-0.10.3.jar – 116.62.62.79:12345 java.lang:type=Memory NonHeapMemoryUsage测试的时候,总是报错拒绝连接,报错如下
Exception in thread “main” java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 116.62.62.79; nested exception is:
java.net.ConnectException: 拒绝连接 (Connection refused)]
请问,这个是什么原因呢?
java -jar cmdline-jmxclient-0.10.3.jar – 116.62.62.79:12345 java.lang:type=Memory NonHeapMemoryUsage
Exception in thread “main” java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 116.62.62.79; nested exception is:
java.net.ConnectException: 拒绝连接 (Connection refused)]
请问这个是什么原因?该如何解决?
我zabbix 3.4,tomcat 8的,使用默认的模板,不支持 是什么情况
[root@Server backup]# /usr/local/zabbix/bin/zabbix_get -s 10.163.254.120 -p 10050 -k jmx[“Catalina:type=GlobalRequestProcessor,name=http-8080”,bytesReceived]
ZBX_NOTSUPPORTED: Unsupported item key.
都不支持,还是只支持一部分。
找不到用于监控项 key”jmx[“java.lang:type=ClassLoading”,LoadedClassCount]” 的主机接口.
添加 template jmx generic,template jmx tomcat
都是报这种找不到接口的,是什么问题的
你可以看下服务端和客户端端口10050是否通信,另外最好检查下Agent端和服务端的日志情况,这样有助于你快速解决此问题。
大神,能做一个graylog2的详解么?
最近我会把graylog2的安装配置使用写出来,随时关注哦