Skywalking安装部署手册

版本号


skywalking:v8.3.0

项目结构


目前项目中使用的skywalking组件由三部分组成

skywalking-oap

skywalking主要链路收集组件,用于收集系统中的链路信息。

skywalking-ui

skywalking主要展示组件,提供了一个ui界面,可以查看各种链路及参数信息。

skywalking-agent

skywalking提供的客户端接入方式,利用探针技术无侵入的结合到客户端中,收集客户端中的链路信息发送到oap中。

注意安装之前必须安装 Elasticsearch,否则无法安装成功,

安装Elasticsearch的过程,如下:

https://blog.csdn.net/xulong5000/article/details/113625357

第一种安装方式 :虚拟机部署


提供skywalking-oap | skywalking-ui的部署方式。

* 下载适合版本的压缩包,下载地址(若使用elasticsearch7以上版本存储数据,需下载对应es7版本的安装包)

wget https://mirror.bit.edu.cn/apache/skywalking/8.3.0/apache-skywalking-apm-es7-8.3.0.tar.gz

解压后进入程序目录

tar -xvf apache-skywalking-apm-es7-8.3.0.tar.gz

cd apache-skywalking-apm-bin-es7/

修改配置文件

vim config/application.yml 

数据存储设置

若selector指定elasticsearch7以上版本,安装包必须使用elasticsearch7版本,否则启动时会报错

此处使用ES7存储,必须指定节点地址及名称

\若使用其他数据库存储(MySQL/H2等),需要修改selector标签指定的数据库及相应配置

其余设置项使用默认即可,如有需要可调整

启动skywalking

bin/startup.sh

 浏览器打开8080端口,启动成功

第二种安装方式:docker部署(推荐) 推荐理由: 这种方式简单 易懂

提供skywalking-oap | skywalking-ui的部署方式。

配置docker环境

安装docker

yum install -y docker

安装docker-compose

yum install -y docker-compose

启动docker

systemctl start docker

拉取镜像

skywalking-oap-server镜像地址(若使用elasticsearch7以上版本存储数据,需拉取对应es7版本的镜像)

docker pull apache/skywalking-oap-server:8.3.0-es7

skywalking-ui镜像地址

docker pull apache/skywalking-ui:8.3.0

启动方式

使用docker命令启动

启动skywalking-oap-server

docker run --name oap --restart always -d -p 11800:11800 -p 12800:12800 -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=172.16.5.33:9200 apache/skywalking-oap-server:8.3.0-es7

解释:上面这句语句:要里面oap的意思是 去收集系统中的链路信息,也就是去获取 ES里面的数据,和存储。所以

 -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=172.16.5.33:9200

这句话就是 匹配到之前安装的 ES上面,  一般只需要修改  :172.16.5.33:9200   ,Ip地址 是服务器地址,端口号就是 ES的配置文件yml里面配置的端口号。

这里的端口号。

第一个  11800  就是  oap对外端口号,就是哪里需要用到 oap就用这个端口号。 就是java项目里面 需要把数据日志 推送到oap,oap再存储到ES中

第二个11800就是在容器里面的端口号。

第一个 12800 就是 跟下面的  ui 绑定的端口号,下面ui里面的 -e SW_OAP_ADDRESS=172.16.5.33:12800 地址 中的12800就是这个端口号

第二个 12800就是容器自己的端口号

172.16.5.33:9200  这个就是ES的访问地址,ip+端口号

启动skywalking-ui

docker run --name ui --restart always -d -p 8080:8080 -e SW_OAP_ADDRESS=172.16.5.33:12800 apache/skywalking-ui:8.3.0

说明:

第一个8080  就是 外部访问的端口号,例如访问skywalking ,就可以用 172.16.5.33:8080,当然端口号可以配置为其他的 我在服务器上用的核实 8001

第二个8080就是 docker内部容器的端口号

172.16.5.33:12800   就是 上面安装的oap的地址,已经他的端口号。这里 两个中间件都是安装在同一个服务器上,所以ip地址是一样的,其实也可以分开安装。

查看容器状态

docker ps -a

第三种安装方式,就是用docker 容器编排  :使用docker-compose命令启动(推荐)

在任意一个文件夹下面,创建一个文件,文件为docker-compose.yml

编辑docker-compose.yml文件

version: '2'

services:

    oap:

           image: 'docker.io/apache/skywalking-oap-server:8.3.0-es7'

           container_name: 'skywalking-oap-server'

           ports:

                  - '11800:11800'

                  - '12800:12800'

           restart: always

           environment:

                 - SW_STORAGE=elasticsearch7

                 - SW_STORAGE_ES_CLUSTER_NODES=172.16.5.33:9200

                 - TZ=Asia/Shanghai

   ui:

          image: 'docker.io/apache/skywalking-ui:8.3.0'

         container_name: 'skywalking-ui'

         ports: - '8080:8080'

         restart: always

        environment:

             - SW_OAP_ADDRESS=172.16.5.31:12800 - TZ=Asia/Shanghai

启动

docker-compose up -d

查看容器启动状态

docker-compose ps

安装成功之后,打开UI地址,就可以看到界面

 

客户端引用


客户端通过引入skywalking-agent模块发送链路信息,具体使用方式参考Skywalking-agent使用说明


常见问题


分片不足

ES运行一段时间后出现以下错误信息

原因是ES7默认分片是1000,可通过接口/_cluster/settings手动调整

{

"transient":

      {

          "cluster":

                     {

                          "max_shards_per_node":10000

                    }

             }

}

猜你喜欢

转载自blog.csdn.net/xulong5000/article/details/113632628