SkyWalking 安装与运行教程

前言

SkyWalking 支持使用 ElasticSearch、H2、MySQL、TiDB、Sharding Sphere 来存储跟踪数据,部分存储类型需要高版本的 SkyWalking 才支持。

二进制安装

安装 ElasticSearch

SkyWalking 从 5.x 版本开始支持使用 ES 作为存储,所以先下载 ES。这里使用的 ES 是 5.6.10 版本,使用的 Linux 下载命令如下:

1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.zip

解压下载得到的文件,使用的 Linux 解压命令如下:

1
unzip elasticsearch-5.6.10.zip

解压后整体的目录结构如下:

1
2
3
4
5
6
7
8
9
elasticsearch-5.6.10
├── bin
├── config
├── lib
├── LICENSE.txt
├── modules
├── NOTICE.txt
├── plugins
└── README.textile

其中 bin 目录存放的是 ES 的启动等命令,config 目录存放的是 ES 的启动配置。config 的目录结构如下:

1
2
3
4
config
├── elasticsearch.yml
├── jvm.options
└── log4j2.properties

elasticsearch.yml 配置文件中的 cluster.name 参数配置更改为 CollectorDBCluster,这个名字可以是其他的,只要和后面 SkyWalking 的 Collector 的配置一致即可:

1
2
3
4
5
6
7
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: CollectorDBCluster
#
# ------------------------------------ Node ------------------------------------

配置完成后就可以启动 ES,因为启动相关的脚本在 bin 目录下,所以进入 bin 目录执行以下命令:

1
./elasticsearch

ES 成功启动后,会输出如下日志信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[2019-05-14T15:03:04,103][INFO ][o.e.p.PluginsService     ] [YKDCSjD] loaded module [aggs-matrix-stats]
[2019-05-14T15:03:04,104][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [ingest-common]
[2019-05-14T15:03:04,104][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [lang-expression]
[2019-05-14T15:03:04,104][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [lang-groovy]
[2019-05-14T15:03:04,104][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [lang-mustache]
[2019-05-14T15:03:04,104][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [lang-painless]
[2019-05-14T15:03:04,105][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [parent-join]
[2019-05-14T15:03:04,105][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [percolator]
[2019-05-14T15:03:04,105][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [reindex]
[2019-05-14T15:03:04,105][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [transport-netty3]
[2019-05-14T15:03:04,105][INFO ][o.e.p.PluginsService ] [YKDCSjD] loaded module [transport-netty4]
[2019-05-14T15:03:04,106][INFO ][o.e.p.PluginsService ] [YKDCSjD] no plugins loaded
[2019-05-14T15:03:05,687][INFO ][o.e.d.DiscoveryModule ] [YKDCSjD] using discovery type [zen]
[2019-05-14T15:03:06,199][INFO ][o.e.n.Node ] initialized
[2019-05-14T15:03:06,200][INFO ][o.e.n.Node ] [YKDCSjD] starting ...
[2019-05-14T15:03:06,491][INFO ][o.e.t.TransportService ] [YKDCSjD] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2019-05-14T20:03:09,598][INFO ][o.e.c.s.ClusterService ] [YKDCSjD] new_master {YKDCSjD}{YKDCSjD0Q12w-HyuUeJY2g}{eqEbk74PSEusfXG3cFIFAw}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)[, ]
[2019-05-14T20:03:09,636][INFO ][o.e.h.n.Netty4HttpServerTransport] [YKDCSjD] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2019-05-14T20:03:09,636][INFO ][o.e.n.Node ] [YKDCSjD] started
[2019-05-14T20:03:09,641][INFO ][o.e.g.GatewayService ] [YKDCSjD] recovered [0] indices into cluster_state

安装 SkyWalking

官网 下载 SkyWalking 的 5.0.0-GA 版本,使用的 Linux 下载命令如下:

1
wget https://archive.apache.org/dist/incubator/skywalking/5.0.0-GA/apache-skywalking-apm-incubating-5.0.0-GA.zip

解压下载得到的文件,使用的 Linux 解压命令如下:

1
unzip apache-skywalking-apm-incubating-5.0.0-GA.zip

解压后整体的目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
apache-skywalking-apm-incubating
├── agent
├── bin
├── collector-libs
├── config
├── DISCLAIMER
├── LICENSE
├── licenses
├── NOTICE
├── README.txt
└── webapp

这里解释一下目录中的结构:

  • agent 目录是探针相关的。
  • bin 目录存放的是 collectorServicewebappService 的启动脚本,startup 是可以同时启动前面两个脚本的合并命令。
  • config 目录存放的是 Collector 的相关配置信息。
  • log 目录存放的是启动 Collector 和 WebApp 后生成的日志文件。
  • webapp 是存放 SkyWalking 展示 UI 的 Jar 和配置文件。SkyWalking 默认会使用 8080、10800、11800、1280 这些端口,如果要修改端口,则应该在 config 目录下的 application.yml 文件和 webapp 目录下的 webapp.yml 配置文件中修改。

查看 SkyWalking 的 config 目录中 application.yml 文件可得知,SkyWalking 默认会通过 Transport Client 去连接(TCP 协议)Elasticsearch(通常是低版本),因为连接的端口是 9300,而不是通过 REST Client 去连接(HTTP 协议) 9200 端口,如下所示:

1
2
3
storage:
elasticsearch:
clusterNodes: localhost:9300

上面中提到 elaticsearch.yml 中配置的 cluster.name 必须要和 SkyWalking 的 config 目录中 application.yml 文件中的 clusterName 对应上,如下所示:

1
2
3
4
storage:
elasticsearch:
clusterName: CollectorDBCluster
......

配置完成后就可以启动 SkyWalking,因为启动相关的脚本在 bin 目录下,所以进入 bin 目录执行以下命令:

1
./startup.sh

SkyWalking 成功启动后,会输出如下日志信息:

1
2
SkyWalking Collector started successfully!
SkyWalking Web Application started successfully!

在浏览器的地址栏输入 http://localhost:8080,就可以访问 SkyWalking 的管理界面,默认用户名 / 密码是 admin / admin

登录后界面如下,其中 WebApp(UI 进程)默认是通过 127.0.0.1:10800 访问本地 Collector,无须额外配置

安装步骤总结

  • (1) 启动 ElasticSearch。
  • (2) 启动 SkyWalking 的 Collector 和 WebApp 两个进程。

相关资源