微服务异常之链路跟踪APM工具( 二 )


 
启动方式
在以前启动应用程序时,加上一些参数
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar-Dskywalking.agent.service_name=shop-goods-provider-Dskywalking.collector.backend_service=localhost:11800-jar yourApp.jar参数含义:

  • -javaagent:用于指定探针路径
  • -Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名
  • -Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址
启动后,访问链接,就会发现 Service 与 Endpoint 已经成功检测到了
微服务异常之链路跟踪APM工具

文章插图
 

微服务异常之链路跟踪APM工具

文章插图
 
表示 SkyWalking 链路追踪配置成功 。
Service Topology监控调用链路监控可以从两个角度去看待 。我们先从整体上来认识一下我们所监控的系统 。
通过给服务添加探针并产生实际的调用之后,我们可以通过Skywalking的前端UI查看服务之间的调用关系 。

微服务异常之链路跟踪APM工具

文章插图
 
从图中可以看到:
【微服务异常之链路跟踪APM工具】有两个服务节点:provider & consumer
有一个数据库节点:localhost【mysql】
consumer消费了provider提供出来的接口 。
一个系统的拓扑图让我们清晰的认识到系统之间的应用的依赖关系以及当前状态下的业务流转流程 。
细心的小伙伴们可能发现图示节点consumer上有一部分是红色的,红色是什么意思呢?
红色代表当前流经consumer节点的请求有一断时间内是响应异常的 。当节点全部变红的时候证明服务现阶段内就彻底不可用了 。运维人员可以通过Topology迅速发现某一个服务潜在的问题,并进行下一步的排查并做到预防 。
Skywalking Trace监控Skywalking通过业务调用监控进行依赖分析,提供给我们了服务之间的服务调用拓扑关系、以及针对每个endpoint的trace记录 。
我们在之前看到consumer节点服务中发生了错误,让我们一起来定位下错误是发生在了什么地方又是什么原因呢?
微服务异常之链路跟踪APM工具

文章插图
 
在每一条trace的信息中都可以看到当前请求的时间、GloableId、以及请求被调用的时间 。我们分别看一看正确的调用和异常的调用 。
Trace调用链路监控
微服务异常之链路跟踪APM工具

文章插图
 
上图展示的是一次正常的响应,这条响应总耗时19ms;可以详细点击每个span查看详细信息
微服务异常之链路跟踪APM工具

文章插图
 
Service JVM信息监控
微服务异常之链路跟踪APM工具

文章插图
 
Skywalking还可以监控到Service运行时的CPU、堆内存、非堆内存使用率、以及GC情况 。这些信息来源于JVM 。
Skywalking 服务告警上面我们提到了通过查看拓扑图以及调用链路可以定位问题,可是运维人员又不可能一直盯着这些数据,那么我们就需要告警能力,在异常达到一定阈值的时候主动的提示我们去查看系统状态 。
在Sywalking 6.x版本中新增了对服务状态的告警能力 。它通过webhook的方式让我们可以自定义我们告警信息的通知方式 。诸如:邮件通知、微信通知、短信通知等 。
告警的规则配置 。在alarm-settings.xml中可以配置告警规则,告警规则支持自定义 。
微服务异常之链路跟踪APM工具

文章插图
 
1、service_resp_time_rule:告警规则名称 ***_rule (规则名称可以自定义但是必须以’_rule’结尾
2、indicator-name:指标数据名称: 定义参见http://t.cn/EGhfbmd
3、op: 操作符: > , < , = 【当然你可以自己扩展开发其他的操作符】
4、threshold:目标值:指标数据的目标数据 如sample中的1000就是服务响应时间,配合上操作符就是大于1000ms的服务响应
5、period: 告警检查周期:多久检查一次当前的指标数据是否符合告警规则
6、counts: 达到告警阈值的次数
7、silence-period:忽略相同告警信息的周期
8、message:告警信息
文件结尾有最后一个webhooks属性:服务告警通知服务地址


推荐阅读