一、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