创建网络

docker network create skywalking-network

docker compose 安装SkyWalking

docker-compose.yaml 文件

version: "3"
services:# SkyWalking OAP server with Elasticsearch storageskywalking-oap:image: apache/skywalking-oap-server:8.9.0container_name: skywalking-oapports:- "12800:12800"- "11800:11800"networks:- skywalking-networkdepends_on:skywalking-elasticsearch:condition: service_healthy  # 等待ES健康检查environment:- SW_STORAGE=elasticsearch- TZ=Asia/Shanghai- SW_STORAGE_ES_CLUSTER_NODES=skywalking-elasticsearch:9200#volumes:#  - ./oap-config:/skywalking/config # 挂载本地目录到容器中# Elasticsearchskywalking-elasticsearch:image: elasticsearch:7.16.3container_name: skywalking-elasticsearchports:- "19200:9200"- "19300:9300"networks:- skywalking-networkenvironment:- discovery.type=single-node- TZ=Asia/Shanghai- ingest.geoip.downloader.enabled=false  # 禁用GeoIP下载healthcheck: # 添加健康检查test: [ "CMD-SHELL", "curl -s http://localhost:9200/_cluster/health | grep -q '\"status\":\"green\"'" ]interval: 10stimeout: 10sretries: 20ulimits:memlock:soft: -1hard: -1nofile:soft: 65536hard: 65536mem_limit: 2g#volumes:#  - ./es-data:/usr/share/elasticsearch/data/nodes # 挂载本地目录到容器中# SkyWalking UIskywalking-ui:image: apache/skywalking-ui:8.9.0container_name: skywalking-uiports:- "18080:8080"networks:- skywalking-networkenvironment:- SW_OAP_ADDRESS=http://skywalking-oap:12800- TZ=Asia/Shanghaivolumes:- ./ui-config:/app/config # 挂载本地目录到容器中
networks:skywalking-network:external:name: skywalking-network

详细说明

  1. Elasticsearch 服务

    • 使用 elasticsearch:7.14.0 镜像。
    • 启用单节点模式,设置 JVM 参数以优化内存使用。
    • 启用安全功能,设置 elastic 用户的密码。
    • 挂载卷 elasticsearch-data 以持久化数据。
    • 映射端口 19200 和 19300。
  2. SkyWalking OAP Server 服务

    • 使用 apache/skywalking-oap-server:8.6.0-es7 镜像。
    • 配置 Elasticsearch 作为存储,设置集群节点地址、用户名和密码。
    • 映射端口 11800 和 12800。
    • 依赖于 Elasticsearch 服务。
  3. SkyWalking UI 服务

    • 使用 apache/skywalking-ui:8.6.0 镜像。
    • 配置 OAP Server 的地址。
    • 映射端口 18080。
    • 依赖于 OAP Server 服务。
  4. 网络和卷

    • 定义了一个名为 skywalking-net 的桥接网络,确保所有服务在同一网络中。
    • 定义了一个卷 elasticsearch-data,用于持久化 Elasticsearch 的数据。

启动服务

在包含 docker-compose.yml 文件的目录中运行以下命令启动服务:

docker compose up -d

验证

  1. 检查 Elasticsearch 是否正常运行

    curl -u elastic:elastic http://127.0.0.1:19200
    
  2. 检查 OAP Server 是否正常运行
    查看 OAP Server 的日志,确认它是否成功连接到 Elasticsearch:

    docker logs skywalking-oap
    
  3. 访问 SkyWalking UI
    打开浏览器,访问 http://172.30.112.19:18080,您应该能够看到 SkyWalking 的界面。

2. 客户端代码集成

2.1 下载 SkyWalking Agent

从 SkyWalking 官方网站下载对应版本的 Agent。

wget https://archive.apache.org/dist/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz
tar -xvzf apache-skywalking-apm-8.6.0.tar.gz
cd apache-skywalking-apm-bin
2.2 配置 SkyWalking Agent

