论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
【Java监控】使用SkyWalking监控Java服务
【Java监控】使用SkyWalking监控Java服务
万有斥力
金牌会员
|
2023-9-2 02:17:58
|
显示全部楼层
|
阅读模式
楼主
主题
893
|
帖子
893
|
积分
2679
你的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详细监控指标的开源项目,及搭建时遇到的问题,欢迎大家一下交流
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
万有斥力
金牌会员
这个人很懒什么都没写!
楼主热帖
MyBatis-Plus入门教程及基本API使用案 ...
几个函数的使用例子:更新VBRK-XBLNR, ...
深度理解 C# 中的 for 和 foreach ...
EFCore 动态拼接查询条件(表达式树方式 ...
OpenJDK和OracleJDK的区别说明
阿里巴巴Java开发手册(全册四版) ...
解密PC微信数据库:深入探索与实用代价 ...
.net 发邮件的小工具,包含json,环境 ...
2022年混过的那些SAP项目
Excel 制作可视化看板的思路及操作 ...
标签云
存储
服务器
快速回复
返回顶部
返回列表