下班前10分钟光速安装skywalking并解决报错

看标题就知道我当时慌的一批

下载方式

可以从官网下载apache-skywalking-apm-$version.tar.gz包。在windows或linux下都可以解压,因为运行参数需要指定里面的jar包,建议在开发环境也搞一个。

Windows下载解压后(.tar.gz直接用解压软件打开),直接点击bin/startup.bat就可以运行,但我们需要配置些东西,我在下面结合报错说。这个时候实际上是启动了两个项目,一个收集器collector(11800端口,供java项目连接用),一个web监控页面,默认8080端口。
进入解压目录,果不其然,就像许多springcloud组件一样,skywalking监控页面也是基于springboot的。根据约定大于配置的思想,很容易就理解项目结构了。
我的版本是8.3.0
修改监控页面端口
如有需要,修改webapp目录下的webapp.yml文件。8080端口竟然被占用,我们要把端口号调教成我们的形状。(我随手弄了个8079先用着)。

报错解决

苦命鸳鸯双双启动失败doge

  • 适用症状
    • windows下表现为两个命令行端口闪现
    • linux下脚本输出启动成功,通过netstat或jps命令却发现没有进程

解决方法:
安装目录不要有中文空格。同一个中文字符在不同字符集下为不同的数值,但前128个字符通常和ASCII字符集保持一致,为了统一且省事,很多软件安装时都不要在中文路径下。

监控页面状态码500,需配置数据库

  • 适用症状
    collector没有成功启动,可以看到监控页面的springboot命令行窗口,但另一个窗口(之前说的收集器collector)闪现一下就消失了。

  • 原因
    我的情况是没有改配置就直接启动了。collector的配置文件在config文件夹下的application.yml中。
    此时需要修改的只有一项:存储配置。skywalking需要有一个地方存放数据,现在常用的是ES7,不过我当时只有mysql。
    直接在配置文件中用ctrl+F查找storage,该配置下第一行为

selector: ${SW_STORAGE:es7}

我们将es7改为mysql(如果你这会儿不用ES7的话),让skywalking选择用mysql存储,然后在下面找到mysql的配置,修改连接属性。
其他不需要的存储可以先用#注释或直接删除,当然放着不管也没啥事,因为在这个版本的skykwalking中,是用刚才配置的selector配置项来决定存储方式的。

mysql:
    properties:
      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/skywalking?serverTimezone=Asia/Shanghai"}
      dataSource.user: ${SW_DATA_SOURCE_USER:root}
      dataSource.password: ${SW_DATA_SOURCE_PASSWORD:你的密码}

修改对应项即可,其他不用管。要连接的数据库需要自己手动新建。
然后启动即可在浏览器访问到监控页面。

还有,本身skywalking没有添加支持mysql的依赖,我们要把mysql-connector-java的jar包放在oap-libs目录下。

java项目启动参数配置

idea顶端运行按钮旁边,编辑运行配置Edit Configuration,
编辑VM Options
下班前10分钟光速安装skywalking并解决报错_第1张图片

-javaagent:E:\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=当前微服务的名称,随便写
-Dskywalking.agent.collector.backend_service=localhost:11800

你可能感兴趣的:(QUEST,CLEAR,问题解决,java)