前言

在Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数据

安装tomcat

准备

关闭防火墙和selinux

[root@proxy ~]# systemctl stop firewalld && setenforce 

第一步:首先需要准备下面的两个包,可在网上下载

第二步:上传至linux,移动到/usr/local下面并解压

[root@proxy ~]# rz
z waiting to receive.**B0100000023be50
[root@proxy ~]# ls
anaconda-ks.cfg create.sql jdk-linux-x64.tar.gz original-ks.cfg test.sh
apache-tomcat-7.0..tar.gz create.sql.gz ks-pre.log schema.sql zabbix.sh
[root@proxy ~]# mv jdk-linux-x64.tar.gz /usr/local
[root@proxy ~]# mv apache-tomcat-7.0..tar.gz /usr/local
[root@proxy local]# tar xf apache-tomcat-7.0..tar.gz
[root@proxy local]# tar xf jdk-linux-x64.tar.gz

第三步:做软连接

[root@proxy local]# ln -s apache-tomcat-7.0. tomcat
[root@proxy local]# ln -s jdk1..0_131 java

第四步:编辑tomcat配置文件。添加如下几行

...[root@proxy local]# vim tomcat/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/usr/local/java
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASS_PATH=/usr/local/java/jre/lib/:/usr/local/java/lib/tools.jar
export PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/java/bin/ # Better OS/ detection: see Bugzilla ...

第五步:启动tomcat

[root@proxy local]# tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@proxy local]# ss -tnl | grep
LISTEN ::: :::*

第六步:页面测试

在浏览器输入ip:8080 看到如下界面即为成功

安装java-gateway及配置

第一步:安装zabbix-java-gateway

[root@proxy ~]# yum install zabbix-java-gateway -y

第二步:配置zabbix-java-gateway文件

