前言

本文主要讲解分布式链路追踪监控系统Skywalking的安装及使用教程,从0到1,图文并茂的保姆级教程。

SkyWalking是一款用于分布式系统跟踪和性能监控的开源工具。它可以帮助开发人员了解分布式系统中不同组件之间的调用关系和性能指标,从而进行故障排查和性能优化。

它支持多种语言和框架,包括Java、.NET、Node.js等。它通过在应用程序中插入代理或使用特定的SDK来收集跟踪数据,并将这些数据发送到SkyWalking服务器进行分析和展示。

分布式跟踪:SkyWalking可以追踪分布式系统中各个组件之间的调用链路,可以查看请求的流程和耗时情况,从而更好地定位问题。性能监控:SkyWalking可以监控应用程序的性能指标,如请求延迟、吞吐量、错误率等,用来评估系统的健康状况,并及时发现潜在的性能问题。图表分析:SkyWalking提供了丰富的图表分析功能,如拓扑图展示、调用链路分析、性能趋势等,便于查看系统的运行情况和瓶颈所在。告警和报警:SkyWalking可以设置告警规则,当系统出现异常或性能指标超过预设阈值时,及时通知相关人员,以便快速响应和处理。

一、Skywalking安装教程

1. 安装ElasticSearch(前置条件)

Skywalking的数据存储方式默认为h2内存数据库,也支持存储到mysql,Elasticsearch,由于监控采集的数据量较大,并存在很多的数据检索需求,推荐将其存储到Elasticsearch中。

ElasticSearch官方安装教程,包括Windows,Mac,Linux,Docker安装教程,推荐使用Docker安装,简单快捷。

Skywalking的安装方式包括以下两种

下载源码手动编译官方包

手动编译流程较为复杂,一般情况下,我们建议使用官方包。有定制化需求的可手动编译

2. 下载Skywalking安装包

进入Skywalking官网

可手动下载后上传至服务器,或直接执行命令下载:

cd /usr/local

wget https://www.apache.org/dyn/closer.cgi/skywalking/9.7.0/apache-skywalking-apm-9.7.0.tar.gz

下载完成后解压进入安装目录:

tar -zxvf apache-skywalking-apm-9.7.0.tar.gz

cd apache-skywalking-apm-bin

ls

我们到bin目录可以看到一些启动脚本,.bat为Windows下使用,.sh为linux/Mac下使用。

我们./startup.sh即会启动Skywalking的服务,但是在启动之前我们需要修改一些配置文件。

我们vim startup.sh可以看到里面调用了oapService.sh, webappService.sh两个脚本,oapService为Skywalking的核心后端服务,用来接收各个服务的监控数据并解析处理存储到数据库中,webappService为Web项目,用来展示Skywalking的监控数据,图表分析等。

PRG="$0"

PRGDIR=`dirname "$PRG"`

OAP\_EXE=oapService.sh

WEBAPP\_EXE=webappService.sh

"$PRGDIR"/"$OAP\_EXE"

"$PRGDIR"/"$WEBAPP\_EXE"

3. 修改webapp的端口号

我们到webapp目录编辑application.yml可修改web程序的端口号。

serverPort: 8902

# Comma seperated list of OAP addresses.

oapServices: ${SW\_OAP\_ADDRESS:-http://localhost:12800}

zipkinServices: ${SW\_ZIPKIN\_ADDRESS:-http://localhost:9412}

接下来我们到apache-skywalking-apm-bin/config目录下,查看:

这里包含很多配置文件,我们主要使用的有application.yml(oap核心配置文件),alarm-settings.yml(Webhook/钉钉告警配置)。

4.获取elasticsearch的ssl证书

在修改application.yml配置之前,我们需要获取到elasticsearch的ssl证书,进入elasticsearch的安装目录,可通过以下命令获取es的http.p12证书的密码

bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

通过以下命令将http.p12证书转为http.jks格式证书,将密码设置为上述获取的密码

keytool -importkeystore -srckeystore http.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore http.jks

5. 修改Skywalking存储至elasticsearch

我们打开apache-skywalking-apm-bin/config/application.yml文件

vim apache-skywalking-apm-bin/config/application.yml

找到storage将h2改为elasticsearch,并将下面配置修改为自己安装的elasticsearch的地址,账户密码,https传输需将trustStorePath配置为http.jks的文件路径,trustStorePass配置为http.jks的密码。

storage:

selector: ${SW_STORAGE:elasticsearch}

elasticsearch:

namespace: ${SW_NAMESPACE:"skywalking-index"}

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}

protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"https"}

connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}

socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}

responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}

numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}

user: ${SW_ES_USER:"elastic"}

password: ${SW_ES_PASSWORD:"+srawm+3fPVeV5Y9oyB3"}

trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:"/Users/changlongmao/certs/http.jks"}

trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:"Lw8\_JAZ2QeS6tT7-oaHyZQ"}

配置完毕后即可启动。

6. 启动skywalking

mac/linux:

./apache-skywalking-apm-bin/bin/startup.sh

windows:

./apache-skywalking-apm-bin/bin/startup.bat

访问网址:http://localhost:8902/general

即可成功访问,安装成功,若启动失败可到apache-skywalking-apm-bin/logs目录下查看错误日志。

二、使用Skywalking-agent代理java服务

1. 准备一个springboot项目的jar包

这里自行准备,在网上有很多。

2. 下载Skywalking-agent

同样在Skywalking官网,滑到下方

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

mg-deJMq46X-1714287042975)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: