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

文章目录

    • 什么是SkyWalking
    • 为什么选择SkyWalking
    • 安装步骤
      • 前置条件
      • 环境要求
      • 下载 SkyWalking
    • 配置 SkyWalking
    • Skywalking 使用
      • Agent 配置
      • Collector 配置
    • 启动 SkyWalking
      • 配置SkyWalking代理
    • SkyWalking的监控功能
      • 分布式调用链追踪
      • 性能指标监控
      • 告警和报警
    • 总结

什么是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: defaultnamespace: ${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进行分布式系统监控

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/135074.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3中使用el-upload + tui-image-editor进行图片处理

效果如下 看之前请先看上一篇《vue3中使用组件tui-image-editor进行图片处理》中的 1、第一步安装 2、第二部封装组件 本篇只是在这基础上结合el-upload使用组件 3、第三步结合el-upload使用组件 <template><el-dialog:title"dialogTitle":modelValue&qu…

常见的API

常见的 API Math 从 JDK 版本 1 开始的, 用来计算的一些方法 这里面定义了两个常量的 PI 和 E 这两个是最接近 pi 的值和最接近对数的值 Abs (int a ) 取绝对值Ceil (double a)向上取整Floor (double a )向下取整Round (float a)四舍五入Max (int a, int b) 取最大值Pow (dou…

【微信小程序】文章设置

设置基本字体样式&#xff1a;行高、首行缩进 font-size: 32rpx;line-height: 1.6em;text-indent: 2em;padding: 20rpx 0;border-bottom: 1px dashed var(--themColor); 两端对齐 text-align: justify; css文字两行或者几行显示省略号 css文字两行或者几行显示省略号_css…

【C进阶】指针和数组笔试题解析

做题之前我们先来回顾一下 对于数组名的理解&#xff1a;除了以下两种情况&#xff0c;数组名表示的都是数组首元素的地址 &#xff08;1&#xff09;sizeof&#xff08;数组名&#xff09;&#xff1a;这里的数组名表示整个数组 &#xff08;2&#xff09;&&#xff08;数…

Kakfa - Producer机制原理与调优

Producer是Kakfa模型中生产者组件&#xff0c;也就是Kafka架构中数据的生产来源&#xff0c;虽然其整体是比较简单的组件&#xff0c;但依然有很多细节需要细品一番。比如Kafka的Producer实现原理是什么&#xff0c;怎么发送的消息&#xff1f;IO通讯模型是什么&#xff1f;在实…

Prometheus黑盒测试模块,监控TCP端口+ HTTP/HTTPS路由状态

文章目录 一、黑盒测试使用场景二、安装blackbox-exporter三、监控TCP端口四、监控HTTP/HTTPS路由五、最后分享几款Grafana模板 一、黑盒测试使用场景 官方下载地址 blackbox-exporter是Prometheus官方提供的一个黑盒测试的解决方案&#xff0c;可用于以下使用场景&#xff1a…

大数据-玩转数据-Flink恶意登录监控

一、恶意登录 对于网站而言&#xff0c;用户登录并不是频繁的业务操作。如果一个用户短时间内频繁登录失败&#xff0c;就有可能是出现了程序的恶意攻击&#xff0c;比如密码暴力破解。 因此我们考虑&#xff0c;应该对用户的登录失败动作进行统计&#xff0c;具体来说&#x…

SpringBoot启动方式

SpringBoot启动方式 springboot的启动经过了一些一系列的处理&#xff0c;我们先看看整体过程的流程图 SpringBoot的启动方式 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><…

线性代数基础-矩阵

八、矩阵的基础概念 1.矩阵 我们忘掉之前行列式的一切&#xff0c;列一种全新的数表&#xff0c;虽然长得很像&#xff0c;但是大不相同&#xff0c;首先一个区别就是矩阵不能展开成一个值&#xff0c;这里不讨论矩阵的空间意义 { a 11 x 1 a 12 x 2 a 13 x 3 . . . a 1…

求解灰度直方图,如何绘制灰度直方图(数字图像处理大题复习 P1)

文章目录 1. 画 X 轴2. 画直方图3. Complete 视频原链接 数字图像处理期末考试大题 B站链接 1. 画 X 轴 2. 画直方图 有几个 0 就在图上画多高&#xff0c;同理有几个 1 &#xff0c;X1 的地方就画多高 3. Complete 这里的情况比较平均&#xff0c;一般来说不会这么平均&a…

CSS选择器笔记

A plate #id #fancy A B plate apple #id A #fancy pickle .classname .small A.className orange.small #id.className #big.wide A,B both plate,bento * all A * plate * AB 紧跟在盘子后的苹果 plate apple A~B 跟在盘子后面所有的泡菜 plate~b…

堆内存与栈内存

文章目录 1. 栈内存2. 堆内存3. 区别和联系参考资料 1. 栈内存 栈内存是为线程留出的临时空间 每个线程都有一个固定大小的栈空间&#xff0c;而且栈空间存储的数据只能由当前线程访问&#xff0c;所以它是线程安全的。栈空间的分配和回收是由系统来做的&#xff0c;我们不需…

LeetCode 周赛上分之旅 #45 精妙的 O(lgn) 扫描算法与树上 DP 问题

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

Qt基于paintEvent自定义CharView

Qt基于paintEvent自定义CharView 鼠标拖动&#xff0c;缩放&#xff0c;区域缩放&#xff0c; 针对x轴&#xff0c;直接上代码 charview.h #ifndef CHARVIEW_H #define CHARVIEW_H#include <QWidget> #include <QPainter> #include <QPaintEvent> #inclu…

unity学习第1天

本身也具有一些unity知识&#xff0c;包括Eidtor界面使用、Shader效果实现、性能分析&#xff0c;但对C#、游戏逻辑不太清楚&#xff0c;这次想从开发者角度理解游戏&#xff0c;提高C#编程&#xff0c;从简单的unity游戏理解游戏逻辑&#xff0c;更好的为工作服务。 unity201…

CMU 15-445 Project #3 - Query Execution(Task #1、Task #2)

文章目录 一、题目链接二、准备工作三、SQL 语句执行流程四、BusTub 表结构五、Task #1 - Access Method Executors5.1 顺序扫描执行器5.2 插入执行器5.3 删除执行器5.4 索引扫描执行器 六、Task #2 - Aggregation & Join Executors6.1 聚合执行器6.2 循环连接执行器6.3 索…

python 二手车数据分析以及价格预测

二手车交易信息爬取、数据分析以及交易价格预测 引言一、数据爬取1.1 解析数据1.2 编写代码爬1.2.1 获取详细信息1.2.2 数据处理 二、数据分析2.1 统计分析2.2 可视化分析 三、价格预测3.1 价格趋势分析(特征分析)3.2 价格预测 引言 本文着眼于车辆信息&#xff0c;结合当下较…

Linux的调试工具 - gdb(超详细)

Linux的调试工具 - gdb 1. 背景2. 开始使用指令的使用都用下面这个C语言简单小代码来进行演示&#xff1a;1. list或l 行号&#xff1a;显示文件源代码&#xff0c;接着上次的位置往下列&#xff0c;每次列10行。2. list或l 函数名:列出某个函数的源代码。3. r或run: 运行程序。…

7.前端·新建子模块与开发(自动生成)

文章目录 学习地址视频笔记自动代码生成模式开发增删改查功能调试功能权限分配 脚本实现权限分配 学习地址 https://www.bilibili.com/video/BV13g411Y7GS/?p15&spm_id_frompageDriver&vd_sourceed09a620bf87401694f763818a31c91e 视频笔记 自动代码生成模式开发 …

简单返回封装实体类(RespBean)

RespBean的作用 返回状态码&#xff0c;返回信息&#xff0c;返回数据 package com.example.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor public class RespBean {private lon…