目录

Skywalking介绍

Skywalking架构

Skywalking安装

Skywalking使用

Skywalking配置

Skywalking数据持久化

Skywalking告警


  • Skywalking介绍

        Apache Skywalking是一个开源的应用性能监控(Application Performance Monitoring,APM)工具,它提供了实时的、端到端的、基于跟踪的应用程序性能监测。Apache Skywalking是一个跨语言、跨平台的解决方案,支持Java、.NET、Go、Node.js等多种语言,可以在各种不同的部署环境中使用。

  • Skywalking架构

        1、Tracing、Metrics:负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器;

        2、SkyWalking UI:负责提供页面控制台,查看链路、告警等信息;

        3、SkyWalking OAP:负责接收Agent发送的Tracing数据信息,然后进行分析(Analysis Core),存储到外部存储器(Storage),还提供查询(Query)功能;

        4、Storage:数据存储,目前支持ES、MySQL、Sharding Sphere、TiDB、H2多种存储器,目前采用较多的是ES;      

  • Skywalking安装

        安装步骤如下:

        1、官网下载Index of /dist/skywalking  apache-skywalking-apm-6.6.0.zip(本文以6.6.0版本在windows环境为例讲解)

        2、解压apache-skywalking-apm-6.6.0.zip

        3、启动skywalking

        cd D:\software\apache-skywalking-apm-bin\bin
        startup.bat 

        4、验证skywalking

        http://localhost:8090/ 端口默认8080,更改为8090(D:\software\apache-skywalking-apm-bin\webapp\webapp.yml)

  • Skywalking使用

        本文介绍基于java agent的方式使用skywalking。

        使用步骤如下:

        1、准备好后台服务,本文以decoration-1.0.jar项目为例讲解

        2、将apache-skywalking-apm-bin中的agent目录拷贝到另外一个地方,示例拷贝到D:\software\agent

        3、修改D:\software\agent\config\agent.config文件,修改服务名称:

        agent.service_name=decoration

        4、给应用增加skywalking监控

java -javaagent:D:\software\agent\skywalking-agent.jar -jar decoration-1.0.jar

        5、应用decoration请求一些接口,测试skywalking监控,从下图可以看出接口已经被监控到。

  • Skywalking配置

        1、设置skywalking采样率:默认值是全部采样,在高并发的环境下,全采样会影响应用的性能,建议设置一定的采样率 ,示例:每隔3秒采样3条数据(D:\software\agent\config\agent.config)

        agent.sample_n_per_3_secs=3

        2、设置获取mysql的语句的参数信息:默认值是false(D:\software\agent\config\agent.config)

        plugin.mysql.trace_sql_parameters=true

        3、查看controller--service--db完整链路执行耗时

        将optional-plugins\apm-spring-annotation-plugin-6.6.0.jar拷贝到D:\software\agent\plugins文件下即可,测试效果如下:可以看到从controller层到数据库执行层的完整链路耗时

  • Skywalking数据持久化

        skywalking数据默认持久化到H2数据库中,实际项目中,数据往往持久化到ES或mysql中,示例演示skywalking数据持久化到mysql(本文用的mysql版本是5.7)中,步骤如下:

        1、修改D:\software\apache-skywalking-apm-bin\config\application.yml

        storage节点下注释H2的配置,添加mysql的配置,配置如下:

        2、mysql连接包mysql-connector-java-5.1.41.jar拷贝到D:\software\apache-skywalking-apm-bin\oap-libs目录中

        3、再次启动skywalking,然后发起请求,观察mysql发现,skywalking数据已经落入到mysql中。

  • Skywalking告警

        在实际项目中,需要对应用的相关性能指标进行配置,当指标超过阈值时,需要对外发布告警,让项目的管理者及时收到告警信息并处理。

        skywalking的告警规则设置在alarm-settings.yml(D:\software\apache-skywalking-apm-bin\config)中,默认的告警规则如下:

        1、过去3分钟内服务平均响应时间超过1秒

        2、服务成功率在过去2分钟内低于80%

        3、服务90%响应时间在过去3分钟内高于1000毫秒

        4、服务实例在过去2分钟内的平均响应时间超过1秒

        5、端点平均响应时间过去2分钟超过1秒

        如果要设置新的告警规则,参考上图文本修改即可,其中metrics-name在official_analysis.oal文件中约定。配置的告警规则一旦触发,会在skywalking告警栏显示,如下图:

        在实际项目中,当触发了告警规则后,需要立即通知相关管理者,skywalking通过webhooks功能实现了通知的效果:

        当告警规则触发时,webhooks下方的url地址就会执行,实际项目中将地址发布成专门处理告警信息服务,在服务内部通过邮件或者短信的方式发送给项目管理者。

        如果希望告警规则支持动态修改配置,引入Nacos配置管理器可以实现,步骤如下:

        1、修改D:\software\apache-skywalking-apm-bin\config\application.yml,配置nacos地址

        2、在nacos中配置告警规则,如下图:

        3、发送接口测试,观察skywalking的告警栏已修改为nacos中的配置

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

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

相关文章

TCP服务建立的全流程详解

TCP的服务监听步骤(等待客户端连接前)TCP 服务器通过以下步骤完成从初始化到等待客户端连接,为后续的数据传输(send()/recv())奠定了基础一、创建套接字(Socket)作用:套接字是网络通…

数据结构 双链表与LinkedList

本节目标: 认识并且能够实现一个双链表认识LinkedList类并且知道如何去使用 1.双链表 概念 在数据结构中,双链表(Doubly Linked List) 是一种常见的线性数据结构,它由一系列节点组成,每个节点不仅包含数据…

