图片 3

因为如果tomcat开启远程JMX存在安全隐患

ZABBIX2.4中JMX监察和控制误报【百分之八十 os Process CPU Load on xxx】的消除

ZABBIX2.4版,使用Template JMX Generic模板,常常误报【十分之七 os Process CPU
Load on xxx】。
实在cpu使用率极低。

原因是模板有bug,触发器配置为
{Template JMX
Generic:jmx[“java.lang:type=OperatingSystem”,ProcessCpuLoad].last(0)}>0.7
而实在item中ProcessCpuLoad是比例(已经乘了100的)。

之所以修改为
{Template JMX
Generic:jmx[“java.lang:type=OperatingSystem”,ProcessCpuLoad].last(0)}>70
即可。

官网络记下了这么些bug。

os Process CPU Load
on xxx】的解决 ZABBIX2.4版,使用Template JMX Generic模板,平日误报【七成os Process CPU Load on xxx】。 实际上…

1.1 Zabbix-java-gateway安装

JMX监控原理图:

图片 1tomcat监控原理图

  • 设置zabbix-java-gateway如若是设置在zabbix-server服务器上面,能够在编写翻译时候,扩大–enable-java,安装以后会在装置文书档案下的sbin下开采zabbix-java-gateway运转文件和安插文件。./configure --prefix=/usr/local/zabbix-3.0.3/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
  • Yum安装

配置yum源:rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm[root@localhost ~]# yum list |grep zabbix-javazabbix-java-gateway.x86_64 3.0.14-1.el6 zabbix [root@localhost ~]# yum install -y zabbix-java-gateway[root@localhost ~]# service zabbix-java-gateway startStarting zabbix java gateway: [确定]

极其表达:在八个监督种类独有三个zabbix-java-gateway,能够布置在zabbix-sever端也得以配备在其余机器上,须要和zabbix-server互联网可达。因为只要tomcat开启远程JMX存在安全隐患,因而在全外网情形下不建议直接张开。

1.2配置文件(zabbix_server.conf和zabbix_java_gateway.conf)

  • 配置zabbix_java_gateway.cnf:

# This is a configuration file for Zabbix Java Gateway.# It is sourced by startup.sh and shutdown.sh scripts.### Option: zabbix.listenIP# IP address to listen on.## Mandatory: no# Default:LISTEN_IP="0.0.0.0"(本机ip地址,如果和server安装在相同的位置可以不修改)### Option: zabbix.listenPort# Port to listen on.## Mandatory: no# Range: 1024-32767# Default:LISTEN_PORT=10052(端口可以修改为其他,在server段需要相同的配置)### Option: zabbix.pidFile# Name of PID file.# If omitted, Zabbix Java Gateway is started as a console application.## Mandatory: no# Default:# PID_FILE=PID_FILE="/var/run/zabbix/zabbix_java.pid"### Option: zabbix.startPollers# Number of worker threads to start.## Mandatory: no# Range: 1-1000# Default:START_POLLERS=5(设置启动多个线程,这里和server段相同)### Option: zabbix.timeout# How long to wait for network operations.## Mandatory: no# Range: 1-30# Default:# TIMEOUT=3TIMEOUT=3
  • 配置zabbix_server.conf:

### Option: JavaGateway(找到这里配置以下三个参数)# IP address (or hostname) of Zabbix Java gateway.# Only required if Java pollers are started.# Mandatory: no# Default:JavaGateway=192.168.199.63 #如果是本机安装直接使用127.0.0.1### Option: JavaGatewayPort# Port that Zabbix Java gateway listens on.# Mandatory: no# Range: 1024-32767# Default:JavaGatewayPort=10052 #端口号和javagateway要对应### Option: StartJavaPollers# Number of pre-forked instances of Java pollers.## Mandatory: no# Range: 0-1000# Default:StartJavaPollers=5 #线程数和客户端配置对应 不能少于客户端数目

2.1 Tomcat配置

开启JMX:在Tomcat path/bin/catalina.sh增加如下内容:CATALINA_OPTS="-Dcom.sun.management.jmxremote #-Dcom.sun.management.jmxremote.authenticate=false #-Dcom.sun.management.jmxremote.ssl=false #-Dcom.sun.management.jmxremote.port=12345 #-Djava.rmi.server.hostname=192.168.199.35" #(开启主机名这里直接使用ip地址)

极度表明:

  1. 假定是内网监察和控制并且主机未有张开防火墙上述设置没有毛病开启后也得以符合规律访谈。Jconsole或许jvisualvm连接测量试验下。(那多个java远程测量检验工具前面还大概会用到)

    图片 2JMX监控

  2. 假诺是亟需敞开本机防火墙也许供给经过防火墙设备连接外网,那一个装置就无法满意需求。或报jmx:rmi不能够连接的谬误。经过查询发现因为展开JMX会自由生成八个端口,jmx:rmi连接要求选拔到另外七个端口,因为是不管三七二十一每趟运营都会变动进而不能够设置防火墙。化解方案1:(只好化解本机防火墙开启的主题素材)在汤姆cat官方下载:JMX
    Remote jar
    。在找到相应版本,放到汤姆cat文件夹下的lib目录下。图片 3下载

去掉-Dcom.sun.management.jmxremote.port=12345 #这行。在server.xml中增加如下内容:<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346" />设置两个端口号,并且设置好防火墙。在远程连接正常啦。如果使用的是云主机,并且是1对1绑定外网ip地址,如下ip需要设置为外网的地址。-Djava.rmi.server.hostname=外网ip"

只是如若选取的是防火墙设备和内网服务器,无法直接行使外网ip监控

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章