使用Skywalking 监控dubbo服务

下载安装(以windows为例)

下载

准备

  • Skywalking压缩包,不带ElasticSearch版本
  • mysql环境
  • jdk1.8+
  • mysql驱动包(5.*)需要拷贝到Skywalking解压后的oap-libs目录

注意事项

  • 下载后解压包的位置一定要是英文且不带空格的路径,不然会现一堆问题比如下面
org.apache.skywalking.oap.server.starter.OAPServerBootstrap - 57 [main] ERROR [] - No files in meter-receive-config

  • 第二要将mysql驱动包拷贝到Skywalking解压后的oap-libs目录
  • 第三配置config/application.yml,将下面改成${SW_STORAGE:mysql}
storage:
  selector: ${SW_STORAGE:mysql}

dubbo启动配置

jar包启动

java -jar -javaagent:D:\apache-skywalking-apm-8.2.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -Dskywalking.agent.service_name=dubbo-im-provider -Dskywalking.collector.servers=localhost:10800  dubbo-im-provider.jar

java -jar -javaagent:D:\apache-skywalking-apm-8.2.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -Dskywalking.agent.service_name=dubbo-consumer -Dskywalking.collector.servers=localhost:10800  dubbo-consumer.jar

代码中使用

  • 全链路ID,在全局都是可以调用的,每个请求唯一
log.info("loadMessages traceId {}",TraceContext.traceId());
  • @Trace 注解修饰自己想要加入的跨度信息,即某个方法可以自定义返回值等等。
  • ActiveSpan.info("")在监控链路中打印自己想要的信息;

效果如下

最后

  • 求点赞关注,有问题请留言
  • 文章来源 公众号 苏克分享苏克分享