侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

zabbix jmx监控tomcat

2023-11-06 星期一 / 0 评论 / 0 点赞 / 53 阅读 / 6529 字

前提:编译zabbix server时需要提供java支持,即添加--enable-java该选项。 1、zabbix server段配置java支持。此处编译安装zabbix的目录为/usr/loc

前提:编译zabbix server时需要提供java支持,即添加--enable-java该选项。

1、zabbix server段配置java支持。此处编译安装zabbix的目录为/usr/local/zabbix。

编辑/usr/local/zabbix/sbin/zabbix_java/settings.sh,修改完成之后内容如下:	LISTEN_IP="0.0.0.0"			//监听的服务器地址    LISTEN_PORT=10052			//监听的端口    PID_FILE="/tmp/zabbix_java.pid"	//指定zabbix_java的pid文件地址    START_POLLERS=5    TIMEOUT=3

2、编辑/usr/local/zabbix/etc/zabbix_server.conf,修改完成之后,内容如下:

LogFile=/tmp/zabbix_server.log	//指明zabbix_server的日志文件地址DBHost=localhost				//连接的数据库地址DBName=zabbix				//连接的数据库名称DBUser=zabbix				//连接数据库的用户名DBPassword=zabbix			//连接数据库密码JavaGateway=192.168.1.103		//java网关地址,即server端ip地址JavaGatewayPort=10052			//java网关监听端口Timeout=20					//超时时间FpingLocation=/usr/sbin/fping	//fping命令绝对地址LogSlowQueries=3000AllowRoot=1					//允许root启动User=root					//zabbix服务的启动用户StartPollers=50StartPingers=100StartJavaPollers=5AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts	//zabbix额外的脚本地址

3、重启zabbix server服务,以及启动zabbix java支持服务。

]# service zabbix_server restart]# cd /usr/local/zabbix/sbin/zabbix_java && sh startup.sh

4、在zabbix agent部署的服务器上更改配置文件,修改tomcat配置文件。目录:/data/tomcat/tomcat-8080/bin。

]# vim /data/tomcat/tomcat-8080/bin/catalina.shCATALINA_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.1.100"其中,hostname=192.168.1.100需要修改为agent部署的服务器地址。更改完成需要重启tomcat应用服务器,同时查看端口12345是否处于监听状态。

5、在zabbix agent部署的tomcat服务器上,copy对应的java jmx监控的相关jar包到tomcat对应的目录下。

]# cp catalina-jmx-remote.jar /data/tomcat/tomcat-8080/lib]# cp cmdline-jmxclient-0.10.3.jar /data/tomcat/tomcat-8080/bin

6、编辑zabbix agent配置文件,配置完成如下:

#] vim /usr/local/zabbix/etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.log	//zabbix agent日志文件地址Server=192.168.1.103			//zabbix server地址ListenPort=10050				//zabbix agent监听端口Timeout=20					//超时时间Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf		//zabbix agent副配置文件目录配置UnsafeUserParameters=1		AllowRoot=1User=rootServerActive=192.168.1.103		//server地址配置EnableRemoteCommands=1		//允许远程执行命令Hostname=192.168.1.100		//配置agent本地hostname名称UserParameter=jvm[*],/usr/local/zabbix/share/zabbix/alertscripts/jvm_memory.sh $1	//jvm内存监控脚本UserParameter=system_memory[*],/usr/local/zabbix/share/zabbix/alertscripts/system_memory.sh $1		//系统内存监控脚本

7、在zabbix管理界面配置要监控的服务器的信息,如下:

8、在zabbix agent端使用cmdline-jmxclient-0.10.3.jar提供的相关接口,获取jvm的监控信息。此处执行相关命令的操作目录为:/data/tomcat/tomcat-8080/bin。

获取tomcat的最大线程数。]$ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345  'Catalina:name="http-bio-8080",type=ThreadPool' maxThreads06/09/2017 17:34:47 +0800 org.archive.jmx.Client maxThreads: 200获取tomcat繁忙线程数。]$ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345 'Catalina:name="http-bio-8080",type=ThreadPool' currentThreadsBusy06/09/2017 17:36:48 +0800 org.archive.jmx.Client currentThreadsBusy: 5获取tomcat当前已经分配线程数。$ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345  'Catalina:name="http-bio-8080",type=ThreadPool' currentThreadCount06/09/2017 17:38:15 +0800 org.archive.jmx.Client currentThreadCount: 11获取活动线程的当前数目,包括守护线程和非守护线程。java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345 java.lang:type=Threading ThreadCount06/09/2017 17:55:34 +0800 org.archive.jmx.Client ThreadCount: 225获取自从 Java 虚拟机启动以来创建和启动的线程总数目。java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345 java.lang:type=Threading TotalStartedThreadCount06/09/2017 17:55:52 +0800 org.archive.jmx.Client TotalStartedThreadCount: 112225获取Java 虚拟机启动或峰值重置以来峰值活动线程计数。java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345 java.lang:type=Threading PeakThreadCount06/09/2017 17:56:06 +0800 org.archive.jmx.Client PeakThreadCount: 244获取守护线程总数。java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.100:12345 java.lang:type=Threading DaemonThreadCount06/09/2017 17:52:20 +0800 org.archive.jmx.Client DaemonThreadCount: 195

9、添加对应的监控项。监控项中类型选择JMX agent代理程序。如下图:

10、添加完成的监控项内容如下所示:

名称:tomcat已分配线程数键值:jmx["Catalina:name=/"http-bio-8080/",type=ThreadPool",currentThreadCount]名称:tomcat最大线程数键值:jmx["Catalina:name=/"http-bio-8080/",type=ThreadPool",maxThreads]名称:tomcat繁忙线程数键值:jmx["Catalina:name=/"http-bio-8080/",type=ThreadPool",currentThreadsBusy]名称:java虚拟机启动以来创建和启动的线程总数目键值:jmx["java.lang:type=Threading","TotalStartedThreadCount"]名称:tomcat活动线程的当前数目,包括守护线程和非守护线程。键值:jmx["java.lang:type=Threading","ThreadCount"]名称:java虚拟机启动或峰值重置以来峰值活动线程数键值:jmx["java.lang:type=Threading","PeakThreadCount"]

 

 

广告 广告

评论区