zabbix-----3------监控tomcat

简介:

首先我们要安装上tomcat+jdk

我这里使用rpm包直接安装的:

1
2
3
4
5
6
7
8
[root@zabbix-node2 ~] # rpm -ivh jdk-8u102-linux-x64.rpm 
Preparing...                           ################################# [100%]
Updating / installing...
    1:jdk1.8.0_102-2000:1.8.0_102-fcs   ################################# [100%]
[root@zabbix-node2 ~] # java -version
java version  "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

#安装tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@zabbix-node2 ~] # tar xf apache-tomcat-7.0.53.tar.gz -C /usr/local
[root@zabbix-node2 ~] # ls /usr/local/apache-tomcat-7.0.53/
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[root@zabbix-node2 ~] # ln -s /usr/local/apache-tomcat-7.0.53/ /usr/local/tomcat
[root@zabbix-node2 ~] # cd /usr/local/tomcat/bin/
[root@zabbix-node2 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
Using CLASSPATH:        /usr/local/tomcat/bin/bootstrap .jar: /usr/local/tomcat/bin/tomcat-juli .jar
Tomcat started.
[root@zabbix-node2 bin] # netstat -lntup|grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2850 /nginx : master  
tcp6       0      0 :::8009                 :::*                    LISTEN      4795 /java           
tcp6       0      0 :::8080                 :::*                    LISTEN      4795 /java

验证:

wKiom1jQ0grC41OAAAFLCtudEGo562.png

这里可以使用官方的java-gatway来监控

zabbix-server会去找java-gateway,由javagateywa去找jmx

所以我们这里要找一台设备安装javagateway,这里安装到server-zabbix上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@zabbix-node1 ~] # yum install zabbix-java-gateway^V^C
[root@zabbix-node1 ~] # systemctl start zabbix-java-gateway.service
[root@zabbix-node1 ~] # netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID /Program  name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5506 /mysqld         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1274 /sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1857 /master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7923 /zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7117 /zabbix_server  
tcp6       0      0 :::80                   :::*                    LISTEN      5588 /httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1274 /sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1857 /master         
tcp6       0      0 :::10050                :::*                    LISTEN      7923 /zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      7117 /zabbix_server  
tcp6       0      0 :::10052                :::*     #监听的这个端口                LISTEN      8776/java

window上安装jdk

wKioL1jQ2LehjM55AADN3jcClNo006.png-wh_50

配置zabbix-server去连接java-gateway

1
2
3
  vim  /etc/zabbix/zabbix_server .conf
  JavaGateway=192.168.56.11
  StartJavaPollers=5  #如果tomcat很多的话,这个采集器要配置的大点

重启服务:systemctl restart zabbix-java-gateway.service

这里可以zabbix可以监控java程序来。下面要多tomcat开启jmx。下面我们修改catalina。sh这个文件

加入以下内容

1
2
3
4
5
6
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.56.21"
# OS specific support.  $var _must_ be set to either true or false.

然后tomcat重启服务。就可以看到端口12345

======================================================

下面window上面安装完成后,我们在这个路径下面C:\Program Files\Java\jdk1.8.0_66\bin找到“jconsole”点击打开,如下图:

wKioL1jQ3C2Tv3ZjAAC4w9jWu4s584.png

通过远程连接,输入192.168.56.21:12345连接到刚刚配置的tomcat。这个也是刚刚添加catalina里面配置的信息才能连接

上传一个cmdline-jmxclient-0.10.3到21上面。

使用cmdline-jmxclient-0.10.3到

wKioL1jR4zLDlQ_QAADF_ygzcEE367.png测试取内存的值:

wKiom1jR5BfB-e3OAACuV1pKr9U209.png


如何取上面输出的值那???

下面我们新创建一个主机

wKiom1jR5gSRpgD4AACZ0yD7IAA347.png

wKioL1jR5gTRRULsAAAqT1RmIi4780.png

上面这几步完成一个主机的创建

对于如下图的不支持的items我们要从jconsole里面找到新的内容,让他支持。

wKioL1jR5tuCeEsTAAC6diCyJM4063.png

如果从jconsole里面没有找到,说明新的设备的java已经没有这个项了。我们要选择删除这部分,如果有我们把jconsole里面显示的新的内容替换item模板里面的key

下面演示一个8080的错误,按照找的方法,我们找到了jconsole上面的对应的项目值,然后从server上测试发现没有注册,这个是什么原因?如图:

wKioL1jR6T6Slg9-AAHL0XwiuSE439.png-wh_50

这里是因为名字中有双引号的原因,我们需要转移,如下命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@zabbix-node2 ~] # java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"
Attributes:
  requestCount: Introspected attribute requestCount ( type =int)
  maxTime: Introspected attribute maxTime ( type =long)
  bytesReceived: Introspected attribute bytesReceived ( type =long)
  modelerType: Type of the modeled resource. Can be  set  only once ( type =java.lang.String)
  bytesSent: Introspected attribute bytesSent ( type =long)
  processingTime: Introspected attribute processingTime ( type =long)
  errorCount: Introspected attribute errorCount ( type =int)
Operations:
  resetCounters: Introspected operation resetCounters
   Parameters 0,  return  type =void
[root@zabbix-node2 ~] # java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"  requestCount
03 /21/2017  13:24:01 -0400 org.archive.jmx.Client requestCount: 0

然后我们修改模板中item的key值

wKiom1jR6nHAoJjRAAELA8sLR3c612.png-wh_50


tomcat 7和8 都会不同,需要自己修改自己的模板,然后导出




本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1909152,如需转载请自行联系原作者

相关文章
|
5月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
216 0
|
7月前
|
存储 缓存 监控
|
8月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
121 23
|
8月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
154 25
|
8月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
143 22
|
9月前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
149 9
|
9月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
351 7
|
10月前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
205 5
|
10月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
353 7
|
11月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
244 2

推荐镜像

更多