• 【Java监控】使用SkyWalking监控Java服务


    你的Java服务是如何监控的呢?

    •  1.Null:监控?什么监控?我一个写代码的服务挂了跟我有什么关系?
    •  2.命令行:服务挂了?内存泄漏?jstat jmap jcmd,还好不是我写的
    • 3.撸代码:Java采集JVM/服务器资源信息 -> Prometheus -> Grafana,请允许我对业务代码稍作修改。

    今天,给大家介绍一个对源码0入侵的Java服务监控方式,SkyWalking Agent,只需要启动Java程序的时候加几个参数,就能对Java服务进行可视化监控啦

    首次接触SkyWalking是学习SpringCloud的时候,使用SkyWalking进行链路追踪。使用SkyWalking进行链路追踪时得到的拓扑图大概是这个样子(Demo项目),不过链路追踪不是本文介绍的重点,本文主要讲解如何使用SkyWalking进行Java服务的监控。

    1.下载并配置SkyWalking的后端服务

    SkyWalking是需要后端服务的,即启动Java项目的时使用的Agent只负责像SkyWalking后端服务发送指标信息,本身只是个客户端Jar包

    (1)下载

    直接到SkyWalking的官网下载APM即可,官网地址:https://skywalking.apache.org/

    下载完成后解压,得到这个文件夹:

    (2)修改配置文件

    SkyWalking的后端服务配置文件在 apache-skywalking-apm-bin/webapp 目录下,主要修改一下服务端口号,默认是8080,如果与你的项目端口不冲突的话,可以忽略这一步

    (3)启动SkyWalking后端服务

    Windows的话,直接运行apache-skywalking-apm-bin/bin目录下的 startup.bat 就好了,其他系统可以运行sh那个。Windows打开后会出现两个黑色的框框,不用管他,最小化就好,这时我们需要的SkyWalking后端服务实际已经启动了。

    (4)验证

    使用浏览器打开 localhost:18080,如果访问正常,说明服务已正常启动。 

    2.启动Java项目和SkyWalking Agent

    SkyWalking使用了比较简单的jar包agent方式进行客户端启动,Java服务启动命令添加以下参数

    -javaagent:F:\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=localhost:11800

    参数说明:

    • -javaagent后添加skywalking-agent.jar的本地路径,哦,对了,这个agent jar包也是从SkyWalking的官网下载就可以
    • skywalking.agent.service_name,该Java服务在SkyWalking后端服务中的显示名称=
    • skywalking.collector.backend_service,SkyWalking的后端服务地址,如果你像我一样修改了配置文件的话,这里就应该是 localhost:11800

     3.查看服务相关监控

    使用浏览器访问 localhost:18080

     点击Service Name,打开服务监控面板,其中Overview中记录了服务的一些基本监控指标,例如:Service Apdex,请求成功率,平均响应时间等

     除了服务响应信息,SkyWalking还可以用来监控JVM。 选择Instance,并点击节点链接打开详情

    打开后的Overview是单个节点的服务响应信息

     选择JVM后,就是常见的JVM指标啦

     可以通过以上仪表盘监控JVM堆内存和堆外内存大小,gc时间和gc次数,以及线程相关信息和JVM加在的Class数量,基本的错误排查大体够用。不过并没有JVM老年代和年轻代的具体使用情况,内存监控只区分了堆外内存和堆内存。如果是为了详细的监控JVM的话,这些指标感觉差点儿意思,后面将再介绍一个拥有更多JVM详细监控指标的开源项目,及搭建时遇到的问题,欢迎大家一下交流

     

  • 相关阅读:
    步入式老化房采集模拟量电流电压
    PostgreSQL进阶
    深入探索图像处理:从基础到高级应用
    洛谷P4549 裴蜀定理模板
    25-python面向对象版学员管理系统
    Docker安装Oracle_11g
    dreamweaver网页设计作业制作 学生NBA篮球网页 WEB静态网页作业模板 大学生校园篮球网页代码 dw个人网页作业成品
    Pytorch+Python实现人体关键点检测
    外包干了10天,技术退步明显。。。。。
    Java 流处理之收集器
  • 原文地址:https://www.cnblogs.com/maerpao/p/17657118.html