金沙澳门官网网址_金沙国际登陆

欢迎加入金沙澳门官网网址体验更多不一样的精彩.,金沙国际登陆提供最丰厚回馈!,因为金沙澳门官网网址这里的游戏是多种多样的,为大家打造一个最专业的化的超级五星酒店。

金沙澳门官网网址 > 服务器运维 > 【金沙国际登陆】云智慧透视宝Java代码品质监控

原标题:【金沙国际登陆】云智慧透视宝Java代码品质监控

浏览次数:182 时间:2019-11-01

云智慧透视宝Java代码性能监控实现原理

 一、Java平台体系及应用场景

从1995年Sun Microsystems公司正式推出Java,到2006年时Sun公司将其开源,迄今为止已经有了20年的历史。Java本身已不仅仅只是一门面向对象的编程语言,而是由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的跨平台开发与部署的支持,实现“一次编写、到处运行”的目的。Java已经广泛的应用于嵌入式、移动终端、企业服务器、大型机等各种场合。

Sun官方所定义的Java技术体系包括如下几个组成部分:

* Java程序设计语言

* 各种硬件平台上的Java虚拟机

* Class文件格式

* 来自商业机构和开源社区的第三方Java类库

金沙国际登陆 1

图:Java技术体系组件图

Java Virtual Machine(JVM)是Java体系的基础,负责解释、编译执行.class文件形式的字节码,同时负责内存管理、热点代码检测和运行时编译优化。正是由于有了虚拟机的基础,才使Java实现了“一次编写、到处运行”。Java这20年的发展,其实更是虚拟机的发展过程。期间经历了Sun、BEA公司各自开发的虚拟机,2009年之后,ORACLE将这两家公司收购,并将这些虚拟机取长补短、合二为一。目前还是开源的虚拟机OpenJDK,可供爱好者学习研究用。

JRE部分是支持Java程序运行的标准环境。JDK是JRE的超集,包含JRE的一切,再加上工具如编译器、调试器等。

二、Java性能监控需求

对于一个企业的应用系统,大多数情况下,肯定是由多种编程语言开发的各种系统的集成。我们都非常关心系统的可用性、及时响应性、资源的消耗,比如CPU、内存、各种I/O、网路带宽等消耗情况。对于这些问题的性能瓶颈点,我们一般可以归纳为外部服务(如第三方API)、资源读写、代码异常。如果在发生这些问题时,能够及时完整的抓拍记录保留下来,那么对于我们解决问题将会提供充足的证据,解决问题会变的非常容易。

对于Java应用系统来说,JVM自身提供了相应的性能监控手段和工具,经常在出现问题后,比如内存泄漏或溢出时,我们会通过jmap命令导出堆的转储快照,利用相应的命令jhat或其他相应的第三方内存分析工具来分析对象的占用情况。

响应缓慢时,我们可能会用jstat监视命令、或jdk的可视化工具jconsole、visualvm来分析JVM的垃圾回收类型、回收频率,来推测是否是垃圾回收导致的。有可能我们还要接着分析线程转储快照,通过jstack取出线程的栈快照,来分析是否有真死锁、死循环导致的相应缓慢、资源负载高等情况。

当有问题出现时,许多开发人员可能都是比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。

而且,只有对Java虚拟机机制较为熟悉的高级开发人员才能比较好的运用、理解这些工具,对于大多数普通Java开发人员来说,这些问题只会令他们束手无策。

像外部服务(如第三方API)、资源读写、代码异常这些瓶颈点,需要通过代码级别的监控才能直接、快速、有效的找到症结所在。调用第三方API的耗时、资源访问的耗时、代码抛出的非预知异常,这些常见问题代码监控完全能够监控到,并能够实时抓拍记录,一旦有问题可以快速还原事故问题现场。通过代码级别监控发现问题后,也可以在辅助利用虚拟机内置监控工具进行进一步的定位。

三、透视宝Java监控实现原理

金沙国际登陆 2

图:Java的执行模型

在Java的执行体系中,由.Java源码文件编译后的.class字节码文件,可以理解为中间语言。

金沙国际登陆 3

图:透视宝Java监控实现原理

金沙国际登陆 4

图:透视宝Java监控实例运行图

1、字节码load至JVM时发生了什么

* 回调函数注册完毕后,凡是当有任何的class文件即将被类加载器加载前,都

会执行回调函数transform,在此方法内实现的类改变操作。

* 实现的transform方法中,我们使用的是ASM字节码操作框架,ASM从二进制

形式的类文件中读取、分析类的信息,然后修改改变类的行为。

* transform方法的基本代码形式如下:

金沙国际登陆 5

2、如何实际改变类行为

* 在依赖于ASM基础之上,我们抽象出这样的业务模型

金沙国际登陆 6

* 常用的拦截探针

金沙国际登陆 7

* 常用的运行时拦截处理器

金沙国际登陆 8