[root@proxy ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
...
### Option: zabbix.listenIP
# IP address to listen on.
#
# Mandatory: no
# Default:
LISTEN_IP="10.220.5.138" #监听的本机IP ### Option: zabbix.listenPort
# Port to listen on.
#
# Mandatory: no
# Range: -
# Default:
LISTEN_PORT=10052 #监听的端口
...

第三步:重启zabbix-java-gateway

[root@proxy ~]# systemctl restart zabbix-java-gateway
[root@proxy ~]# ss -tnl | grep
LISTEN ::ffff:10.220.5.138: :::*

配置zabbix-server文件

第一步:现在修改zabbix-server的配置文件,即zabbix监控端,因为要指定java-gateway的地址

[root@server ~]# vim /etc/zabbix/zabbix_server.conf
...
### Option: JavaGateway
# IP address (or hostname) of Zabbix Java gateway.
# Only required if Java pollers are started.
#
# Mandatory: no
# Default:
JavaGateway=10.220.5.138 #指定javagateway的监听地址 ### Option: JavaGatewayPort
# Port that Zabbix Java gateway listens on.
#
# Mandatory: no
# Range: -
# Default:
JavaGatewayPort=10052 #指定监听的端口

### Option: StartJavaPollers
  # Number of pre-forked instances of Java pollers.
  #
  # Mandatory: no
  # Range: 0-1000
  # Default:
  StartJavaPollers=5   #启动5个轮询进程,一定要开启,否则zabbix中JMX不会亮

...

第二步:重启zabbix-server

[root@server ~]# systemctl restart zabbix-server

配置catalina.sh脚本

这是一个远程调试的脚本,我们需要修改它,使得我们能够在window端使用工具来监控。

第一步:配置catalina.sh.这个脚本在tomcat的安装包的目录下.在这个文件添加如下几行

[root@proxy ~]# vim /usr/local/tomcat/bin/catalina.sh
# USE_NOHUP (Optional) If set to the string true the start command will
# use nohup so that the Tomcat process will ignore any hangup
# signals. Default is "false" unless running on HP-UX in which
# case the default is "true"
# -----------------------------------------------------------------------------
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote #开启远程监控
-Dcom.sun.management.jmxremote.port=12345 #远程监控端口
-Dcom.sun.management.jmxremote.ssl=false #远程ssl为false
-Dcom.sun.management.jmxremote.authenticate=false #关闭权限认证
-Djava.rmi.server.hostname=10.220.5.138" #指定提供数据的IP,即被监控节点 # OS specific support. $var _must_ be set to either true or false.

第二步:重启tomcat

[root@proxy ~]# /usr/local/tomcat/bin/shutdown.sh
[root@proxy ~]# /usr/local/tomcat/bin/startup.sh

windows下监控

第一步:准备下面这个文件。可在网上下载

第二步:windows上安装

输入被监控节点的IP以及端口号为12345

第三步:启动。看到如下界面即为成功。

加入到zabbix监控中

第一步:创建tomcat主机

第二步:选择JMX监控模版并保存

第三步:查看.JMX绿色亮起为正常

分布式系统监视zabbix讲解十之监控tomcat--技术流ken的更多相关文章

  1. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  2. 分布式系统监视zabbix讲解七之分布式监控--技术流ken

    分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...

  3. 分布式系统监视zabbix讲解七之分布式监控

    分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...

  4. 分布式系统监视zabbix讲解二之邮件报警通知--技术流ken

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

  5. 分布式系统监视zabbix讲解二之邮件报警通知

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

  6. zabbix实现QQ邮件报警通知--技术流ken

    前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...

  7. 分布式系统监视zabbix讲解八之自动发现/自动注册--技术流ken

    自动发现(LLD) 概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网 ...

  8. 分布式系统监视zabbix讲解一之zabbix安装--技术流ken

    zabbix概述 Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbi ...

  9. 分布式系统监视zabbix讲解八之自动发现/自动注册

    自动发现(LLD) 概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网 ...

随机推荐

  1. REdis主挂掉后复制节点才起来会如何?

    结论: 这种情况下复制节点(即从节点)无法提升为主节点,复制节点会一直尝试和主节点建立连接,直接成功.主节点恢复后,复制节点仍然保持为复制节点,并不会成为主节点. 复制节点无法提升为主节点的原因是复制 ...

  2. Java中的一个类型转换问题

    一.Object转Integer Java中hibernate或者ResultSetHandler查询sql语句, 返回的object类型其实是Long类型, 而不是Integer类型, 因此此时直接 ...

  3. python set所用后列表不改变里面内容排序

    my_list = [1,2,1,54,5,64,4681,4,676] my_list_two = list(set(my_list)) my_list_two.sort(key = my_list ...

  4. 手把手教你利用Python自动下载CL社区图片

    需求描述:     最近发现CL社区上好多精华的帖子分享的图片非常棒,好想好想保存下来,但是一张一张地保存太费时间了,因此,造物者思想主义的我就想动手写个工具,实现只要输入帖子的链接,就能把所有的精华 ...

  5. 3-Fiddler修改请求或响应内容

    1.修改请求内容 方法一:设置请求前断点,修改请求后发送 1)设置断点 2)选中请求,在inspectors下修改请求内容 3)修改请求后,点击Break on Response按钮,进行请求的发送 ...

  6. .NET简单学习

    .NET是一个平台,对用户来说,只要下载了.NET Framework就可以运行.NET程序,获得需要的服务:对开发人员来说,平台对开发有着强有力的支持,方便创作各种应用软件. .NET Framew ...

  7. 实现一个simple 3层的神经网络

    1.基本概念 1.1softmax softmax函数:一句话概括:是logistic 函数的扩展,将一个p维的数值向量映射成为一个k维的概率值,且这k个值的和为1. 公式: 解释: 1.2 cros ...

  8. Python学习笔记-基础1

    一 初识Python python是一种面向对象.解释型的计算机程序语言.Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特 ...

  9. 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  10. python基础-列表(7)

    一.列表格式 列表名 = [列表元素1,列表元素2,列表元素3,… ] 说明: 列表元素之间是有顺序的,也是通过下标表示,第一个元素的小标为0. 列表元素可以不是同种类型,任何类型都行 列表通常当做容 ...