当前位置: 首页 > ai >正文

监控插件SkyWalking(一)原理

一、介绍

1、简介

SkyWalking 是一个 开源的 APM(Application Performance Monitoring,应用性能监控)和分布式追踪系统,主要用于监控、追踪、分析分布式系统中的调用链路、性能指标和日志
它由 Apache 基金会托管,特别适合微服务、云原生和容器化架构的应用。

2、核心功能
  • 调用链追踪(Tracing)
    自动收集服务间调用链路数据,帮助你知道请求是如何从一个服务流向另一个服务的。

  • 性能监控(Metrics)
    提供 CPU、内存、QPS、响应时间、错误率等多维度监控指标。

  • 服务拓扑图
    自动生成服务间调用关系图,直观展示微服务依赖。

  • 日志与链路关联
    将日志与调用链整合,方便快速定位问题。

  • 告警
    支持规则配置,当指标异常时发出告警。

3. 典型使用场景
  • 微服务排障:快速找出性能瓶颈和异常调用链。

  • 性能分析:分析接口耗时、数据库慢查询等。

  • 依赖分析:可视化查看服务之间的依赖关系。

  • 生产监控:配合告警及时发现问题。

二、原理

SkyWalking 通过 Agent + OAP Server + UI 三部分协作:

1、Agent(探针)

以插件方式植入到应用(Java、.NET、Node.js 等),自动拦截 HTTP、RPC、数据库等调用,采集链路数据。

2、OAP Server(后端)

接收 Agent 发送的数据,进行存储、聚合、分析。

3、UI(前端可视化界面)

展示调用链、指标图表、告警信息等。

三、下载安装

1、bin下载安装
https://downloads.apache.org/skywalking/10.2.0/apache-skywalking-apm-9.4.0.tar.gz

解压后,目录结构大致是

2、agent获取

上面下载的不包含agent,手动创建个agent目录,然后手动下载

https://repo1.maven.org/maven2/org/apache/skywalking/apm-agent-core/9.4.0/apm-agent-core-9.4.0.jar 解压后找到skywalking-agent.jar放进去,再手动创建\agent\config\agent.config配置文件,内容为:

collector.backend_service 要指向你本地或远程 OAP Server 的 HTTP 端口(默认 11800)。

# 服务名称,对应你的应用名
agent.service_name=your-app-name# 后端 OAP 服务地址,多个用逗号分隔
collector.backend_service=127.0.0.1:11800# 日志等级,开发调试可用 DEBUG
logging.level=INFO
3、启动插件
(1)启动 OAP Server(后台服务)

SkyWalking 的核心是 OAP Server,它负责接收应用程序上报的监控数据。

# Linux / macOS
./bin/oapService.sh# Windows (cmd)
bin\oapService.bat

默认端口:12800 (gRPC) 和 11800 (HTTP)

日志会输出在控制台,你可以看到 OAP server started 的提示。

(2)启动 Web UI

UI 是前端界面,通过浏览器访问。

# Linux / macOS
./bin/webappService.sh# Windows (cmd)
bin\webappService.bat

访问 http://localhost:8080/

http://www.xdnf.cn/news/17766.html

相关文章:

  • 【STM32入门教程】stm32简介
  • (第十五期)HTML文本格式化标签详解:让文字更有表现力
  • 《量子雷达》第5章 量子雷达发射机 预习2025.8.14
  • 腾讯混元全新开源Hunyuan-GameCraft:高动态交互式游戏视频生成框架
  • 【入门级-C++程序设计:13、STL 模板:栈(stack)、队 列(queue)、 链 表(list)、 向 量(vector) 等容器】
  • # 2025全球AI游戏市场研究报告:行业洞察与未来趋势
  • Unity人形角色IK优化指南
  • Vue3 vxeTree树形组件完全指南:从入门到精通的完整使用教程
  • 解决Maven编译时JAVA_HOME配置错误问题:从报错到根治的完整方案
  • web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库
  • 2025天府杯数学建模A题分析
  • Swift 数据类型全景解析(基础到高阶)
  • Linux常用命令(下)
  • RabbitMQ面试精讲 Day 22:消息模式与最佳实践
  • vscode的ws环境,esp32s3连接wifi
  • Steam修改游戏安装目录
  • Python/Node.js 调用taobao API:构建实时商品详情数据采集服务
  • 一、linux内存管理学习(1):物理内存探测
  • 群晖 NAS 影音访问:通过 cpolar 内网穿透服务实现 Nastool 远程管理
  • 亚马逊长尾关键词怎么找?
  • 【大文件上传】分片上传+断点续传+Worker线程计算Hash
  • Mybatis学习笔记(一)
  • vue3+typescript+vite:vite.config.ts / 详细配置示例
  • Rust Web框架Axum学习指南之入门初体验
  • 使用Docker安装MeiliSearch搜索引擎
  • .NET 在鸿蒙系统(HarmonyOS Next)上的适配探索与实践
  • 《Python函数:从入门到精通,一文掌握函数编程精髓》
  • 2021睿抗决赛 猛犸不上 Ban
  • 【论文阅读】基于卷积神经网络和预提取特征的肌电信号分类
  • 使用 Rust 进行 Web 自动化入门