监控插件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 放进去,再手动创建\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.pswp.cn/bicheng/93242.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93242.shtml

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

相关文章

【接口自动化测试】---自动化框架pytest

目录 1、用例运行规则 2、pytest命令参数 3、pytest配置文件 4、前后置 5、断言 6、参数化---对函数的参数(重要) 7、fixture 7.1、基本用法 7.2、fixture嵌套: 7.3、请求多个fixture: 7.4、yield fixture 7.5、带参数…

Flink Stream API 源码走读 - socketTextStream

概述 本文深入分析了 Flink 中 socketTextStream() 方法的源码实现,从用户API调用到最终返回 DataStream 的完整流程。 核心知识点 1. socketTextStream 方法重载链 // 用户调用入口 env.socketTextStream("hostname", 9999)↓ 补充分隔符参数 env.socket…

待办事项小程序开发

1. 项目规划功能需求:添加待办事项标记完成/未完成删除待办事项分类或标签管理(可选)数据持久化(本地存储)2. 实现功能添加待办事项:监听输入框和按钮事件,将输入内容添加到列表。 标记完成/未完…

【C#】Region、Exclude的用法

在 C# 中,Region 和 Exclude 是与图形编程相关的概念,通常在使用 System.Drawing 命名空间进行 GDI 绘图时出现。它们主要用于定义和操作二维空间中的区域(几何区域),常用于窗体裁剪、控件重绘、图形绘制优化等场景。 …

机器学习 - Kaggle项目实践(3)Digit Recognizer 手写数字识别

Digit Recognizer | Kaggle 题面 Digit Recognizer-CNN | Kaggle 下面代码的kaggle版本 使用CNN进行手写数字识别 学习到了网络搭建手法学习率退火数据增广 提高训练效果。 使用混淆矩阵 以及对分类出错概率最大的例子单独拎出来分析。 最终以99.546%正确率 排在 86/1035 …

新手如何高效运营亚马逊跨境电商:从传统SP广告到DeepBI智能策略

"为什么我的广告点击量很高但订单转化率却很低?""如何避免新品期广告预算被大词消耗殆尽?""为什么手动调整关键词和出价总是慢市场半拍?""竞品ASIN投放到底该怎么做才有效?""有没有…

【论文阅读 | CVPR 2024 | UniRGB-IR:通过适配器调优实现可见光-红外语义任务的统一框架】

论文阅读 | CVPR 2024 | UniRGB-IR:通过适配器调优实现可见光-红外语义任务的统一框架​1&&2. 摘要&&引言3.方法3.1 整体架构3.2 多模态特征池3.3 补充特征注入器3.4 适配器调优范式4 实验4.1 RGB-IR 目标检测4.2 RGB-IR 语义分割4.3 RGB-IR 显著目…

Hyperf 百度翻译接口实现方案

保留 HTML/XML 标签结构,仅翻译文本内容,避免破坏富文本格式。采用「HTML 解析 → 文本提取 → 批量翻译 → 回填」的流程。百度翻译集成方案:富文本内容翻译系统 HTML 解析 百度翻译 API 集成 文件结构 app/ ├── Controller/ │ └──…

字节跳动 VeOmni 框架开源:统一多模态训练效率飞跃!

资料来源:火山引擎-开发者社区 多模态时代的训练痛点,终于有了“特效药” 当大模型从单一语言向文本 图像 视频的多模态进化时,算法工程师们的训练流程却陷入了 “碎片化困境”: 当业务要同时迭代 DiT、LLM 与 VLM时&#xff0…

配置docker pull走http代理

之前写了一篇自建Docker镜像加速器服务的博客,需要用到境外服务器作为代理,但是一般可能没有境外服务器,只有http代理,所以如果本地使用想走代理可以用以下方式 临时生效(只对当前终端有效) 设置环境变量…

OpenAI 开源模型 gpt-oss 本地部署详细教程

OpenAI 最近发布了其首个开源的开放权重模型gpt-oss,这在AI圈引起了巨大的轰动。对于广大开发者和AI爱好者来说,这意味着我们终于可以在自己的机器上,完全本地化地运行和探索这款强大的模型了。 本教程将一步一步指导你如何在Windows和Linux…

力扣-5.最长回文子串

题目链接 5.最长回文子串 class Solution {public String longestPalindrome(String s) {boolean[][] dp new boolean[s.length()][s.length()];int maxLen 0;String str s.substring(0, 1);for (int i 0; i < s.length(); i) {dp[i][i] true;}for (int len 2; len …

Apache Ignite超时管理核心组件解析

这是一个非常关键且设计精巧的 定时任务与超时管理组件 —— GridTimeoutProcessor&#xff0c;它是 Apache Ignite 内核中负责 统一调度和处理所有异步超时事件的核心模块。&#x1f3af; 一、核心职责统一管理所有需要“在某个时间点触发”的任务或超时逻辑。它相当于 Ignite…

DAY 42 Grad-CAM与Hook函数

知识点回顾回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例# 定义一个存储梯度的列表 conv_gradients []# 定义反向钩子函数 def backward_hook(module, grad_input, grad_output):# 模块&#xff1a;当前应用钩子的模块# grad_input&#xff1a;模块输入的梯度…

基于 NVIDIA 生态的 Dynamo 风格分布式 LLM 推理架构

网罗开发&#xff08;小红书、快手、视频号同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

《吃透 C++ 类和对象(中):拷贝构造函数与赋值运算符重载深度解析》

&#x1f525;个人主页&#xff1a;草莓熊Lotso &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言&#xff1a;生活是默默的坚持&#xff0c;毅力是永久的…

Python 环境隔离实战:venv、virtualenv 与 conda 的差异与最佳实践

那天把项目部署到测试环境&#xff0c;结果依赖冲突把服务拉崩了——本地能跑&#xff0c;线上不能跑。折腾半天才发现&#xff1a;我和同事用的不是同一套 site-packages&#xff0c;版本差异导致运行时异常。那一刻我彻底明白&#xff1a;虚拟环境不是可选项&#xff0c;它是…

[ 数据结构 ] 时间和空间复杂度

1.算法效率算法效率分析分为两种 : ①时间效率, ②空间效率 时间效率即为 时间复杂度 , 时间复杂度主要衡量一个算法的运行速度空间效率即为 空间复杂度 , 空间复杂度主要衡量一个算法所需要的额外空间2.时间复杂度2.1 时间复杂度的概念定义 : 再计算机科学中 , 算法的时间复杂…

一,设计模式-单例模式

目的设计单例模式的目的是为了解决两个问题&#xff1a;保证一个类只有一个实例这种需求是需要控制某些资源的共享权限&#xff0c;比如文件资源、数据库资源。为该实例提供一个全局访问节点相较于通过全局变量保存重要的共享对象&#xff0c;通过一个封装的类对象&#xff0c;…

AIStarter修复macOS 15兼容问题:跨平台AI项目管理新体验

AIStarter是全网唯一支持Windows、Mac和Linux的AI管理平台&#xff0c;为开发者提供便捷的AI项目管理体验。近期&#xff0c;熊哥在视频中分享了针对macOS 15系统无法打开AIStarter的修复方案&#xff0c;最新版已完美兼容。本文基于视频内容&#xff0c;详解修复细节与使用技巧…