SkyWalking快速上手(一)——安装单机版SkyWalking、使用SkyWalking

2023-09-17 17:09:41

什么是SkyWalking

SkyWalking是一个开源的分布式系统跟踪、监测和分析工具。它可以帮助我们实时了解分布式系统的性能指标、追踪调用链以及分析问题根因。SkyWalking支持多种语言和框架,可以与Java、.NET、Node.js等应用程序集成,并提供丰富的监控和分析功能。

为什么选择SkyWalking

  • 分布式追踪:SkyWalking可以跟踪分布式系统中不同服务之间的调用关系,帮助我们定位性能瓶颈和故障根源。
  • 性能监测:SkyWalking可以监控关键性能指标,如请求响应时间、吞吐量等,帮助我们评估系统的性能状况。
  • 告警和报警:SkyWalking支持设置告警规则,并在达到指定条件时发送报警通知,帮助我们及时发现和解决问题。
  • 易于集成:SkyWalking提供了与多种常见技术栈的集成方案,可以快速将其集成到我们的应用程序中。

安装步骤

前置条件

在开始安装 SkyWalking 之前,确保满足以下前置条件:

  • Java 运行环境已经安装并配置好。
  • 确定要监控的应用程序已经部署并运行。

环境要求

● JDK 版本:JKD8 ~ JDK17 之间
● 端口:
○ 11800:后端监听 gRPC API 的端口
○ 12800:后端监听 HTTP REST API 的端口
○ 8080:web UI 界面端口

# Linux / macOS
netstat -an | grep 8080

# windows 
netstat -ano | findstr 8080

下载 SkyWalking

首先,从 SkyWalking 的官方网站(https://skywalking.apache.org/downloads/ )下载最新的发布版本。选择适合你系统的压缩包,并解压到你希望安装的目录。
在这里插入图片描述
下载一个最新的版本 9.2.0

# 解压
tar -xf apache-skywalking-apm-9.2.0.tar
cd apache-skywalking-apm-bin/

# 进入 bin 目录,启动
[root@localhost apache-skywalking-apm-bin]# cd bin/
[root@localhost bin]# ./startup.sh 
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!

# 显示启动成功,
# 启动后的日志默认在安装目录下的 logs 目录,里面有日志 oap.log  skywalking-oap-server.log  webapp-console.log
# 启动成功的话,会看到 skywalking-oap-server.log

# 停止服务
[root@localhost bin]# jps
1731 skywalking-webapp.jar
1716 OAPServerStartUp
2127 Jps
[root@localhost bin]# kill 1731 1716

然后访问 http://xxx.xxx.xx.xxx:8080/(如果是在你自己电脑上安装的,则是你的本地ip,如果是在linux服务器上安装的,则是你服务器的ip地址) 就进入到了 Skywalking UI 界面。

配置 SkyWalking

安装完成后,需要对 SkyWalking 进行一些基本的配置。

Skywalking 使用

也就是如何让服务接入到 Skywalking 上,官方文档的 Agent 章节有介绍(我是看不太明白),反而在 UI 介绍文档中看到了 服务器代理,里面有 「Java代理 了解如何在不影响代码的情况下在您的服务中安装 Java 代理」文章链接。但是最新的文档只有 v8.12.0 的。

Agent 配置

在被监控的应用程序中,需要添加 SkyWalking Agent 的配置。根据你的应用程序类型,选择合适的 Agent 配置方式,并将其添加到应用程序的启动脚本中。

示例 Agent 配置:

# SkyWalking Agent 配置
agent.service_name=my-application
agent.sample_n_per_3_secs=100
agent.namespace=default
agent.collector.backend_service=localhost:11800

Collector 配置

SkyWalking Collector 是用于接收和处理来自 Agent 的监控数据的组件。在 Collector 的配置文件中,你可以指定数据存储方式、数据存储位置以及其他相关的配置项。

示例 Collector 配置:

# SkyWalking Collector 配置
storage:
  elasticsearch:
    name: default
    namespace: ${SW_NAMESPACE:default}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}

启动 SkyWalking

完成配置后,你可以启动 SkyWalking,并开始监控你的应用程序了。根据你的安装方式,执行相应的启动命令或脚本。

配置SkyWalking代理

  1. 在应用程序中添加SkyWalking代理的依赖,具体方法取决于应用程序使用的语言和框架。
  2. 根据具体需求修改代理配置文件,如指定SkyWalking服务器地址和端口。
  3. 启动应用程序,代理将自动收集应用程序的性能指标和调用链信息,并发送给SkyWalking服务器。

SkyWalking的监控功能

分布式调用链追踪

SkyWalking可以追踪分布式系统中各个服务之间的调用链,包括HTTP、RPC、消息队列等不同类型的调用。通过可视化的调用链图,我们可以清晰地了解请求经过哪些服务和组件,以及每个环节的耗时和错误情况。

性能指标监控

