Skywalking安装


一、Skywalking包(8.4.0)基本介绍

  • skywalking agent和业务系统绑定在一起,负责手机各种监控数据
  • Skywalking oapservice是负责处理监控数据的,比如:接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库查询数据,并返回给前端。Skywalking oapservice通常以集群的形式存在。
  • Skywalking webapp,前端界面,用于展示监控结果数据。
  • 数据库:用于存储监控数据,比如:mysql、elasticsearch等。
skywalking安装包目录结构 ①webapp:UI前端(web监控页面)的jar包和配置文件; ui页面的启动端口,可以修改webapp.yml,默认是8080 ②oap-libs:后台应用的jar包,以及它依赖的jar包,里边有一个server-starter-*.jar就是启动程序; ③config:启动后台应用程序的配置文件,是使用的各种配置 在application.yml中可以配置使用的存储方式等信息,默认使用h2内存方式,例如我修改为es7存储。 ④bin:各种启动脚本,一般使用脚本startup.*来启动web页面和对应的后台应用;
  • oapService.*:默认使用的后台程序的启动脚本(使用的是默认启动模式);
  • oapServiceInit.*:使用init模式启动;在此模式下,OAP服务器启动以执行初始化工作,然后退出
  • oapServiceNoInit:使用no init模式启动;在此模式下,OAP服务器不进行初始化
  • webappService.*:UI前端的启动脚本;
  • startup.*:组合脚本,同时启动oapService.*,webappService.*脚本
⑤agent:
  • skywalking-agent.jar:代理服务jar包
  • config:代理服务启动时使用的配置文件
  • plugins:包含多个插件,代理服务启动时会加载该目录下的所有插件(实际是各种jar包)
  • optional-plugins:可选插件,当需要支持某种功能时,比如SpringCloud Gateway,则需要把对应的jar包拷贝到plugins目录下
  控制台没有答应启动是否成功以及端口等信息,当启动时会创建logs文件夹,分别生成skywalking-oap-server.log、webapp.log 先看skywalking-oap-server.log的端口 skywalking-oap-server会暴露11800和12800两个端口,分别为收集监控数据的端口11800和接受前端ui请求的端口12800,修改端口可以application.yml。

二、环境

  • 系统:CentOS 7.6
  • skywalking软件版本:8.4(最新)
  • java版本:8
  • 后端存储:ES7
多说一句 Skywalking自带演示H2,但实际测试下来真的是演示前端,只有个界面,那还不如直接看Github的Demo环境,所以建议还是用ES。 操作系统环境: [root@localhost es]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@localhost es]# 三、ES7安装 1.安装JDK环境 dnf -y install java wget 
dnf
新一代的RPM软件包管理器
DNF 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。
DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用DNF。
安装dnf:yum install dnf
检查一下: [root@localhost ~]# java -version openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode) [root@localhost ~]# 2.下载ES7包(rpm安装方式) wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-x86_64.rpm  rpm -ivh elasticsearch-7.11.1-x86_64.rpm  [root@localhost es]# rpm -ivh elasticsearch-7.11.1-x86_64.rpm 警告:elasticsearch-7.11.1-x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY 准备中... ################################# [100%] Creating elasticsearch group... OK Creating elasticsearch user... OK 正在升级/安装... 1:elasticsearch-0:7.11.1-1 ################################# [100%] ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service Created elasticsearch keystore in /etc/elasticsearch/elasticsearch.keystore [root@localhost es]#   3.启动ES7 systemctl start elasticsearch.service&&systemctl enable elasticsearch.service  4.检查ES7状态 此时无法访问,由于初始化配置文件未配置的原因。 访问:ip:9200如下: 5.修改ES配置文件 vi /etc/elasticsearch/elasticsearch.yml  修改集群名称,记得格式要对齐 允许所有IP访问,同样格式对其 由于是单机环境,所以只需要一个 6.重启es服务并验证(如果重启失败,注意检查格式是否正常,格式对齐就没啥问题) systemctl restart elasticsearch.service 

四、Skywalking部署

1.下载安装包 wget https://archive.apache.org/dist/skywalking/8.4.0/apache-skywalking-apm-es7-8.4.0.tar.gz 2.解压安装包 mkdir /skywalking  mv apache-skywalking-apm-es7-8.4.0.tar.gz  /skywalking/  cd skywalking   tar -zxvf apache-skywalking-apm-es7-8.4.0.tar.gz  cd apache-skywalking-apm-bin-es7/ 3.修改skywalking配置文件 vi config/application.yml  找到存储选项,选择器里填写elasticsearch7,因为是ES7 填写ES7集群名称以及IP地址   开启自监控:开启telemetry 修改为:   开启自监控 4.安装java及启动skywalking dnf -y install java   sh bin/startup.sh   [root@localhost apache-skywalking-apm-bin-es7]# sh bin/startup.sh SkyWalking OAP started successfully! SkyWalking Web Application started successfully! [root@localhost apache-skywalking-apm-bin-es7]# 启动成功 ps -ef | grep java 5.访问前端 访问正常 参考:https://os.51cto.com/art/202103/648414.htm