Skywalking的重要功能详解

学习本篇文章之前首先要了解一下Sky walking的基础知识

分布式链路追踪工具Sky walking详解

一,Sky walking监控数据库

在admin服务中,连接数据库查询user表中所有数据
引入依赖

		<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

编写userList接口

	@GetMapping("/userList")public List<User> userList() {return userService.userList();}

UserServiceImpl类

	@Overridepublic List<User> userList() {return this.list();}

user表中模拟一百万数据【使用MySQL存储过程】

CREATE PROCEDURE bachInsert2354()
BEGIN
DECLARE n INT DEFAULT 0;
START TRANSACTION;
WHILE n < 1000000 DOINSERT INTO `user` VALUES(NULL,'dddd','333333');SET n := n + 1;END WHILE;COMMIT;
END;CALL bachInsert2354();

访问http://localhost:8086/userList
在这里插入图片描述
查看Sky walkingUI界面
在这里插入图片描述
拓扑图
在这里插入图片描述
链路追踪
在这里插入图片描述
查看数据库监控页面
在这里插入图片描述
在这里插入图片描述
Slow Statements (ms)是慢查询SQL

二,Sky walking配置服务的启动日志

将服务的启动日志上传到Sky walking
Spring boot集成log4j2
将Spring boot默认的Logback日志框架移除

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 去掉springboot默认配置 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>

引入log4j2日志依赖

		<dependency> <!-- 引入log4j2依赖 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>

引入Sky walking日志工具包依赖

        <dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-log4j-2.x</artifactId><version>8.9.0</version></dependency>

配置log4j2.xml文件【在resource目录下】

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN" monitorInterval="30"><!--先定义所有的appender--><appenders><!-- skywalking输出器 --><GRPCLogClientAppender name="SkywalkingLog"><ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/><PatternLayout pattern="${LOG_PATTERN}"/></GRPCLogClientAppender></appenders><loggers><root level="INFO"><appender-ref ref="SkywalkingLog"/></root></loggers>
</configuration>

查看UI界面
在这里插入图片描述

三,配置告警

Sky walking并没有直接配置告警功能,而是将需要告警的指标配置到配置文件中,配置webhook【网络钩子】,通过自定义通知接口,然后在实现告警通知,告警规则定义在服务端的config/alarm-settings.yml文件中 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/746b285f63214b31a4af579ca03953fd.png)
#配置告警规则
rule:#服务自带的告警规则...#自定义告警规则#规则名称,必须全局唯一,并且以"_rule"结尾xxxxxx_rule:#告警的指标名称,具体值可以参考下图metrics-name: endpoint_sla#[可选] 指定告警的服务include-names:- serviceA- serviceB#[可选] 排除的服务将不触发告警  exclude-names:- serviceC#[可选] 匹配微服务的名称, 通过正则表达式  include-names-regex: instance\_\d+#阈值,对于不同的指标类型,可以设置不用类型的值,目前支持long, double or int  threshold: 9000  #操作符op: "<"#时间窗口长度,单位时间内,指标异常就会触发告警 (单位是分钟)period: 2#累计数量,指标符合告警条件达到累计数量后,才会触发告警count: 3#静默时间,当发生告警后,多长时间不再告警,默认和period值保持一致silence-period: 10#告警内容,触发告警时,显示的消息内容 {name} 表示告警的服务名称message: Successful rate of service {name} is lower than 90% in 2 minutes of last 10 minutes

配置webhook
在这里插入图片描述
告警规则使用原来的实例即可
编写notify接口

    @PostMapping("/notify")public void alertNotify(@RequestBody List<AlertMessage> alertMessages) {System.out.println("alert");System.out.println(alertMessages);for (AlertMessage alertMessage : alertMessages) {System.out.println(alertMessage);}}

再次访问 http://localhost:8086/userList
触发notify接口
在这里插入图片描述
配置钉钉告警机器人

dingtalkHooks:textTemplate: |-{"msgtype": "text","text": {"content": "Apache SkyWalking Alarm: \n %s."}}    webhooks:- url: 回调地址如【https://oapi.dingtalk.com/robot/send?access_token=dummy_token】secret: 机器人密钥【dummysecret】

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

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

相关文章

上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 我们都知道&#xff0c;嵌入式应用一般都是为了某一个特定应用而存在的。也就是说&#xff0c;和pc不同&#xff0c;这个嵌入式板子一般都是为了解…

多组间比较散点图+误差棒(自备)

目录 数据 计算四分位值 作图 数据 rm(list ls()) library(ggplot2) library(dplyr) library(ggpubr) library(reshape2) library(tidyverse)data <- iris##鸢尾花数据集 dat <- data[,c(5,1)]#单个数据进行分析 计算四分位值 #根据分组计算四分位及中位数 dat1 …

使用Docker安装Redis

大家好&#xff0c;今天给大家分享一下如何使用docker安装Redis&#xff0c;关于docker的安装和常用命令&#xff0c;大家可以参考下面两篇文章&#xff0c;本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 关于Redis的介绍与常用操作可以参考&#x…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

AHB---数据总线

1. 数据总线 为了实现AHB系统&#xff0c;需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位&#xff0c;但这可以根据数据总线宽度进行更改。 数据总线包含以下部分&#xff1a; HWDATAHRDATAEndianness&#xff08;字节序&#xff09; 1.1 HWDATA 在写传输…

【革命启示录】Spring框架:Java开发的“核聚变”能量源!