* 支持的拦截定义过滤器规则

金沙国际登陆 9

* 该业务模型对应的行为

金沙国际登陆 10

定义拦截描述时,指定过滤拦截哪些类、哪些方法,然后,在这些行为的点上,可以埋入探针、处理器。重写visitCode、visitInsn、visitMaxs分别实现方法进入、返回、异常的相关操作改写。

金沙国际登陆 11

四、透视宝Java监控部署流程

1、登录云智慧透视宝官网: ,点击页面右上角导航的“免费试用”,正确填写免费试用的申请信息后会弹出下面的对话框,同时激活邮件会自动发送到你的邮箱中,按照流程注册帐号即可。

金沙国际登陆 12

2、注册成功后,登录透视宝,点击配置-应用,在配置页面中下载安装Smart Agent。安装成功后,Smart Agent会根据系统配置自动获取主机信息,大致两分钟后,您就可以在“主机→服务器”模块中查看该服务器的CPU、内存、网卡、磁盘及进程等性能数据。

金沙国际登陆 13

3、如果要监控应用运行时代码、主机中服务和数据库性能数据,您需要进一步安装和配置Smart Agent提供的各种插件,这是因为Smart Agent实现了一种开放式的插件式结构,对每个运行时代码、服务和数据库的监控都是通过相应的插件来实现的。

金沙国际登陆 14

Smart Agent在安装完成后,加载过程中自动发现你的应用组件,如果没有自动监测到Java环境,也可以手动添加Java Agent。如上图所示,点击“管理”入口,进入“插件管理”,点击页面下部的“添加服务”,选择JavaAgent后,点击“创建”。

创建完毕后,点击“ON”。(该ON操作只是初始化用户的信息,以便以后采集到的信息能够正确的回传给该用户。)

金沙国际登陆 15

以上都操作完后,在{smartagent的安装路径}/plugins,就会看到如下形式的

金沙国际登陆 16

在到{smartagent的安装路径}/plugins/JavaAgent_1442476463X1002x0/conf文件夹下,查看app.conf文件,看看该文件内的HostKey的值是否是如下类似的加密形式

金沙国际登陆 17

以上情况,表明JavaAgent已经下载启动初始化成功。

4、安装JavaAgent至各种应用服务器上,如tomcatjbossweblogic。(该操作参考官网)

5、只要启动相应服务器,然后访问您的应用url即可,该url对用的代码执行情况即可呈现给您,一旦出现缓慢问题也一目了然。如下图示意

金沙国际登陆 18

五、透视宝Java代码性能监控特点

在功能方面,透视宝无论是在Java,还是其他如.NET、PHP等主流语言的监控上,都包括:查看执行最慢的10个元素,包括元素执行次数、持续时长和占用时长百分比;查看HTTP请求参数,包括请求的响应状态、链接页面、具体的请求参数及返回结果;查看代码执行堆栈的详细树状信息,包括每个方法的计算时间、总耗时和被调用的次数,您能直接看到特殊标识的最慢方法;查看涉及SQL语句的总耗时排序,包括SQL执行总耗时、执行次数和具体的查询语句;第三方API调用。

金沙国际登陆 19

端到端性能监控示意图

在性能方面,云智慧透视宝的JavaAgent代码监控探针包,对用户的性能影响到底有多大?从安装包本身来看,它非常小,仅为1.5M。在不安装Java探针包和安装Java探针包,分别运行应用。经过测试对比,CPU使用率差值、内存消耗差值、TPS差值均在5%以内。

一、Java平台体系及应用场景 从1995年Sun Microsystems公司正式推出Java,到2006年时Sun公司将其开源,迄...

要想让服务器按需运行,就需要对其进行正确管理与维护。作为网络管理员,在与服务器长时间亲密“接触”之后,或多或少地会积累一些服务器管理方面的经验;在这些经验的指导下,服务器的管理效率的确能够在一定程度上得到提高。可是,这些管理经验也不是万能的,如果我们片面地依赖它们的话,反而会在日后的管理维护中受到框框限制;为此,面对一些特殊的管理需求,我们有时需要另僻蹊径,跳出之前管理服务器的各种框框,只有这样才能享受异想不到的管理效果!

近年来,在移动互联、云技术、大数据等新技术的驱动下,互联网金融发展迅速,金融产品创新层出不穷。新产品、新应用大量投产,银行业务的经营范围也在不断外延,服务渠道不断拓展。直接导至信息系统业务交易量和运行服务需求大幅度增长,对金融业的整体运行服务能力和服务效率带来了新的挑战。

1、删除主机名无须到现场

伴随金融业信息化进程的不断推进。金融业数据中心所需的信息系统、业务系统也不断涌现,数据中心机房目前有大量的服务器、存储设备,以及汇聚层、核心层等网络设备。现有的管理方式、管理设备已经不能实现对服务器、网络设备进行及时、高效、安全的管理,因此,如何更加有效的集中控管大规模的IT设施,已成为金融系统在信息化建设过程中的热点聚焦。