编辑 agent/config/agent.config 文件,配置以下参数:

# SkyWalking Agent 名称
SW_AGENT_NAME=springboot-skywalking-demo
# Collector 服务地址
SW_AGENT_COLLECTOR_BACKEND_SERVICES=172.30.112.19:11800
# 链路的最大 Span 数量
SW_AGENT_SPAN_LIMIT=2000
2.3 启动应用

在启动 Spring Boot 应用时,通过 -javaagent 参数指定 SkyWalking Agent 的路径。

java -javaagent:/path/to/skywalking-agent.jar \
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=172.30.112.19:11800 \
-DSW_AGENT_NAME=springboot-skywalking-demo \
-jar your-springboot-app.jar

jar包地址(官网):https://skywalking.apache.org/downloads/
阿里云:https://mirrors.aliyun.com/apache/skywalking/
在这里插入图片描述
运行起来就是这样
在这里插入图片描述
自己可以进行调用,然后记得修改时间(有的版本在下面):
在这里插入图片描述

使用文档

SkyWalking UI 使用文档

SkyWalking UI 提供了丰富的功能,用于监控和分析分布式系统的性能和调用链路。以下是 SkyWalking UI 的主要功能和使用方法:

1. 仪表盘 (Dashboard)

仪表盘提供了全局和当前服务的运行状态和监控指标,包括:

  • 调用热力图 (Calls HeatMap):显示请求数量和响应时间。
  • 应用平均告警 (Avg Application Alarm):显示应用的告警信息。
  • 慢服务 (Slow Service):显示响应时间最长的服务。
  • 应用吞吐量 (Application Throughput):显示每分钟的调用次数 (CPM)。
2. 拓扑图 (Topology)

拓扑图以图形化方式展示服务之间的依赖关系和调用链路,包括:

  • 拓扑结构图 (Topology Map):显示服务之间的调用关系。
  • 概览 (Overview):显示服务的总体运行状态。
  • SLA (Service Level Agreement):显示服务的可用率。
  • 每分钟调用 (Calls Per Minute):显示每分钟的调用次数。
  • 平均响应时间 (Avg Response Time):显示服务的平均响应时间。
3. 服务 (Service)

服务页面提供了特定服务的详细信息,包括:

  • 平均吞吐量 (Avg Throughput):显示服务的平均吞吐量。
  • 平均响应时间 (Avg Response Time):显示服务的平均响应时间。
  • 平均可用率 (Avg SLA):显示服务的平均可用率。
  • 依赖图 (Dependency Map):显示服务的依赖关系。
4. 端点 (Endpoint)

端点页面提供了特定端点的详细调用数据,包括:

  • 调用次数 (Call Count):显示端点的调用次数。
  • 平均响应时间 (Avg Response Time):显示端点的平均响应时间。
  • 错误率 (Error Rate):显示端点的错误率。
  • 调用链路 (Trace):显示端点的调用链路。
5. 追踪 (Trace)

追踪页面提供了具体的调用链路数据,包括:

  • Trace ID:唯一标识一次调用的 ID。
  • 调用链路:显示每次调用的详细链路,包括每个节点的响应时间、调用顺序等。
6. 性能剖析 (Performance Analysis)

性能剖析页面提供了对特定端点的性能分析,包括:

  • 采样分析:对端点进行采样分析,查看详细的堆栈信息。
  • 任务列表:显示当前的性能分析任务。
  • 任务详情:查看任务的详细信息,包括实例信息、操作类型、操作时间等。
7. 日志 (Log)

日志页面提供了服务的日志信息,包括:

  • 服务日志:显示服务的日志信息。
  • 浏览器日志:显示浏览器的日志信息。
  • 追踪 ID:通过追踪 ID 查看跨服务的整体流程日志。
8. 告警 (Alarm)

告警页面展示了触发告警的列表,包括:

  • 实例告警:显示实例相关的告警信息。
  • 请求超时:显示请求超时相关的告警信息。
