• 服务可用性设计


    一、统计指标
    根据普罗米修斯Prometheus中的up指标,按照分钟记录服务不可用的记录数
    up指标:up{application=“agr-ecos.admin”,instance=“30.79.8.41:43950”,job=“agr-ecos”} 当实例下线时为0,实例上线时为1
    1、判断服务不可用逻辑
    服务在某个分钟里,所有实例的up指标全为0,如果满足条件则记录入库(为了可以删除,存储至Pg库)
    2、统计逻辑
    a)定时任务查询前1h中up为0的指标,若存在记录,则遍历up为0的服务,根据服务名查询对应的事件段的up数据
    b)按天统计不可用持续时间和当天不可用分钟数,若服务不可用跨天则需要在第二天统计时,更新不可用持续时间和结束时间
    c)删除数据时需要重新统计
    二、表结构设计
    1、服务不可用明细表: tb_service_disabled_record

    fieldtypecomment
    service_namevarchar服务名
    disable_timetimestamp不可用出现时间(分钟)
    instance_numint实例数量

    2、服务不可用时间统计表:tb_service_disabled_duration

    fieldtypecomment
    service_namevarchar服务名
    disable_start_timetimestamp不可用开始时间
    disable_durationint不可用持续时间
    disable_end_timetimestamp不可用结束时间

    有跨天不可用时,则在第二天更新disable_duration 和disable_start_time
    3、服务不可用按天统计表:tb_service_disabled_daily_statistic

    fieldtypecomment
    service_namevarchar服务名
    disable_minutesint不可用时间
    statistic_daydate日期

    三、接口设计
    1、按周,月,年统计服务可用率,不可用分钟数,最长不可用时间
    2、最近一周topK不可用服务列表
    3、最近一个月topK不可用服务列表
    4、各个系统不可用服服务列表

  • 相关阅读:
    【C++】gnustl_static 与 c++_shared 的区别
    Web API—移动端端网页特效
    2022世界传感器大会即将开幕 汉威科技邀您共享科技盛宴!
    Nginx
    案例分享:某汽车企业通过龙智拓展Jira功能,实现高效项目管理
    信奥一本通1187:统计字符数
    802.11局域网的 MAC 帧
    UBOOT编译--- make xxx_deconfig过程详解(一)
    js控制input数字输入[情况差不多全部考虑到了]
    数据分析报告常见步骤
  • 原文地址:https://blog.csdn.net/m0_38068812/article/details/133963578