skywalking-告警逻辑

2023-10-17  本文已影响0人  海阔天空_d304

都是应用服务告警

现在的需求要支持动态更新规则配置

如果oap服务使用配置中心管理配置,skywalking支持动态加载-每分钟更新一次,这样不需要改代码,接入的时候只需要更新nacos配置就可以。skywalking会定时拉取配置

如果不用配置中心,则需要修改skywalking代码,从两方面考虑

读取rule配置有两个地方,一个是oap项目启动是会加载alarm-settings.yml配置文件—这个必须要有,没有会报错

在一个后面如果使用了配置中心,会定时拉去配置

org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher#notify

所以如果修改需要从这两个地方入手,核心的部分不动

Skywalking告警大概流程 关键节点流程 告警配置接入oap

rules:

  service_resp_time_rule:

    metrics-name: service_resp_time #指标名称

    op: ">"

    #三秒 阈值

    threshold: 3

    #四分钟---时间桶

    period: 4

    #大于等于2次---四分钟内有两分钟服务响应时间大于3秒

    count: 2

    silence-period: 1 #静默期---这个范围内不会报警

    message: Response time of service {name} is more than 10ms in 1 minutes of last 10 minutes.

    only-as-condition: false

    tags:

      level: WARNING

      receivers: lisi

  service_sla_rule:

    metrics-name: service_sla

    op: ">"

    threshold: 100

    period: 10

    count: 1

    silence-period: 1

    message: Successful rate of service {name} is more than 1% in 1 minutes of last 10 minutes

    only-as-condition: true

composite-rules:

  comp_rule:

    expression: service_resp_time_rule && service_sla_rule #上面两个告警条件都满足

    message: Service {name} response time is more than 10ms and sla is more than 1%.

    tags:

      level: CRITICAL

      receivers: zhangsan

以jvm上报数据说明

APM

定义JVM一些数据指标

定义JVM一些数据指标,JVMMetric.proto文件,并且指标上传的服务,mvn package编译后会生成对应的class文件

OAP

JVM分发器

oal执行引擎会根据oal文件里面定义的jvm指标动态生成jvm指标类和对应的分发器

MetricsAggregateWorker  大概逻辑
上一篇下一篇

猜你喜欢

热点阅读