一文搞定关于SkyWalking告警的那些事儿

Apache SkyWalking告警是由一组规则驱动,这些规则定义在config/alarm-settings.yml文件中。

告警规则

告警规则定义了触发告警所考虑的条件。告警规则有两种类型,单独规则和复合规则,复合规则是单独规则的组合。这里重点介绍一下单独规则,单独规则主要有以下几点:


规则名称:在告警信息中显示的唯一名称,必须以_rule结尾。
metrics-name:度量名称,也是OAL脚本中的度量名。默认配置中可以用于告警的度量有:服务,实例,端点,服务关系,实例关系,端点关系。它只支持long,double和int类型。
include-names:包含在此规则之内的实体名称列表。
exclude-names:排除在此规则以外的实体名称列表。
include-names-regex:提供一个正则表达式来包含实体名称。如果同时设置包含名称列表和包含名称的正则表达式,则两个规则都将生效。
exclude-names-regex:提供一个正则表达式来排除实体名称。如果同时设置排除名称列表和排除名称的正则表达式,则两个规则都将生效。
include-labels:包含在此规则之内的标签。
exclude-labels:排除在此规则以外的标签。
include-labels-regex:提供一个正则表达式来包含标签。如果同时设置包含标签列表和包含标签的正则表达式,则两个规则都将生效。
exclude-labels-regex:提供一个正则表达式来排除标签。如果同时设置排除标签列表和排除标签的正则表达式,则两个规则都将生效。
标签的设置必须把数据存储在meter-system中,例如:Prometheus, Micrometer。以上四个标签设置必须实现LabeledValueHolder接口。
threshold:阈值。
对于多个值指标,例如percentile,阈值是一个数组。像value1 value2 value3 value4 value5这样描述。每个值可以作为度量中每个值的阈值。如果不想通过此值或某些值触发警报,则将值设置为 -。例如在percentile中,value1是P50的阈值,value2是P75的阈值,那么-,-,value3, value4, value5的意思是,没有阈值的P50和P75的percentile告警规则。
op:操作符,支持>, >=, <, <=, =。
period:多久告警规则需要被检查一下。这是一个时间窗口,与后端部署环境时间相匹配。
count:在一个周期窗口中,如果按op计算超过阈值的次数达到count,则发送告警。
only-as-condition:true或者false,指定规则是否可以发送告警,或者仅作为复合规则的条件。
silence-period:在时间N中触发报警后,在N -> N + silence-period这段时间内不告警。 默认情况下,它和period一样,这意味着相同的告警(同一个度量名称拥有相同的Id)在同一个周期内只会触发一次。
message:该规则触发时,发送的通知消息。

默认告警规则


过去 3 分钟内服务平均响应时间超过 1 秒
最后2分钟服务成功率低于80%
最近 3 分钟内服务响应时间超过 1s 的百分比
服务实例在过去 2 分钟内平均响应时间超过 1s,并且实例名称与正则表达式匹配
过去 2 分钟内端点平均响应时间超过 1 秒
过去 2 分钟内数据库访问平均响应时间超过 1 秒
过去 2 分钟内端点关系平均响应时间超过 1 秒

hook配置

hook是向外界发送警报信息的一种方式,SkyWalking支持多个相同类型的hook,主要包括
webhook:当告警触发时,被调用的服务端点列表。
gRPCHook:当告警触发时,被调用的远程gRPC方法的主机和端口。
Slack Chat Hook:当告警触发时,被调用的Slack Chat接口。
微信 Hook:当告警触发时,被调用的微信接口。
钉钉 Hook:当告警触发时,被调用的钉钉接口。
飞书 Hook:当告警触发时,被调用的飞书接口。
WeLink  Hook:当告警触发时,被调用的Welink接口。
PagerDuty Hook:当告警触发时,被调用的PagerDuty接口。
Discord:当告警触发时,被调用的PagerDuty接口。

钉钉Hook配置

我们可以按以下方式配置钉钉的 Webhooks ,告警消息将按 Content-Type 为 application/json 通过HTTP的 POST 方式发送。

