Zabbix(四)使用模块JMX监控tomcat

JMX简单介绍

         全称Java Management Extensions,即Java管理拓展,是Java平台为应用程序,设备,系统等植入管理功能的框架。   

         优点: 可以详细的监控各类Java程序的运行状态

         缺点:被监控机上需要安装zabbix-java-gateway

(1)server2搭建环境--->被监听客户端

搭建Java的运行环境jdk+tomcat

rpm -ivh jdk-8u121-linux-x64.rpm                   ##下载Java的类库(运行环境)
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/ ##下载Java运行的服务器
cd /usr/local/ ln -s apache-tomcat-8.5.24/ tomcat  ##制作软链接 -->便于升级
cd tomcat/bin/ 
vim catalina.sh                                    ##编辑配置                
## 编辑配置JMX参数(Java Management Extensions)      ## Windows和Linux略有区别!
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' ##是否开启用户验证,默认开启。 
cd /usr/local/tomcat/bin 
./startup.sh                                       ##开启tomcat服务 

(2)通过端口日志看是否开启

###netstat -antlupe### 关注:8888和8080端口是否开启!

tcp6       0      0 :::8080                 :::*                    LISTEN      0          28686      3560/java           
tcp6       0      0 :::45042                :::*                    LISTEN      0          28679      3560/java           
tcp6       0      0 :::22                   :::*                    LISTEN      0          14592      601/sshd            
tcp6       0      0 :::8888                 :::*                    LISTEN      0          28680      3560/java           
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          15766      844/master          
tcp6       0      0 :::10050                :::*                    LISTEN      997        15079      614/zabbix_agentd   
tcp6       0      0 :::8009                 :::*                    LISTEN      0          28688      3560/java 

(3)测试首页

# 默认的站点目录 -->tomcat/webapps/ROOT

# vim test.jsp -->自己写的测试页面

<%= new java.util.Date()%>

(4)工作原理

        如下所示:当Zabbix-Server需要知道java应用程序某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345(我们在上面开启的是8888)向Zabbix-JavaGateway提供请求数据。

        补充:agent是不能探测JVM内部的参数信息,而tomcat对外表现就是一个进程,所以需要借助"Java网关"!

从上面的原理图中我们可以得出,配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等(上步已经做好了)。

明确:各端口关系,以及监听的逻辑原理!

核心:在zabbix中,JMX数据的获取由zabbix-java-gateway代理程序来负责数据的采集。    

(5)开始部署

yum install zabbix-java-gateway.x86_64 -y  # 软件安装

vim /etc/zabbix/zabbix_java_gateway.conf   # 编辑配置文件

 # LISTEN_IP="0.0.0.0"  -->默认监听所有的IP

 # START_POLLERS=5      -->开启的线程数

 # LISTEN_PORT=10052    -->监听端口

systemctl start zabbix-java-gateway.service 

systemctl enable zabbix-java-gateway.service     # 开机自启是良好的习惯!

netstat -antlupe                                 # 端口开启

tcp6       0      0 :::10052        :::*         LISTEN      997        74074      27206/java

了解:tomcat并发能力不强,压力测试并发是10个左右,不是企业级别

注意:此时让Zabbix-Server还不能连接Zabbix-JavaGateway,你得让它知道,需要进行配置

vim zabbix_server.conf

# JavaGateway=172.25.2.1 #Gateway的地址

# JavaGatewayPort=10052  #Gateway开启的端口

# StartJavaPollers=5     # server开启5个线程与上面指定IP:端口进行通信,收集信息!

systemctl restart zabbix-server.service

ps -ax   ## 开启了五个关于java poller的线程

30019 ?        S      0:00 /usr/sbin/zabbix_server: java poller #1 [got 0 values in 0.000043 sec, idle 5 sec]
30020 ?        S      0:00 /usr/sbin/zabbix_server: java poller #2 [got 0 values in 0.000011 sec, idle 5 sec]
30021 ?        S      0:00 /usr/sbin/zabbix_server: java poller #3 [got 0 values in 0.000012 sec, idle 5 sec]
30022 ?        S      0:00 /usr/sbin/zabbix_server: java poller #4 [got 0 values in 0.000010 sec, idle 5 sec]
30023 ?        S      0:00 /usr/sbin/zabbix_server: java poller #5 [got 0 values in 0.000010 sec, idle 5 sec]

(6)zabbix监控页面进行相应的配置

说明:90%左右的都是使用agent的接口方式,tomcat选择JMX接口监听方式!

配置—> 主机—> server2—> 主机—> 添加JMX接口的信息 —> 添加

注意:端口要和配置文件中写的一样,最好在各个主机都做好本地解析

主机 —> server2—>模板—> 选择图中的模板 —> 添加 —> 更新

j即得刷新一下可以看到server2的JMX变绿

 tomcat8.5的官方文档

 mysql模板问题

主要:'历史数据(大存储)','性能瓶颈的最大可能出现在数据库中',当时经过考虑由于日志等相关数据(相对而言不是业务数据),所以就采用了'newsql新型的数据库tidb来承载数据',同时原来zabbix自带监控项有限,所以采用了mysql的第三方开发所提供的perconal的模版!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值