Skywalking 介绍及应用(从0到1)完整版

微服务全链路追踪

一、APM 系统

APM 系统是可以帮助理解系统行为、用于分析性能问题的工具以便发生故障的时候,能够快速走位和解决问题。

告警规则
SkyWalking 的发行版都会默认提供config/alarm-settings.yml文件,里面预先定义了一些常用的告警规则。如下
1. 过去 3 分钟内服务平均响应时间超过 1 秒。
2.过去 2 分钟服务成功率低于80%。
3. 过去 3 分钟内服务响应时间超过 1s 的百分比
4.服务实例在过去 2 分钟内平均响应时间超过 1s,并且实例名称与正则表达式匹配
5. 过去 2 分钟内端点平均响应时间超过 1 秒。
6. 过去 2 分钟内数据库访问平均响应时间超过 1 秒。
7.过去 2 分钟内端点关系平均响应时间超过 1秒。

Webhook(网络钩子)
Webhoo可以简单理解为是一种Meb0层面的回调机制,通常由一些事件触发,与代码中的事件回调类队,只不过是Web层面的。由于是Web层面的,所以当事件发生时,回调的不再是代码中的方法或函效,,而是服务接口。例如,在告警这个场景,告警就是一个事件。
当该事件发生时,SkyWalking就会主动去调用一个配置好的接口,该接口就是所谓的Webhook。SKWMaKmg9告警消息会通过 HTP 请求进行发送,请求方法为P0ST, contcent-Iype 为 aplication/json,其IS0N教据实基Tlist<ory.apache.skwmelking.oap.server.core.alarm Alarndlasae进行京列比的,,JSON数国示例:
[4
"scopeld”: 1,
"scope”: "SERVICE”
"name": "serviceA",
"ido”: 12,
"id1”: 0.
"ruleName":"service_resp_time_rule”
"alarmMessage":"alarmMessage xxxx"
"startTime”: 1560524171000

@RequestMapping("/alerting")
@RestController
@Slf4j
public class AlertController {

    @PostMapping("/notify")
    public void alertingNotify(@RequestBody List<AlarmMessage> messages){
        log.info("[告警通知]告警消息:{}", JSON.toJSONString(messages));
        for (AlarmMessage message : messages) {
            if (message.getAlarmMessage().contains("服务挂掉")) {
                //发送短信通知
                log.info("发送短信通知"+message.getAlarmMessage());
            }

        }

    }


    //测试接口估计慢3秒进行测试
    @PostMapping("/test")
    public String alertingNotifyTest() throws InterruptedException {
        TimeUnit.SECONDS.sleep(3L);
        String messages="skyWalking测试接口慢3秒进行测试";
        log.info("skyWalking测试接口慢3秒进行测试"+messages);
        return messages;
    }
@ToString
@Data
public class AlarmMessage {
    private int scopeId;
    private String name;
    private String ide;
    private String id1;
    //告警具体消息
    private String alarmMessage;
    private long startTime;
    private String ruleName;


}
以下为告警通知发送到企业微信案列

webhooks:
#  - http://127.0.0.1/notify/
#  - http://127.0.0.1/go-wechat/
   - http://192.168.3.8:8090/alerting/notify

wechatHooks:
  textTemplate: |-
    {
      "msgtype": "text",
      "text": {
        "content": "Apache SkyWalking Alarm: \n %s."
      }
    }
  webhooks:
    - 此处写企业微信通知机器人的地址

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值