zabbix监控Tomcat服务器操作指引

作者:乐维社区(forum.lwops.cn)许远

Tomcat是一个流行的Java Servlet容器,用于开发和部署Java Web应用程序,广泛应用于中小型系统、开发与测试环境、集成环境等场合。

Zabbix是一个开源的监控解决方案,广泛用于监控各种网络参数、服务器健康状态以及应用程序的性能,而JMX(Java Management Extensions)是一个提供管理接口的标准,允许从Java应用程序中提取运行时信息,通过结合Zabbix和JMX,我们就可以对Tomcat服务器进行深入的监控。


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

一、zabbix server配置java支持

此处编译安装zabbix的目录为/opt/zabbix

编辑/opt/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


二、修改zabbix server配置文件

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

LogFile=/tmp/zabbix_server.log    //指明zabbix_server的日志文件地址

DBHost=localhost                //连接的数据库地址

DBName=zabbix                //连接的数据库名称

DBUser=zabbix                //连接数据库的用户名

DBPassword=zabbix            //连接数据库密码

JavaGateway=192.168.10.103        //java网关地址,即server端ip地址

JavaGatewayPort=10052            //java网关监听端口

Timeout=20                    //超时时间

FpingLocation=/usr/sbin/fping    //fping命令绝对地址

LogSlowQueries=3000

AllowRoot=1                    //允许root启动

User=root                    //zabbix服务的启动用户

StartPollers=50

StartPingers=100

StartJavaPollers=5

AlertScriptsPath=/opt/zabbix/share/zabbix/alertscripts    //zabbix额外的脚本地址


三、启动zabbix java服务

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

service zabbix_server restart

cd /opt/zabbix/sbin/zabbix_java && sh startup.sh

四、修改tomcat配置文件

在zabbix agent部署的服务器上更改配置文件,修改tomcat配置文件

目录:/data/tomcat/tomcat-8080/bin

vim /data/tomcat/tomcat-8080/bin/catalina.sh 编辑catalina.sh,提供jmx端口如下:

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.10.100"


其中,hostname=192.168.10.100需要修改为agent部署的服务器地址更改完成需要重启tomcat应用服务器,同时查看端口12345是否处于监听状态

五、复制jar包

在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

六、修改zabbix agent配置文件

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

LogFile=/tmp/zabbix_agentd.log    //zabbix agent日志文件地址

Server=192.168.10.103            //zabbix server地址

ListenPort=10050                //zabbix agent监听端口

Timeout=20                    //超时时间

Include=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf        //zabbix agent副配置文件目录配置

UnsafeUserParameters=1        

AllowRoot=1

User=root

ServerActive=192.168.10.103        //server地址配置

EnableRemoteCommands=1        //允许远程执行命令

Hostname=192.168.10.100        //配置agent本地hostname名称


UserParameter=jvm[*],/opt/zabbix/share/zabbix/alertscripts/jvm_memory.sh $1    //jvm内存监控脚本

UserParameter=system_memory[*],/opt/zabbix/share/zabbix/alertscripts/system_memory.sh $1        //系统内存监控脚本

七、命令测试

在zabbixagent端使用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' maxThreads

06/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' currentThreadsBusy

06/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' currentThreadCount

06/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 ThreadCount

06/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 TotalStartedThreadCount

06/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 PeakThreadCount

06/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 DaemonThreadCount

06/09/2017 17:52:20 +0800 org.archive.jmx.Client DaemonThreadCount: 195

八、常见键值解析

键值对解析如下:

名称: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"]


以上就是本期的全部内容,更多运维技巧欢迎关注乐维社区,更多运维问题也欢迎到乐维社区留言提问。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容