zabbix使用JMX监控java应用(tomcat)

此服务是由上一篇博客基础上,搭建监控tomcat服务。
一、agent采集监控数据方式(键值对)
agent采集数据是以键值对的方式进行采集,一个键对应一个值。

二、通过jmx协议监控java程序

JMX 全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。

从Zabbix2.0开始,内置了监控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上会启动名为"Zabbix Java Gateway "的进程,当需要获取JMX数据时,Zabbix Server会"问 "JMX Gateway,然后JMX Gateway 根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动时加上一些JVM参数,使得它可以支持使用监控端口监控JMX。
数据采集过程:
zabbix server --------->zabbix java gatetway------------>java app

zabbix使用JMX监控tomcat

1.配置server2(agent客户端),安装tomcat和jdk,并开启tomcat
tomcat的官方文档

[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm   #下载kdk插件
[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/  #解压tomcat到指定位置
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ls
apache-tomcat-8.5.24  etc    include  lib64    nginx  share
bin                   games  lib      libexec  sbin   src
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat   ##将解压的包做个软连接方便用
[root@server2 ~]# vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=8888   ##指定端口
  -Dcom.sun.management.jmxremote.ssl=false  ##是否对连接开启ssl加密,默认开启
  -Dcom.sun.management.jmxremote.authenticate=false'  ##是否开启用户验证
[root@server2 ~]# cd /usr/local/tomcat/bin/
[root@server2 bin]# ./startup.sh  #tomcat启动
[root@server2 bin]# systemctl restart zabbix-agent
[root@server2 bin]# netstat -antlp
tcp6       0      0 :::8888                 :::*                    LISTEN      2867/java 
tcp6       0      0 :::10050                :::*                    LISTEN      2920/zabbix_agentd  

2.zabbix-server端

   [root@server1 zabbix]# yum install -y zabbix-java-gateway.x86_64  ##安装JMX插件
   [root@server1 zabbix]# cd /etc/zabbix/
   [root@server1 zabbix]# vim zabbix_java_gateway.conf #修改配置文件
     9 LISTEN_IP="0.0.0.0"
     17 LISTEN_PORT=10052
     35 START_POLLERS=5
   [root@server1 zabbix]# systemctl start zabbix-java-gateway  
   [root@server1 zabbix]# systemctl enable zabbix-java-gateway 
   [root@server1 zabbix]# netstat -ntlp | grep 10052
  tcp6       0      0 :::10052                :::*                    LISTEN      856/java    
   [root@server1 zabbix]# vim zabbix_server.conf    
        288 JavaGateway=172.25.25.1
        296 JavaGatewayPort=10052
        304 StartJavaPollers=5
   [root@server1 zabbix]# systemctl restart zabbix-server

配置->主机(server2)->JMX添加
在这里插入图片描述
server2添加模版:
配置->主机(server2)-模版

在这里插入图片描述
在这里插入图片描述如果JXM图表还是灰色,就检查以上两个配置文件后重启服务

三、通过SNMP协议采集数据

即通过SNMP的查询和陷入进行监控数据的采集。适合对网络设备,如防火墙、交换机、路由器等的监控数据的采集。目前Zabbix系统支持SNMP v1 SNMP v2c和SNMP v3版本的协议。通过SNMP协议采集数据不需要在被监控设备上安装任何第三方软件,但是需要配置和开启SNMP服务,并允许监控服务器查询。这个是我们目前使用比较多的数据采集方法。缺点是,其通信协议走的UDP协议,传输为不可靠传输,所以存在丢数据的现象。同时,MIB库一般是跟被监控设备有关,不适合监控自定义的项目。
四、通过IPMI代理采集数据

智能平台管理接口(IPMI,Intelligent Platform Management Interface),是管理基于Intel架构的企业系统中所使用的外围设备所采用的一种工业标准。通过这种方法采集数据的优点是:它可以采集到其它方法无法采集到的硬件状态信息,例如CPU温度、风扇转数等等。缺点是,需要被监控硬件能够支持。而这个一般在购买服务器(这种方法一般只适用于服务器)时是需要单独购买控制卡的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值