在局域网域环境中,当普通计算机第一次进入指定的Windows Server 2000系统域后,该计算机的主机名称就会被域控制器自动保存在对应的活动目录中了,那样的话局域网中的其他计算机就能及时看到新登录域目标计算机中的共享信息了。虽然域控制器的这一智能存储操作会给大家带来不小的方便与快捷,但是在某些时候该智能功能也会给大家带来烦恼;比方说,要是局域网中的某一计算机系统由于意外原因发生崩溃,在对它重装系统并设置了相同的主机名称之后,我们发现该计算机不能使用原来的主机名称登录域控制器了,这是什么原因呢,我们是否需要换名进行域控制器登录操作呢?

目前,大多数金融企业针对数据中心机房的服务器设备、网络设备的运维管理是基于软件方式来实现。如对服务器、工作站桌面进行远程控制的PCanywhere或远程桌面;对串口设备进行远程控制的telnet等软件,而这些软件方式的远程管理面对金融行业复杂的技术体系与叠加的运维风险多少具有一定的局限性。因此,只有建立符合金融机构IT基础设施特点,符合数据中心的发展模式、适应IT运维一体化运维管理的解决方案,才能充分满足数据大集中后多层级、全覆盖的运维管理需要,实现运维管理的标准化、规范化和流程化。

其实,重装系统的计算机之所以不能使用之前的主机名称登录局域网域控制器,是因为域控制器系统的活动目录中已经有了该主机名称的记录,只有想办法将活动目录中对应的主机名称记录删除掉,那么重装系统的计算机才能继续使用原来的主机名称正确登陆域控制器。一般来说,我们只要在域控制器现场以系统管理员帐号登录服务器系统,之后进入活动目录窗口,找到之前生成的主机名称记录,然后将它从域控制器中删除掉,就能解决重装系统的计算机不能以原来主机名称登录局域网域控制器的故障;不过,要是我们无法赶到域控制器服务器现场,是否能在本地计算机通过远程控制方式进入域控制器系统,并将其中的旧主机名记录删除掉呢?答案是肯定的,我们只要按照如下步骤进行操作就可以了:

德讯科技针对上述问题提出金融业集中控管系统解决方案,管理人员可通过TCP/IP的方式,远程管理和维护服务器等设备,极大程度地提高工作效率。每个操作用户都可以通过开放式Web浏览器访问到所要管理的设备,通过鼠标点击即可访问到机房相应的设备。每个操作用户都可以通过在自己的屏幕上打开操作一台服务器画面,彻底摆脱了原始的“一对一”管理模式,大大节省操作时间,提高了运维工作效率。出于对机房内所有设备管理的安全性考虑,另外增加了操作过程全方面审计流程。具体方案部署图如下:

为了能够通过远程控制方式来管理域控制器服务器中的活动目录,我们首先需要在服务器系统中做一些准备工作。先以特权帐号登录进局域网域控制器系统,在该系统中执行网上搜索操作,将Windows Server 2000系统的SP4补丁包下载到本地服务器硬盘中,之后通过专业的解压缩程序将SP4补丁包解压到系统中的一个临时文件夹中;再打开对应系统的资源管理器窗口,从中找到临时文件夹并用鼠标右键单击该文件夹图标,从弹出的快捷菜单中选择“共享”命令,在其后界面中将SP4的解压文件夹设置为共享状态。

金沙国际登陆 20

完成上面的准备工作后,我们可以在局域网的任意一台能够访问域控制器的计算机系统中,双击桌面上的“网上邻居”图标,进入对应的“网上邻居”窗口,从中找出域控制器服务器的主机名称,再用鼠标双击该主机名称,之后在弹出的身份验证对话框中输入域控制器服务器的合法登录帐号与密码,接着找到SP4补丁程序所在的共享文件夹,然后将该文件夹下面的“adminpak.msi”文件复制到本地计算机硬盘中;

图一:集中控管系统解决方案

下面,用鼠标双击“adminpak.msi”文件图标,开始对该文件执行安装操作,等到安装操作完毕后,我们再单击本地系统桌面中的“开始”按钮,从弹出的“开始”菜单中依次选择“设置”/“控制面板”选项,打开本地系统的控制面板窗口,用鼠标双击该窗口中的“管理工具”图标,那样的话我们就能在其后界面中看到“Active Directory用户和计算机”图标了;

金融行业用户通过应用德讯集中控管系统解决方案,可以充分体验以下几大应用价值:

本文由金沙澳门官网网址发布于服务器运维,转载请注明出处:【金沙国际登陆】云智慧透视宝Java代码品质监控

关键词:

上一篇:ITIL好看不好吃金沙国际登陆:,永安期货落地

下一篇:shell脚本基础知识,IBM至强5600服务器相比【金沙