Skywalking系列博客2

Stella981
• 阅读 425

TIPS

本文基于Skywalking 6.6.0编写,理论支持Skywalking 6.0+所有版本。

本文探讨如何使用Skywalking监控应用。

Skywalking有多种使用方式,目前最流行(也是最强大)的使用方式是基于Java agent的。

Java agent支持的框架、中间件等,可在 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/Supported-list.md 查看。

TIPS

  • 除Java agent方式外,Skywalking还支持其他语言的agent,详见 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/README.md#language-agents-in-service
  • 此外,Skywalking还支持基于Service Mesh(例如Istio,详见 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/README.md#service-mesh )、Proxy(例如Envoy Proxy,详见 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/README.md#service-mesh ) ,不过这两种使用方式目前还不是特别流行,故此不做赘述,其实也比较简单。感兴趣的童鞋也可以研究一下。

配置java agent

  • 找到SkyWalking包中的 agent 目录,agent目录结构如下

    +-- agent
        +-- activations
             apm-toolkit-log4j-1.x-activation.jar
             apm-toolkit-log4j-2.x-activation.jar
             apm-toolkit-logback-1.x-activation.jar
             ...
        +-- config
             agent.config  
        +-- plugins
             apm-dubbo-plugin.jar
             apm-feign-default-http-9.x.jar
             apm-httpClient-4.x-plugin.jar
             .....
        skywalking-agent.jar
    
  • agent 目录拷贝到任意位置

  • 配置

    config/agent.config
    

    • agent.service_name 修改成你的微服务名称;
    • 如果Skywalking和微服务部署在不同的服务器,还需修改 collector.backend_service 的值,该配置用来指定微服务和Skywalking通信的地址,默认是 127.0.0.1:11800 ,按需修改即可。当然 agent.config 文件里面有很多的配置,本文下面的表格有详细讲解。

启动应用

java -jar 启动的应用

例如,有一个Spring Boot应用,则修改完 agent 目录后:

  • 执行如下命令启动:

    # 注意-javaagent得在-jar之前哦
    java -javaagent:/opt/agent/skywalking-agent.jar -jar somr-spring-boot.jar
    
  • 如果想在IDE中启动测试,则可参考下图配置,然后启动即可。

    Skywalking系列博客2

传统Tomcat应用

Linux Tomcat 7-9

修改 tomcat/bin/catalina.sh 的第一行:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/agent/skywalking-agent.jar"; export CATALINA_OPTS

Windows Tomcat 7-9

修改 tomcat/bin/catalina.bat 的第一行:

set "CATALINA_OPTS=-javaagent:/opt/agent/skywalking-agent.jar"

效果演示

使用Skywalking监控应用后,当应用API被访问时,就会展示类似如下的图表。

首页:

Skywalking系列博客2

网络拓扑:可以分析请求的网络去向。例如下图,表示请求首先打到了foodie-dev这个微服务,然后又请求了localhost:3306 这个MySQL数据库。

Skywalking系列博客2

追踪:这个导航栏是我们定位问题时最常用的,可以搜索查询的具体细节。定位性能瓶颈出在了哪个阶段。

Skywalking系列博客2

告警:顾名思义。Skywalking可配置告警规则,当超出配置的阈值时,就推送告警信息。

指标对比:可以对任意的指标进行对比。

相关文章

原文首发

http://www.itmuch.com/skywalking/skywalking-using/

本文由博客一文多发平台 OpenWrite 发布!

点赞
收藏
评论区
推荐文章
秃头王路飞 秃头王路飞
2个月前
webpack5手撸vue2脚手架
webpack5手撸vue相信工作个12年的小伙伴们在面试的时候多多少少怕被问到关于webpack方面的知识,本菜鸟最近闲来无事,就尝试了手撸了下vue2的脚手架,第一次发帖实在是没有经验,望海涵。 language JavaScript "name": "vuecliversion2", "version": "1.0.0", "desc
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、 请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。 创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现 接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿 吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
2个月前
css问题
1、 在IOS中图片不显示(给图片加了圆角或者img没有父级) <div<img src""/</div div {width: 20px; height: 20px; borderradius: 20px; overflow: h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
小森森 小森森
2个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本 欢迎添加左边的微信一起探讨!项目地址:](https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n) \2. Bug修复更新日历 2. 情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意), \ \ 和 注意
晴空闲云 晴空闲云
2个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。 盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
Stella981 Stella981
1年前
SkyWalking Agent配置
版本:7.0.0 ======== 官方文档位置 ====== docs/en/setup/service-agent/java-agent/Setting-override.md 配置及覆盖说明 ======= 支持的配置形式 ------- **skywalking支持多种配置形式** * **Config file:** 相对skywa
艾木酱 艾木酱
1个月前
快速入门|使用MemFire Cloud构建React Native应用程序
> MemFire Cloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Stella981 Stella981
1年前
Skywalking源码分析系列文章
目录 1\. Skywalking整体架构 2.Skywalking agent篇 2.1 字节码技术 2.2 Skywalking agent 如何设计 2.3 Skywalking agent  技术细节 3\. Skywalking 通信篇 3.1 GRPC通信原理详解 3.2 Skywal
Stella981 Stella981
1年前
Arthas协助排查线上skywalking不可用问题
前言 == 首先描述下问题的背景,博主有个习惯,每天上下班的时候看下skywalking的trace页面的error情况。但是某天突然发现生产环境skywalking页面没有任何数据了,页面也没有显示任何的异常,有点慌,我们线上虽然没有全面铺开对接skywalking,但是也有十多个应用。看了应用agent端日志后,其实也不用太担心,对应用毫无影响。大概情
helloworld_28799839 helloworld_28799839
2个月前
常用知识整理
# Javascript ## 判断对象是否为空 ```js Object.keys(myObject).length === 0 ``` ## 经常使用的三元运算 > 我们经常遇到处理表格列状态字段如 `status` 的时候可以用到 ``` vue