SkyWalking环境搭建

1.2.1 SkyWalking相关包下载

这里笔者将结合CentOS 7系统,向大家介绍SkyWalking的环境搭建过程。从SkyWalking官网可下载的版本中,您会发现其提供了多个针对不同类型数据库和不同版本的包,这里我们选择目前最新的针对ElasticSearch 6的8.6.0版本。

其操作步骤如下:

  1. 单击"Distribution"按钮,如图1-3所示;
  2. 在图1-3所示的可下载版本列表中,单击"v8.6.0 for ElasticSearch 6"版本下方的"tar"链接;
  3. 从SkyWalking官网推荐的链接(即:清华镜像站)下载tar压缩包文件,如图1-4所示;
  4. "apache-skywalking-apm-8.6.0.tar.gz"文件下载完成后,将其拷贝到CentOS虚拟机的新创建的"/usr/local/skywalking"目录下,如图1-5所示。

图1-3

图1-4

图1-5

1.2.2 ElasticSearch环境配置

结合上一小节下载的SkyWalking版本需要ElasticSearch 6版本,所以这里笔者下载一个6.8.3版本的包,并将其同样拷贝到"/usr/local/skywalking"目录下,如图1-6所示。

图1-6

接下来,我们一起来进行ElasticSearch环境的安装与配置,其操作步骤如下:

解压"elasticsearch-6.8.3.tar.gz"压缩包,操作命令为

tar -zxvf elasticsearch-6.8.3.tar.gz

为了保证ElasticSearch可以正常启动,您需要修改Linux系统的一些限制性配置。Linux默认情况下,一般限制应用最多创建65535个文件,但ElasticSearch至少需要65536个文件创建数的权限。同时还要修改非root用户可开始1024个线程的限制,因为ElasticSearch的启动要求为非root用户启动,且ElasticSearch至少需要4096的线程池预备。编辑"limits.conf"配置文件,其操作命令为

vim /etc/security/limits.conf 或 vi /etc/security/limits.conf

在"limits.conf"配置文件的末尾加入如下4行配置,如图1-7所示,保存并退出该文件。

图1-7

ElasticSearch需要一个65536以上字节的虚拟内存空间,所以需要修改"sysctl.conf"文件,其操作命令为

vim /etc/sysctl.conf 或 vi /etc/sysctl.conf

在其文件的末尾,加入1行配置内容,如图1-8所示,保存并退出该文件。

图1-8

与配置"limits.conf"文件不同,"sysctl.conf"文件在修改后,需要执行"sysctl -p"命令,重新加载配置文件,新的配置项内容才会生效,如图1-9所示。需要说明的是如果在-p参数后不指定文件则默认加载"sysctl.conf"文件。

图1-9

ElasticSearch强制要求在Linux中不能使用root用户启动,所以必须使用其他的用户来启动它,这里我们为其创建一个新的用户,对应的命令操作为

#创建一个新的用户,用户名为es

useradd es

#为新用户es创建密码,需要注意的是密码不能过于简单,否则会创建密码失败(比如:可以创建密码uiop0990)

passwd es

#修改elasticsearch-6.8.3目录的拥有者为新创建的es用户

chown -R es elasticsearch-6.8.3

相关命令的操作过程及执行结果如图1-10所示。

图1-10

进入到elasticsearch-6.8.3的bin子目录并以es用户执行"elasticsearch",其命令操作为

#进入elasticsearch-6.8.3/bin目录

cd elasticsearch-6.8.3/bin

#切换为es用户

su es

elasticsearch 后台启动

./elasticsearch -d

相关命令的操作过程及执行结果如图1-11所示。

图1-11

验证elasticsearch-6.8.3是否可以正常访问,进入CentOS虚拟机,打开浏览器并输入"http://localhost:9200",若出现图1-12所示界面则说明ElasticSearch安装配置正常,环境搭建成功。

图1-12

1.2.3 SkyWalking环境配置

ElasticSearch环境配置完成后,接下来就可以进行SkyWalking的环境配置了,具体操作过程如下:切换为root用户,进入CentOS虚拟机的"/usr/local/skywalking"目录,解压SkyWalking压缩包,其命令操作为

