天天看点

Skywalking的安装与简单使用Skywalking的安装与简单使用

Skywalking的安装与简单使用

Skywalking:国产APM系统。

官网地址:http://skywalking.apache.org/

github地址:https://github.com/apache/skywalking/tree/master/docs

功能

服务、实例、端点分析;

服务拓扑图分析;

慢查询检测;

告警;

核心概念

先来一张官方图。

Skywalking的安装与简单使用Skywalking的安装与简单使用

Agent(探针):Agent 运行在各个服务实例中,负责采集服务实例的 Trace 、Metrics 等数据,然后通过 gRPC 方式上报给 SkyWalking 后端。

OAP:SkyWalking 的后端服务,其主要责任有两个。

一个是负责接收 Agent 上报上来的 Trace、Metrics 等数据,交给 Analysis Core (涉及 SkyWalking OAP 中的多个模块)进行流式分析,最终将分析得到的结果写入持久化存储中。SkyWalking 可以使用 ElasticSearch、H2、MySQL 等作为其持久化存储,一般线上使用 ElasticSearch 集群作为其后端存储。

另一个是负责响应 SkyWalking UI 界面发送来的查询请求,将前面持久化的数据查询出来,组成正确的响应结果返回给 UI 界面进行展示。

UI 界面:SkyWalking 前后端进行分离,该 UI 界面负责将用户的查询操作封装为 GraphQL 请求提交给 OAP 后端触发后续的查询操作,待拿到查询结果之后会在前端负责展示。

搭建

版本关系

Skywalking 6.X需要使用Elasticsearch 6.X,5.X或7.X的Elasticsearch存在兼容性问题。

Skywalking官方下载路径:http://skywalking.apache.org/downloads/。

本机测试版本:

Skywalking:6.5.0

https://archive.apache.org/dist/skywalking/6.5.0/

Elasticsearch:6.8.6

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz

Kibana:6.6.1

https://artifacts.elastic.co/downloads/kibana/kibana-6.6.1-darwin-x86_64.tar.gz(mac版本,其他环境选择其他版本)

安装步骤

ES安装

解压ES安装包

tar -zxf elasticsearch-6.8.6.tar.gz
           

进入bin目录下,执行elasticsearch。 -d命令可后台执行。

./bin/elasticsearch
           

根目录下会生成logs文件,其中elasticsearch.log为日志文件。

也可修改config目录下elasticsearch.yml文件制定日志、数据存储位置,ES相关配置不再赘述。

tail -f logs/elasticserach.log 
           

查看后台日志,若无报错信息,则说明启动成功。

浏览器输入:localhost:9200,界面展示如下,说明安装成功。

{
  "name" : "dKPueZZ",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yriBScj_QfmnDiUwSkdyQA",
  "version" : {
    "number" : "6.8.6",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "3d9f765",
    "build_date" : "2019-12-13T17:11:52.013738Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.2",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
           
Kibana安装

kibana是为了查看ES数据,非必要。

加压kibana安装包

tar -zxf  kibana-6.6.1-darwin-x86_64.tar.gz
           

修改kibana配置文件,指定elasticsearch集群。

配置文件路径config/kibana.yml文件

elasticsearch.hosts: ["http://127.0.0.1:9200"]
           

启动kibana

./bin/kibana
           

启动后访问localhost:5602,查看kibana地址。

Skywalking的安装与简单使用Skywalking的安装与简单使用

界面正常表示启动成功。

skywalking安装

解压安装包

tar -zxf apache-skywalking-apm-6.5.0.tar.gz
           

修改配置文件,指定ES地址

配置文件目录:config/application.yml

默认使用h2,将storage下h2节点全部注释,放开storage下elasticsearch,并调整clusterNodes为实际ES地址。若为设置密码,保留默认配置即可。

Skywalking的安装与简单使用Skywalking的安装与简单使用

skywalking分为OAP、webApp、agent三部分,执行bin目录下startup.sh (mac、linux系统,windows执行.bat),会启动OAP和WebApp两个服务。APP是前端界面,默认端口为8080,若端口冲突,可至webapp目录下,修改webapp.yml中server.port配置实现修改端口。

12800端口为监听OAP端口,默认即可,端口冲突情况下也可修改。

webapp、OAP日志在/logs下。

webapp:webapp.log

OAP:skywalking-oap-server.log

若无error日志,则说明启动成功。访问localhost:8080,可进入webApp UI界面。

至此,Skywalking安装成功。

使用

下面说一下如何使用。

skywalking是通过agent的方式实现,比较较zipkin和cat来说,skywalking更加友好,对代码是零侵入性。

只需要在启动jar的时候指定agent路径即可。

如下为idea中配置启动参数:

-javaagent:/yourpath/apache-skywalking-apm-bin/agent/skywalking-agent.jar
-Dskywalking.collector.backend_service=127.0.0.1:11800
-Dskywalking.agent.service_name=your_app_name
           

java -jar启动:

java -javaagent:/yourpath/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar   your_app.jar
           
UI说明

仪表盘

访问localhost:8080,进入ui界面。

Skywalking的安装与简单使用Skywalking的安装与简单使用

1:控制台主菜单,分为仪表盘,拓扑图,追踪,告警,指标对比五个界面。仪表盘下有包含Service和DataBase。

2:当前服务可选择要查看的服务,当前端点下拉可选择当前服务下所有端点,当前实例下拉可选择所有实例。

3:不同维度的小菜单。

Global:全局视图;Service:服务详细视图;Endpoint:端点详细视图;Instance:服务详细视图。

4:Global Heatmap:热力图,某个时间段内请求热度,9处为具体时间段,可任意更换时间段。

5:Global Response Time Percentile:时间段p50、p75、p90、p95、p99指标;

6:Global Brief:skywalking所感知到的具体服务数量;

7:Global Top Throughput:吞吐量排名;

8:Global Top Slow Endpoint:耗时排名的Endpoint。

Service视图

Skywalking的安装与简单使用Skywalking的安装与简单使用

1:Servoce Avg ResponseTime:指定服务的平均耗时;Service ResponseTime:图。

2:Service Avg Throughput:指定服务平均吞吐量;Service Throughput:图。

3:Service Avg SLA:指定服务的平均SLA(服务等级协议);Service SLA:图。

4:Global Percent Response :全局响应时间的分位数;

5:Service Percent Response :指定服务响应时间的分位数;

6:Service Slow Endpoint :指定服务中耗时比较长的 Endpoint 信息。

7:Running ServiceInstance :指定服务下的实例信息。

Endpoint视图

Skywalking的安装与简单使用Skywalking的安装与简单使用

此界面展示指定Endpoint视图,与Service雷同,不再赘述。

Instance视图

Skywalking的安装与简单使用Skywalking的安装与简单使用

此界面主要是指定实例信息,平均响应时间、请求次数、SLA指标、JVM信息、GC使用频次与耗时、CPU使用率等等。

拓扑图

Skywalking的安装与简单使用Skywalking的安装与简单使用

此处可以看到具体的调用链路。

追踪

Skywalking的安装与简单使用Skywalking的安装与简单使用

此处展示指定Endpoint的调用信息,包含DB调用等。

可具体查看某一阶段信息。

Skywalking的安装与简单使用Skywalking的安装与简单使用

告警需要配置具体策略,此处略。

指标对比是不同服务端点相关对比,此处略。