9. 事件 (Event)

事件页面展示了服务实例的启动和端点的调用等事件信息。

10. 时间选择器 (Time Selector)

时间选择器用于设定统计指标的时间范围,所有指标数据展示都依赖于这个时间范围。

官方文档

SkyWalking 的官方文档提供了详细的使用指南和配置说明,建议参考以下链接:

  • SkyWalking 官方文档
  • SkyWalking 中文文档

通过这些功能和文档,您可以全面监控和分析分布式系统的性能和调用链路,快速定位和解决性能问题。

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

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

相关文章

动态UI的秘诀:React中的条件渲染

动态UI的秘诀:React中的条件渲染 作者:码力无边各位React探险家,欢迎回到我们的《React奇妙之旅》!我是你们的老朋友码力无边。在之前的旅程中,我们已经学会了如何创建组件、传递数据(Props)、管…

ubuntu挂载外接硬盘

查看找到硬盘sudo fdisk -l例如:名字为:/dev/sda创建挂载点sudo mkdir -p /2TSSD手动挂载(单次生效,关机会失效)sudo mount /dev/sda1 /2TSSD开机自动挂载(永远生效,关机会失效)S1&a…

数学思想 | 数学思维过程对象封装

注:本文为 “数学思维过程对象封装” 相关译文。 英文引文,机翻未校。 略作重排,如有内容异常,请看原文。 What is the object of the encapsulation of a process? 过程封装的对象是什么? David Tall#, Michael Th…

常见视频封装格式对比

一、核心概念:封装格式 vs 编码格式 编码格式 (Codec): 例如 H.264, H.265 (HEVC), AV1, VP9。它负责对原始视频和音频数据进行压缩,是决定视频体积和清晰度的关键。封装格式 (Container): 例如 MP4, MKV, AVI。它负责将已经压缩好的视频、音频、字幕等打…

Java实现PDF表格转换为CSV

在很多企业办公和数据分析的场景中,PDF 中常常存放着报表、清单或统计数据。相比 PDF,CSV 文件 更易于在 Excel 或数据库中进行进一步处理。因此,我们常常需要一种方式,将 PDF 中的表格数据批量抽取并导出为 CSV 文件。 本文将介…

具有类人先验知识的 Affordance-觉察机器人灵巧抓取

25年8月来自武汉大学、阿里达摩院、湖畔研究中心、浙大和清华的论文“Towards Affordance-Aware Robotic Dexterous Grasping with Human-like Priors”。 能够泛化抓取目标的灵巧手是开发通用具身人工智能的基础。然而,之前的方法仅仅关注低级抓取稳定性指标&#…

项目管理的关键成功因素

项目管理的关键成功因素包括:目标明确、科学规划、有效沟通、资源保障、风险管理、团队协作、持续监控与总结改进。目标明确保证方向不偏移、科学规划确保执行有章可循、有效沟通减少误解与冲突、资源保障提供坚实支撑、风险管理帮助预防问题、团队协作提升整体效率…

[光学原理与应用-338]:ZEMAX - Documents\Zemax\Samples

Documents\Zemax\Samples 是 Zemax OpticStudio 软件自带的样例文件目录,包含大量预设的光学设计案例,涵盖镜头设计、照明系统、公差分析、非序列光学等多个领域。这些样例是学习软件功能、验证设计方法和快速启动项目的宝贵资源。以下是该目录的详细解析…

el-table合并列实例