如何解决 JetBrains IntelliJ IDEA 2024.2 和 2025.2 新版本区域选择问题:key is invalid

如何解决 JetBrains IntelliJ IDEA 2024.2 和 2025.2 新版本区域选择问题:key is invalid 在 JetBrains 发布的 IntelliJ IDEA、PyCharm 2024.2 和 2025.2 新版本中,增加了一个新的功能——区域选择。在设置菜单中,你可以找到这一选项&#…

GSON 框架下百度天气 JSON 数据转 JavaBean 的实战攻略

目录 前言 一、百度天气JSON 1、请求参数 2、返回参数 3、属性映射 二、GSON属性映射实战 1、类对象映射 2、属性字段映射 3、日期数据映射 三、天气接口对象展示 1、接口调用 2、Java属性打印输出 四、总结 前言 在当今数字化时代,数据的高效处理与转换…

NAS技术在县级融媒体中心的架构设计与安全运维浅析

NAS技术在县级融媒体中心的架构设计与安全运维浅析 ——原理剖析、应用实践与防御体系建设作者:高级网络安全工程师 吉林•镇赉融媒 刘晓伟 最后更新:2025年8月 适用对象:媒体行业网络安全从业者一、NAS技术核心原理剖析 1. 基础架构 NAS&am…

CobaltStrike的搭建和使用

下载CobaltStrike环境建议使用jdk17,其他java版本有些功能可能无法使用通过网盘分享的文件:CS4.7key-mht.zip 链接: https://pan.baidu.com/s/1CRd1x4r6EIk14BD3UCLgxw?pwdevf4 提取码: evf4将下载的文件分别放在服务器和 本地/kali 上 也就是服务器为…

【Altium designer】一键给多个器件添加参数

目的: 一键给N个元器件/Part添加参数和修改参数值,比如一键给多个电阻添加“备注”并赋予备注的内容为“不焊接”,或者更改“备注”的内容为“不焊接”或空。 背景: 刚入门用AD画原理图,因为原理图的电阻、电容和芯片等等的冗余/兼容设计太多,增加备注不焊的元器件位号…

熟练掌握switch语句:技巧与运用

目录 一、switch语句基础 基本语法结构: 在C/C中: 注意事项: 二、if与switch语句对比 示例:计算整数除以3的余数 使用if语句实现: 使用switch语句实现: 三、break语句的作用 示例(无br…

【03】厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析

厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析 1.下面的程序的输出是()。2.在头文件中#ifndef/#define/#endif的作用是4.执行下面程序中的输出语句后,输出的结果是()6.在32位处理器上,运行如下程序后p的值为()。10.设有两字符串“…

C++算法(数据结构)版

C算法(数据结构)版 有些题目不是完整的题目,如需查看完整的题目请移步到acwing的算法基础课中 文章目录C算法(数据结构)版单链表思路:双链表思路:栈思路:队列思路:单调栈…

算法训练营DAY57 第十一章:图论part07

prim算法精讲 53. 寻宝(第七期模拟笔试) 题目描述: 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,…

最短路问题从入门到负权最短路

一,BFS层次最短路/*题目描述 题目描述 给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1∼N。 问从顶点 1 开始,到其他每个点的最短路有几条。 输入格式 第一行包含 2 个正整数 N,M,为图的顶点数与边数。 接下来 M 行&#xff…

AI智能体小白入门指南

AI智能体小白入门指南 ——什么是AI智能体?它们如何工作? 一、AI智能体是什么? AI智能体(AI Agent)是能感知环境、自主决策并执行动作的人工智能系统。 类比理解:像一个“虚拟机器人”或“数字助手”&#…

《设计模式》策略模式

1.策略模式定义 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一组算法,将每个算法封装起来,并使它们可以相互替换,从而让算法的变化独立于使用它的客户(Client)。 换…

AWS DMS 深度解析:从迁移任务到复制任务 - 全流程指南与最佳实践

AWS Database Migration Service (DMS) 是一项强大的云服务,用于在源数据库和目标数据库之间安全地迁移数据。其核心优势在于支持几乎零停机时间的迁移,这主要归功于其“变更数据捕获 (CDC)”功能。理解迁移任务 (Migration Task) 和复制任务 (Replication Task) 的关系与操作…

国企社招 | 中国邮政2025年社会招聘开启

添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 原文链接:“邮”你“政”好 | 广东邮政2025年社会…

linux添加自启动

linux添加自启动 配置步骤: 创建systemd服务文件 sudo nano /etc/systemd/system/tme-vod.service将下面artifact中的内容复制到该文件中。 [Unit] DescriptionTME VOD Service Afternetwork.target[Service] Typesimple Userroot Grouproot WorkingDirectory/data/…

轻量级解决方案:如何高效处理Word转PDF?

文档格式转换时,手动逐个处理总显得效率低下。它的体积小巧,不到1MB,且无界面设计,运行极简:将其与Word文件放入同一目录,双击启动,程序便会自动完成所有文档的PDF转换。操作零复杂度&#xff0…

Redis 数据倾斜

Redis 数据倾斜指的是在 Redis 集群模式下,数据(以及相应的访问请求和负载)在各个分片(Shard)之间分布严重不均匀的现象。这会导致部分节点成为热点或超载,而其他节点资源闲置,最终引发性能瓶颈…

Java基础-TCP通信(多发多收和一发一收)

目录 案例要求: 实现思路: 代码: User:客户端 Client:服务端 总结: 案例要求: 实现TCP通信的多发多收和一发一收,多发多收去掉各自的while循环就是一发一收,本文只模拟一发一收 实现思路: 客户端(U…