skywalking指南—oap及UI的搭建

前言: skywalking其他指南请点击以下链接跳转
skywalking指南—skywalking链路追踪
skywalking指南—agent日志采集和插件

一、skywalking的介绍

1.1、何为skywalking

官方介绍: Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.

SkyWalking is an Observability Analysis Platform and Application Performance Management system.

Tracing, Metrics and Logging all-in-one solution.

即分布式系统的应用程序性能监控工具,集追踪、指标和记录一体化的解决方案。
目前具有的功能(辑文时发行版本为: oap 8.9.1, java agent 8.8.0)有

  • Consistent Observability,即支持一致的追踪、指标和日志记录等
  • Multiple Language Agents,有多种语言的探针(或代理),包括java、php、python、Lua等主流语言
  • Lightweight,轻量化框架,使用简单,且无侵入
  • Modular,模块化,功能可插拔
  • Alarm Supported,具有告警功能,可以向钉钉、微信等发送通知
  • Fancy Visualization,UI可视化,具备可定制的仪表盘及拓扑图等
1.2、skywalking中的名词介绍
  • APM: 全称Application Performance Management,应用性能管理
  • OAP : 全称Observability Analysis Platform,可观测性分析平台,文中的oap代指oap-server
  • agent: 探针(代理),本系列采用的都为java探针

二、skywalking oap搭建

2.1、环境
  • 服务器: linux centOS 7.5 / windows
  • oap: 8.8.1
  • ui: 8.8.1
  • java agent: 8.8.0
  • elasticSearch: 本指南暂未使用,es的使用请检索其他文章
  • mysql: 8.0.22
  • apache-dubbo: 3.0.4
  • zookeeper: 3.7.0
    部分与文中有差异的版本,我会在标明如何修改配置
2.2、下载及目录介绍

官方下载地址
General – Distribution – 版本号 [tar]
官方下载
当前版本下agent与oap是需要分开下载的(SkyWalking APM的包中已不再携带java agent)
下载完成后进行解包,包结构如下:
skyWalking APM包结构

  • bin中为脚本执行程序,包含oap的启动,ui的启动
  • config中为oap的配置文件,可以配置application参数,alarm告警配置,网关配置等
  • license中为协议文件
  • oap-libs中为oap运行时所需的jar包
  • webapp中为skywalking ui的jar包及webapp配置文件
  • logs,项目启动后会生成的文件夹,记录启动日志
2.3、启动oap
  1. 安装所需环境(mysql、es等),这里不提供安装环境的具体步骤

  2. 将下好的skywalking apm包在服务器中解压,进入config文件夹,修改application.yml配置文件

  3. 找到core:selector,将下面配置中的restPort及gRPCPort改为可用的端口(如果配置文件中的端口未被占用,则无需修改)
    修改启动端口

  4. 找到storage:selector,将${SW_STORAGE:h2}改为${SW_STORAGE:mysql};并将mysql:properties下的jdbcUrl,user,password改为自己mysql的配置,在mysql下新增一行,添加驱动配置 driver: com.mysql.cj.jdbc.Driver将mysql驱动包放入oap-libs文件夹下
    修改持久化配置

  5. 进入bin文件夹,依次执行./oapServiceInit.sh 和./oapService.sh启动oap服务
    执行启动oap脚本

  6. 进入logs文件夹,查看skywalking-oap-server.log,检查启动结果


三、skywalking UI搭建

3.1、启动UI
  1. 进入webapp文件夹,修改server:port: 18089(如果端口未被占用则无需修改);修改uri为oap的rest地址
    修改ui配置
    2.进入bin文件夹,执行./webappService.sh启动UI。如果oap与ui皆无问题,可以直接执行./startup.sh一并启动oap及ui(不推荐)
    3.进入log文件夹,查看webapp-console.log,检查启动结果
    4.启动完成后,浏览器输入 ip:端口号访问UI,以下就是已经启动好的UI
    UI界面
3.2、UI提供

本人UI访问地址 : http://49.232.139.30:18089/ ,可以看到里面的一些链路信息。


四、搭建中遇到的问题记录

如果大家有什么问题,可以在评论区提出,大家一起来解决。评论区中出现的问题,会一并记录到问题记录中

  1. 控制台已提示SkyWalking OAP started successfully!,但是我的skywalking没法用
    答:skywalking无论启动成功还是失败,都会是这个提醒,只能当作执行完毕的信息。具体执行结果需要去logs文件夹中查看skywalking-oap-server.log来看执行异常的原因。(skywalking UI也一样)最常见的问题即端口号占用,修改端口号后再执行启动脚本即可。

  2. 日志文件中提示无法连接mysql数据库
    答:先使用Navicat/Datagrip等外部client测试数据库可否连接成功。如果成功,再依次检查jdbcUrl、user、password是否填错;是否未添加driver;driver后是否有空格(yml格式问题);driver驱动是否符合你的mysql版本(8.0及之后的驱动是com.mysql.cj.jdbc.Driver,8.0之前是com.mysql.jdbc.Driver);oap-libs中的mysql驱动和你使用的mysql驱动是否一致。
    在控制台中,通过mysql -uroot -p***访问数据库,查看mysql版本
    查看mysql版本
    去mysql官网下载MySQL Connector/J驱动包(链接),并放入oap-libs文件夹中
    下载mysql驱动包

  3. bin文件夹下执行./startup.sh等命令提示Permission denied
    答:这是因为你登陆的用户没有.sh的执行权限,在bin文件夹下使用==chmod 124 *==改写文件权限。(或者是chmod 777 * , 不推荐)


Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