su root

tar -zxvf elasticsearch-6.8.3.tar.gz

相关命令的操作过程及执行结果如图1-13所示。

图1-13

查看解压后的目录名称,并进入到该目录,如图1-14所示。

图1-14

使用vim或者vi命令,编辑config子目录下的application.yml文件,将该文件的第112行内容由"selector: {SW_STORAGE:h2}",参见图1-15所示,替换为"selector: {SW_STORAGE:elasticsearch}",如图1-16所示。即:将以前默认连接H2数据源替换为连接ElasticSearch数据源。无需修改该文件的其他内容。

图1-15

图1-16

SkyWalking提供了一个非常友好美观的界面供使用者查看服务链路的拓扑图、链路追踪等,其默认使用的端口为8080,如果8080端口已经被其他应用占用,您就必须要修改webapp目录下的webapp.yml文件的port参数为与其他应用不冲突的其他端口,如图1-17所示。这里由于笔者没有其他应用使用8080端口,故不做修改。

图1-17

上述配置操作完成后,您就可以切换到bin子目录下,执行startup.sh来启动SkyWalking了,如图1-18所示。 startup.sh启动包括2部分内容,启动SkyWalking后台服务(用于收集探针发送回来的数据,并将这些数据存储在ElasticSearch中)和启动SkyWalking可视化界面(用于查看格式化输出的数据内容)。

图1-18

您就可以在CentOS虚拟机的浏览器中输入"http://localhost:8080"来访问SkyWalking提供的可视化界面,查看探针搜集回来的数据内容。因为目前没有数据,所以仪表盘等内容为空,如图1-19所示。

图1-19

1.2.4 SkyWalking Agent

SkyWalking通过加载探针(Agent),以非侵入式 的方式收集应用上使用到的组件动态进行监控,将采集的调用链路数据信息发送到SkyWalking后端OAP(即:Observability Analysis Platform);然后进行分析并存储到外部存储器(这里存储到ElasticSearch ),最终提供给使用者通过SkyWalking提供的Web界面来查询链路、拓扑结构等功能。

Agent探针在Java中使用Java Agent技术实现,不需要更改任何源代码,其会通过虚机机接口在运行期更改代码。SkyWalking探针所有的文件均在其agent子目录下,如图1-20所示。

图1-20

从tree命令显示的SkyWalking的Agent子目录树形结构图可以看到其主要包含了plugins、optional-plugins、config等子目录。这里笔者重点介绍plugins、optional-plugins、config这3个子目录。plugins目录下主要存放目前可用的所有探针插件,而optional-plugins目录下的探针插件如果您需要使用,则要移动到plugins目录下其才会生效。config目录存放着探针的配置文件,有的时候我们要修改被侦测的服务名称等内容可以对该目录下的agent.config文件进行相关配置项的修改。

相关推荐
敖云岚2 小时前
【Linux 指北】常用 Linux 指令汇总
linux·运维·服务器
Acreldingshan3 小时前
工厂变电所运维云平台解决方案-直击运维痛点,重塑高效安全运维典范
运维
田辛 | 田豆芽4 小时前
【Linux】在VMWare中安装Ubuntu操作系统(2025最新_Ubuntu 24.04.2)#VMware安装Ubuntu实战分享#
linux·运维·ubuntu
不羁。。4 小时前
【操作系统安全】任务2:用户与用户组
linux·运维·服务器
qq_433716954 小时前
UI自动化测试 —— web端元素获取&元素等待实践!
自动化测试·软件测试·selenium·测试工具·ui·pytest·测试工程师
液态不合群4 小时前
SpringCloud带你走进微服务的世界
spring·spring cloud·微服务
TechStack 创行者5 小时前
基于Alpine构建MySQL 10.11.11镜像的完整教程
运维·数据库·mysql·docker
姜太小白6 小时前
【Linux】centos配置可用的yum源
linux·运维·centos
夏白分享社7 小时前
Nanobrowser:开源AI自动化神器 OpenAI Operator替代品
运维·人工智能·自动化
IT 古月方源7 小时前
linux centos 忘记root密码拯救
linux·运维·centos