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

news2024/12/23 14:24:03

文章目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理实战项目18-NLP模型训练中的Logits与损失函数的计算应用项目

大家好,我是微学AI,今天给大家介绍一下,自然语言处理实战项目18-NLP模型训练中的Logits与损失函数的计算应用项目,在NLP模型训练中,Logits常用于计算损失函数并进行优化。损失函数的计算是用来衡量模型预测结果与真实标签之间的差异,从而指导模型参数的更新。 Logits是模…

Jenkins自动化:简化部署流程

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

[JAVEee]SpringBoot项目的创建

SpringBoot可以更好的开发Spring项目,本文章将使用idea社区版来演示创建项目的过程与注意事项. SpringBoot的优点 SpringBoot中内置快速添加依赖的功能,能够便捷的集成各种框架,帮助开发.内置运行容器,无需配置Tomcat容器等其他web容器,可直接进行项目的部署与运行.更好的使用…

解决秋叶整合包(绘世2.2.19)isnet Pro无法抠图的问题

查看错误输出 ImportError: Imageio Pillow requires Pillow, not PIL!解决方法: 更新新的pilow版本 进入秋叶整合包下的python,用shift右键 运行指令:(注意./是必须的) ./python -m pip list找到pillow发现版本低…

微服务保护-流量控制1

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

Learn Prompt-角色扮演

模拟面试​ 当你在新闻中读到更多关于ChatGPT的内容时,你会听说ChatGPT可以代替医生、面试官、教师、律师等。但如果你想在实践中使用它,除了使用简单的提示或例子,你还可以根据不同的场景为ChatGPT设置不同的角色,这样我们就可以…

基于matlab寻找并显示一维数组t中的素数

一、方法介绍 首先&#xff0c;要编写一个寻找素数的子函数&#xff1a; function primeNumbers findPrimeNumbers(t)primeNumbers [];for i 1:length(t)num t(i);isPrime true;if num < 1isPrime false;elsefor j 2:sqrt(num)if mod(num, j) 0isPrime false;brea…

Learn Prompt-“标准“提示

在前面的教程中&#xff0c;我们介绍了指令输入的简单提示&#xff0c;提供实例的提示和角色扮演类的提示&#xff0c;那么是否有一个公式来列出提示的各个部分&#xff0c;并将其组合成一个标准化的提示&#xff1f;答案是肯定的。 角色扮演&#xff08;Role&#xff09; 指令…

Ae 效果:CC Hair

模拟/CC Hair Simulation/CC Hair CC Hair&#xff08;CC 毛发&#xff09;可以在源图像上模拟生成毛发、绒线等&#xff0c;并可调整它们的长度、方向、重量等属性&#xff0c;从而创建出非常独特的效果。 CC Hair 本质上是基于 Alpha 通道来生成毛发&#xff0c;无毛发处将变…

多款大模型向公众开放,百模大战再升级?

作为一种使用大量文本数据训练的深度学习模型&#xff0c;大模型可以生成自然语言文本或理解语言文本的含义&#xff0c;是通向人工智能的一条重要途径。大模型可以应用于各种机器学习任务&#xff0c;包括自然语言处理、计算机视觉、语音识别、机器翻译、推荐系统、强化学习等…

【电子元件】常用电子元器件的识别之二极管

目录 前言1. 二极管的识别1.1 普通整流二极管/开关二极管的识别1.2 快速恢复二极管的识别1.3 肖特基二极管的识别1.4 稳压(齐纳)二极管的识别1.5 发光二极管的识别1.6 整流桥的识别1.7 检波二极管的识别1.8 变容二极管的识别1.9 双向触发二极管的识别1.10 二极管在电路图中的…

【记录】深度学习环境配置(pytorch版)

1080面对Transformer连勉强也算不上了&#xff0c;还是要去用小组公用的卡 完整记一个环境配置&#xff0c;方便后面自用✍️ nvidia-smi查看GPU信息 ** CUDA版本12.2 conda -V查询conda版本 22.9.0 新建conda环境 准备装python3.8 conda create --name caiman python3.8.2激…

五层网络模型

分层的意义 当遇到一个复杂问题的时候&#xff0c;可以使用分层的思想把问题简单化 比如&#xff0c;你有半杯82年的可乐&#xff0c;想分享给你的朋友王富贵&#xff0c;但你们已经10年没有联系了。要完成这件事&#xff0c;你可能要考虑&#xff1a; 我用什么装可乐&#x…

shell脚本学习教程(一)

shell脚本学习 一、什么是 Shell&#xff1f;1. shell概述2. Shell 的分类3. 第一个shell脚本4. 多命令执行 二、Shell 变量3.1 变量的命名规则3.2 变量的特殊符号3.3 用户自定义变量3.4 环境变量3.5 位置参数变量3.6 预定义变量3.7 接受键盘输入 三、Shell 运算符3.1 算术运算…

NSSCTF web 刷题记录2

文章目录 前言题目[广东强网杯 2021 团队组]love_Pokemon[NCTF 2018]Easy_Audit[安洵杯 2019]easy_web[NCTF 2018]全球最大交友网站prize_p2[羊城杯 2020]easyser[FBCTF 2019]rceservice方法一方法二 前言 今天是2023年9月13号&#xff0c;刷题记录2正式开始。时间来到九月十七…

Doris数据库FE——SQL 接收

SQL 接收 首先看定义在fe/fe-core/src/main/java/org/apache/doris/qe/QeService.java文件中的public class QeService类&#xff0c;该类is the encapsulation of the entire front-end service, including the creation of services that support the MySQL protocol是整个前…

89 # express 构建 layer 和 route 的关系

上一节实现了实现应用和路由的分离&#xff0c;这一节来构建 layer 和 route 的关系 先看个例子如下&#xff1a;路由中间件&#xff0c;将处理的逻辑拆分成一个个的模块 const express require("express"); const app express();app.get("/",(req, re…

大语言模型之十-Byte Pair Encoding

Tokenizer 诸如GPT-3/4以及LlaMA/LlaMA2大语言模型都采用了token的作为模型的输入输出&#xff0c;其输入是文本&#xff0c;然后将文本转为token&#xff08;正整数&#xff09;&#xff0c;然后从一串token&#xff08;对应于文本&#xff09;预测下一个token。 进入OpenAI官…

六、数学建模之插值与拟合

1.概念 2.例题和matlab代码求解 一、概念 1.插值 &#xff08;1&#xff09;定义&#xff1a;插值是数学和统计学中的一种技术&#xff0c;用于估算在已知数据点之间的未知数据点的值。插值的目标是通过已知数据点之间的某种函数或方法来估计中间位置的数值。插值通常用于数…

服务器管理

腾讯云服务器相关管理 linux下安装python3 linux自带2.x&#xff0c;有时候需要2.x执行一些工具&#xff0c;开发的时候又想用p3&#xff0c;就需要同时装python2和python3 依次执行以下命令 ssh xxxxx.xx.xx.xx #进入linux服务器 su #输入密码&#xff0c;如果不知道管理员…