Hello&#xff0c;我是阿佑&#xff0c;今天给大家整的活是 《Java开发的“核聚变”能量源》 文章目录 Spring框架原理详解一、引言简介目的特点例子 二、背景介绍问题解决方案例子 三、核心概念3.1 控制反转&#xff08;Inversion of Control, IoC&#xff09;定义实现例子与代…

Sarcasm detection论文解析 |基于情感背景和个人表达习惯的有效讽刺检测方法

论文地址 论文地址&#xff1a;https://link.springer.com/article/10.1007/s12559-021-09832-x#/ 论文首页 笔记框架 基于情感背景和个人表达习惯的有效讽刺检测方法 &#x1f4c5;出版年份:2022 &#x1f4d6;出版期刊:Cognitive Computation &#x1f4c8;影响因子:5.4 &…

【python】基础语法

目录 一.注释和常见规则 二.变量及类型 1.数据类型 2.Numbers数字数据类型 3. 字符串类型 &#xff08;1&#xff09;字符串访问 &#xff08;2&#xff09;字符串拼接 4.List&#xff08;列表&#xff09;类型 &#xff08;1&#xff09; 定义 &#xff08;2&#…

【Linux】yum

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 觉得本片文章写的还不错的可以&#x1f44d;点赞&#x1f44d;、&#x1f31f;收藏&#x1f31f;、&#x1f4dd;…

Golang | Leetcode Golang题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; func simplifyPath(path string) string {stack : []string{}for _, name : range strings.Split(path, "/") {if name ".." {if len(stack) > 0 {stack stack[:len(stack)-1]}} else if name ! "" &am…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现&#xff0c;…

计算机系列之数据库技术

13、数据库技术&#xff08;重点、考点&#xff09; 1、三级模式-两级映像&#xff08;考点&#xff09; 内模式&#xff1a;管理如何存储物理的数据&#xff0c;对应具体物理存储文件。 **模式&#xff1a;**又称为概念模式&#xff0c;就是我们通常使用的基本表&#xff0c…

每日算法-java

题目来自蓝桥云 // 这是一个Java程序&#xff0c;用于解决最长不下降子序列问题。 // 问题描述&#xff1a;给定一个整数序列&#xff0c;找到最长的子序列&#xff0c;使得这个子序列是不下降的&#xff08;即相邻的元素不严格递减&#xff09;。 // 程序使用了动态规划的方法…

【C语言】整数,浮点数数据在内存中的存储

Tiny Spark get dazzling some day. 目录 1. 整数在内存中的存储1.1 原码、反码、补码1.1 大小端存储1.2.1 字节序分类1.2.2 判断字节序 2. 浮点数在内存中的存储2.1 浮点数的存储形式2.2 浮点数的 “ 存 ”2.2.1 S2.2.2 E2.2.3 F 2.3 浮点数的 “ 取 ”2.3.1 S2.3.2 E、F 3. 浮…

读取打包到JAR中的文件:常见问题与解决方案(文件在但是报错not find)

读取打包到JAR中的文件&#xff1a;常见问题与解决方案 喝淡酒的时候&#xff0c;宜读李清照&#xff1b;喝甜酒时&#xff0c;宜读柳永&#xff1b;喝烈酒则大歌东坡词。其他如辛弃疾&#xff0c;应饮高梁小口&#xff1b;读放翁&#xff0c;应大口喝大曲&#xff1b;读李后主…

学习c#第26天 面向对象基础之类与对象

1.类 1.什么是类? 俗话说&#xff0c;“物以类聚&#xff0c;人以群分”。意思是同类的东西经常聚在一起&#xff0c;志同道合 的人相聚成群。前者说物&#xff0c;后者说人。这里以物来进行举例说明[见图]&#xff1a; 水果超市&#xff0c;所有同类的水果摆放在一起&#xf…

PHP 框架安全:ThinkPHP 序列 漏洞测试.

什么是 ThinkPHP 框架. ThinkPHP 是一个流行的国内 PHP 框架&#xff0c;它提供了一套完整的安全措施来帮助开发者构建安全可靠的 web 应用程序。ThinkPHP 本身不断更新和改进&#xff0c;以应对新的安全威胁和漏洞。 ThinkPHP 框架的安全特性&#xff1a; (1) 输入过滤和验证…

【go项目01_学习记录05】

学习记录 1 依赖管理 Go Modules1.1 弃用 $GOPATH1.2 Go Modules 日常使用1.2.1 初始化生成go.mod文件1.2.2 Go Proxy代理1.2.3 go.mod文件查看1.2.4 go.sum文件查看1.2.5 indirect 含义1.2.6 go mod tidy 命令1.2.7 清空 Go Modules 缓存1.2.8 下载依赖1.2.9 所有 Go Modules …

[qnx] 通过zcu104 SD卡更新qnx镜像的步骤

0. 概述 本文演示如果给Xlinx zcu104开发板刷入自定义的qnx镜像 1.将拨码开关设置为SD卡启动 如下图所示&#xff0c;将1拨到On,2,3,4拨到Off&#xff0c;即为通过SD启动。 2.准备SD卡中的内容 首先需要将SD格式化为FAT32的&#xff08;如果已经是FAT32格式&#xff0c;则…

网络安全之OSI七层模型详解

OSI七层模型分为控制层&#xff08;前三层&#xff09;和数据层&#xff08;后四层&#xff09;。从第七层到一层为&#xff1b; 应用层&#xff08;7&#xff09;接收数据 表示层&#xff08;6&#xff09;将数据翻译为机器语言 会话层&#xff08;5&#xff09;建立虚连接…