SkyWalking可以监控关键性能指标,如请求响应时间、吞吐量、错误率等。通过设置阈值和告警规则,我们可以在系统出现性能下降或故障时及时得到通知,进行相应的处理和优化。

告警和报警

SkyWalking支持设置告警规则,并提供多种通知方式,如邮件、短信等。当系统的性能或可用性达到或超出预设阈值时,将触发告警并发送报警通知,帮助我们第一时间响应并解决问题。

总结

通过本文的介绍,你已经了解了如何安装和配置 SkyWalking,以及如何启动并使用它来监控分布式系统。希望这篇文章对你有所帮助,祝你使用 SkyWalking 能够更好地监控和诊断你的应用程序。如果你有任何问题或疑问,请随时提问。
使用SkyWalking进行分布式系统监控

更多推荐

用户与权限管理

文章目录用户与权限管理1.用户管理1.1MYSQL用户1.2登录MySQL服务器1.3创建用户1.4修改用户1.5删除用户1.6修改密码1.修改当前用户密码2.修改其他用户密码1.7MYSQL8密码管理用户与权限管理1.用户管理1.1MYSQL用户MYSQL用户分为普通用户和root用户root用户:超级管理员,拥有所

安防监控系统/视频云存储EasyCVR平台视频无法播放是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,可拓

docker-基本操作命令,生成docker镜像包

一、帮助启动类命令。1、启动,命令:systemctlstartdocker2、停止,命令:systemctlstopdocker3、重启,命令:systemctlrestartdocker4、查看docker状态,命令:systemctlstatusdocker5、开机启动,命令:systemctlenabledoc

20230921研发面经总结

1.cpp中引用和指针的区别引用是在概念上定义一个变量的别名,而指针是存储一个变量的地址。引用必须从一而终,不能再指向其他数据;指针可以随意改变指向。引用在定义时必须初始化,而指针是最好初始化,不初始化也不会报错。指针可以有多级,引用不可以。存在空指针,但是不存在空引用。2.介绍const,各种使用情况的效果1.con

Codeforces Round 896 (Div. 1) C. Travel Plan(树形dp+组合数学)

题目有一棵n(1<=n<=1e18)个点的树,点i连着2*i和2*i+1两个点,构成一棵完全二叉树对于每个点i,记其值为a[i],a[i]可以取[1,m](1<=m<=1e5)的整数记i到j的简单路径上的最大值为s[i][j],则一棵权值确定的树对答案的贡献是现在求所有可能情况下的树的贡献之和,答案对998244353

手撕 LFU 缓存

大家好,我是方圆。LFU的缩写是LeastFrequentlyUsed,简单理解则是将使用最少的元素移除,如果存在多个使用次数最小的元素,那么则需要移除最近不被使用的元素。LFU缓存在LeetCode上是一道困难的题目,实现起来并不容易,所以决定整理和记录一下。如果大家想要找刷题路线的话,可以参考Github:Leet

数据分析实战│时间序列预测

时间序列预测问题是一类常见的数据分析问题。数据中往往包含时间标签,这类问题往往根据过去一段时间的数据,建立能够比较精确地反映序列中所包含的动态依存关系的数学模型,并对未来的数据进行预测。01、问题描述及数据挖掘目标本案例给出二战时期的某气象站温度记录值,通过分析之前的天气状况来预测将来天气情况。与回归分析模型进行预测不

使用新版Maven-mvnd快速构建项目

目前我们项目的构建方式多数是maven、gradle,但是maven相对gradle来说,构建速度较慢,特别是模块相对较多的时候,构建速度更加明显。但是我们将项目由maven替换为gradle相对来说会比较麻烦,成本较高。于是我们可以选择mvnd来构建项目,可以使得构建项目速度更快,而且项目无需任何改动。1、下载mvn

SCT44160Q国产、车规 3.4-40V 160-mΩ四通道智能高位开关 P2P替代TPS4H160

SCT44160Q国产、车规3.4-40V160-mΩ四通道智能高位开关P2P替代TPS4H160北京冠宇铭通科技有限公司一级代理商描述SCT44160Q器件是全保护的四路通道智能高侧开关,带有四个集成的160-mΩNMOS功率场效应管。对于版本A,设备实现数字故障报告采用开路漏极结构,四通道同步设定电流限值。对于B版

2023年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程(1~6级)全部真题・点这里一、单选题(共25题,每题2分,共50分)第1题在启动IDLE后,看到下列哪一个提示字符,表明已经进入PythonShell交互模式?()A:<<<B:>>>C:^^^D:》》》正确的答案是:B:>>>解析:在启动IDLE后,当看到提示字符>>>,表示已经进入PythonSh

Python编辑器和Pycharm的傻瓜式安装部署

给我家憨憨写的python教程有惊喜等你找噢——雁丘Python解释器Pycharm的安装部署关于本专栏一Python编辑器1.1使用命令提示符编写Python程序1.2用记事本编写Python程序二Pycharm的安装三Pycharm的部署四Pycharm基础使用技巧4.1修改主题颜色4.2修改字体4.3快速修改字体

热文推荐