想要实现效果:目前接口返回数据data:[{companyCode: "NXKYS",companyName:1123,costContractId:1123,costContractName:1123,createBy:1123,details:[{brand:1123,contractItemName:1123,modelSpec:1123,projectItemId:1123,requestQty:1123,transactionZ…

虚假 TradingView Facebook 广告在全球传播 Android 间谍软件

一项快速发展的恶意广告活动最初通过 Meta 的广告网络针对 Windows 用户,现已将其范围扩展到 Android 设备,推广伪装成合法交易应用程序的 Brokewell 恶意软件的高级版本。 Bitdefender Labs 警告称,此次移动攻击活动目前已在全球范围内展开…

Android系统框架知识系列(十九):Android安全架构深度剖析 - 从内核到应用的全栈防护

​关键词​:安全启动链、应用沙箱、SELinux、硬件安全模块、权限控制、零信任架构一、Android安全架构的基本概念与背景1. 移动安全环境的特殊性Android作为全球最大的移动操作系统,面临着独特的安全挑战:​移动设备的安全威胁维度​&#xf…

智能消防栓闷盖终端:让城市消防管理更智慧高效

然而您是否知道,这些传统的消防栓常常面临非法开启、人为破坏、水压不足等管理难题?当火灾真正发生时,它们能否可靠地提供"救命水"?如今,随着智能消防栓闷盖终端的出现,这一切正在悄然改变。 智…

【系统架构设计(一)】系统工程与信息系统基础上:系统工程基础概念

文章目录一、系统工程的基本概念二、系统工程方法论1、霍尔三维结构:硬科学2、切克兰德方法:软科学思维3、其他三、系统工程生命周期管理1、生命周期阶段划分2、生命周期方法论系统工程与信息系统基础为复杂系统设计提供从思维方法到具体技术的全方位指导…

[p2p-Magnet] 队列与处理器 | DHT路由表

第6章:队列与处理器 在第5章:分类器中,我们了解了系统如何分析原始种子数据。但当系统突然发现数百万新种子时,如何高效处理这些海量任务?这就是队列与处理器系统的职责所在。 核心概念 任务队列 功能定位&#xf…

Spring JDBC 源码初探:异常处理体系

一、Spring JDBC 异常体系简介 当我们使用 Spring JDBC 进行数据访问时,大多数人关注的是 JdbcTemplate 如何简化数据库操作,却很少有人去深入理解异常体系。事实上,异常不仅仅是错误提示,它是系统健壮性、可维护性的重要一环。JD…

如何提高微型导轨的生产效率?

在精密机械制造领域,每一个细微的元件都可能成为决定产品性能和品质的关键因素。而微型导轨正是体型小、高精度优势,在精密制造领域得到广泛应用,它高效支撑着现代工业的生产方式和效率。那么,如何提高微型导轨的生产效率呢&#…

轻量xlsx读取库xlsx_drone的编译与测试

这个库是在看其他网页时,作为和功能丰富的xlsxio库的对比来的,按照xlsx_drone github页面介绍, 特征 不使用任何外部应用程序来解析它们。注重速度而不是功能。简单的接口。UTF-8 支持。 安装 直接将 src 和 ext 文件夹复制并粘贴到项目根文…

Linux/UNIX系统编程手册笔记:文件I/O、进程和内存分配

文件 I/O 深度解析:掌握通用 I/O 模型的核心逻辑 在 Linux 系统编程中,文件 I/O 是程序与外部设备(文件、设备等 )交互的基础。从打开文件到读写数据,再到关闭资源,一系列系统调用构成了通用 I/O 模型的核心…

C++转置正方形矩阵

C转置正方形矩阵&#xff0c;就是正方形矩阵的a[i][j]a[j][i]。输入31 2 34 5 6 7 8 9输出1 4 72 5 83 6 9#include<bits/stdc.h> using namespace std; int main(){int n;cin>>n;int arr[n5][n5];for(int i0;i<n;i){for(int j0;j<n;j){cin>>arr[i][j]…

Ztero文献管理工具插件设置——亲测有效

一、Zotero简介与安装 Zotero是一款开源文献管理软件&#xff0c;能够帮助我们方便地收集、整理、引用和导出文献。它作为一个"在你的网页浏览器中工作的个人研究助手"&#xff0c;可以捕获网页内容并自动添加引用信息。 安装步骤&#xff1a; 访问Zotero官网&…