dingtalkHooks:
  textTemplate: |-
    {
      "msgtype": "text",
      "text": {
        "content": "Apache SkyWalking 告警: \n %s."
      }
    }
  webhooks:
    - url: https://oapi.dingtalk.com/robot/send?access_token=dummy_token
      secret: dummysecret

关于钉钉自定义机器人配置方式,可以参考
https://open.dingtalk.com/document/orgapp/application-types

关于skywalking更加详细的告警配置信息可以参考
https://gitcode.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-alarm.md

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

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

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

相关文章

小程序视频怎么保存到本地

掌握视频下载高手的妙招,轻松将微信小程序中的视频内容保存到本地📥。遵循本文步骤,无需繁琐操作,快速实现视频下载,享受随时观看的便捷。 下载高手我已经打包好了 下载高手链接:https://pan.baidu.com/s…

【位运算】Leetcode 丢失的数字

题目解析 268. 丢失的数字 本题的意思就是数组的长度为n,在[0,n]区间中寻找缺失的一个数字 算法讲解 直观思路:排序 Hash,顺序查找缺失的数字 优化:使用异或,首先将[0,n]之间所有数字异或在一起,然后将…

MGRE-OSPF接口网络类型实验

OSPF接口网络类型实验 一,实验拓扑 初始拓扑: 最终拓扑: 二,实验要求及分析 要求: 1,R6为ISP只能配置IP地址,R1-R5的环回为私有网段 2,R1/R4/R5为全连的MGRE结构,R…

LeetCode 349. 两个数组的交集

LeetCode 349. 两个数组的交集 1、题目 力扣题目链接:349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 […

代码随想录算法练习Day13:有效的字母异位词

题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 题目链接:242.有效的字母异位词 卡哥的视频讲解&#xff…

2024国内外常用药物研发数据库(收藏备用)

几十年前,医药研发领域数据查询可谓是一项繁琐而复杂的工作,研发人员需要耗费大量的时间和精力,穿梭于各类纸质文献、专业期刊和实验报告中,寻找各类宝贵数据。然而随着科技的发展,众多医药专业数据库如雨后春笋般涌现…

mysql 查询实战2-解答

看了mysql 查询实战2-题目-CSDN博客的题目,继续进行解答。 6、查询⽹站访问⾼峰期 目标: 查询网站访问高峰时期,高峰时期定义:至少连续三天访问量>1000 1,关联查询 要连续三天,至少要声明“自身”三个去…

淄博烧烤、天水麻辣烫-《实现领域驱动设计》中译本评点-第2章(5)

相关链接 DDD领域驱动设计批评文集>> 汪峰哭晕在厕所-《实现领域驱动设计》中译本评点-第2章(1) 可不是乱打的-《实现领域驱动设计》中译本评点-第2章(2) “领域”的错误定义-《实现领域驱动设计》中译本评点-第2章&…

关于机器学习/深度学习的一些事-答知乎问(六)

如何使用频率域变换对序列数据进行增强? 时频变换是常见的信号分析思路,同样可用于数据增强。在频率域添加噪声是方法之一。比如可以对传感器信号应用短时傅里叶变换STFT得到具有时序关系的谱特征,再在谱特征上应用两种数据增强方法。一是对…

版本控制工具Git的使用

1、Git的基本概念和使用 1、Git是什么? ● Git: 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 ● GitHub: 全球最大的面向开源及私有软件项目的托管平台,免费注册并且可以免费托管开源代码。 ● GitLab:与GitHub类似&a…

IDP之Backstage - 环境搭建

0. 目录 1. 前言2. 环境准备(Windows10下)2.1 安装nvm2.2 git和docker安装 3. 创建模板项目3.1 典型错误: fails on the yarn install step3.2 再次启动3.3 验证 4. 相关 1. 前言 本不想写这篇,因为看着官网文档写着挺简单的,但实…

计算机网络 Cisco路由信息协议(RIP)实验

一、实验内容 1、命名 2、关闭域名解释 3、设置路由器接口IP地址 4、根据要求配置RIP以实现所有客户机都能相互通信 5、配置默认路由 二、实验数据处理 1、建立拓扑图 2、PC机地址配置 主机IP地址子网掩码网关PC110.23.1.2255.255.255.010.23.1.1PC210.23.1.3255.255.2…