智能硬件监控体系建设

    metric体系化介绍,调研: 指标和指标衍生即度量. 
     1.gavaMetrics {counter,gauge,meter,histogram},输入统计数据后,自动出来各种度量维度.
     2. metric 2.0 官网
     3. Metrics for Spring
      4.al1metric  [同guava ,counter,gauge,meter,histogram ,增加了 timer ,计算qps, 增加 compass 错误码 rt分布 成功次数]

指标:

     用户的体验角度. 之前只是操作,那指标就是耗时,成功率. 视频后,引入了和视觉相关的体验指标. 帧率. 自动绛分辨率.

         最初的指标:   粒度: 行为. 一次影视频udp包传输, 手机调用智能硬件蓝牙.  分钟 

                             指标: 1. 一次行为的耗时,io,状态  2. 快照  cpu使用率  3. 初步统计值. 卡顿率,本质上是衍生产物.可拆解为两条行为. 

        衍生指标即度量: 1.累加 2. 比率 3.瞬态 4. 变化率 qps 5.分布. 圆饼图 5. 分位

    行为指标上报接口. 衍生指标,糅合到行为指标的extras map中

报警三大纬度:

    1.行为纬度,谷歌5要素 2.状态纬度 3.单人次频率纬度(正常+异常. 需要代码,借助metric)  4.体感报警

   指标梳理完备性: 一个系统,边界(入,出,内部弱依赖异常), 纬度-离散(整体,个体, 纬度-适合定位), 比较:(绝对值比较,相对同比) (基本值,计算值[频率等] ) ,(行为,状态)

场景梳理完备性:

   是否该调用,是否调用(该来不来,该不来来了),调用了是否有异常(该来来了有异常,不改来来了有异常),流量大小.

流量影响

中流量

   该来没来怎么监控到:

       1. 拉长时长,看瞬间状态的数量有没有上升(熟悉业务). 拉长时长,看流量总和环比没用. 例子: ding mq 灰度流量回调没有调用,虽然mq回调下降不多(120-20).  但是原来中间状态(status=1 and dingId=0)的状态数从 2-20 

      2. 可以用持续x分钟同比下降10%的方法,来验证. 如果单分钟量实在太少 . 连续N分钟求和+ 连续N个N分钟同比下降的方法. 

小流量该来没来怎么监控到: 1. 拉长时长,看流量总和环比 ,或者状态. 例子: ding mq回调没有调用.

    1. 只能将分钟指标 -- > 先拉长 N分钟指标.  -> 再用其他方法.

 小流量

    (硬件业务业务量都较少):

    拉长时间容易波动, 分钟指标搞成N分钟指标. 正常和异常环比下跌不容易.绝对值不容易. 上诉都容易通过主动探测来进行监控.   (故障影响面来说,拉长时间ok的, 而且主动探测成功,不代表别人成功

 大流量:  异常处于低水位,监控容易,环比容易. 正常流量,该来不来

大盘展示 - 认知-人眼趋势定位:

    grafana 详见 大数据架构分析(BI工具)

    grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。 相比sls的优势在于,一份数据,可以方便的维度查询,有比较强的交互查询展示能力.  完美实现cube (数据立方体)算法

 报警 - 感知 : 

    自动化维度报警.

    降级:   Sentinel 与 Hystrix 降级的对比

https://github.com/alibaba/Sentinel/wiki/Sentinel-%E4%B8%8E-Hystrix-%E7%9A%84%E5%AF%B9%E6%AF%94

智能硬件监控:

   之前机器唯一标识是ip和应用名. 运维直接可知. 智能硬件需要业务端中转.

   钉端行为采集,有网时异步上报sdk.

    其他和钉端类似.

    小流量接口的监控: 1.线上test,有错就报警 2.报警阈值关联流量,min[ 流量/10000,10] 3. 手工配置报警项.

    角色变化:  服务端同学. 客户端同学. 平台化. 接入到odps中,接入到 文档json储存中,方便各端同学查询. restful文档系统.

    web系统: 可配置的web系统. 数据库的权限等,需要接口封装.增加工作量. 支持restful接口的数据库, graphql restful rpc对比.

      动态网页: 通过拖拽生成. 数据填充, 通过graphql 数据库支持. 服务端只需要开发鉴权逻辑即可. 不过复杂的数据,还是需要 kv 嫁接查询. 无法前端多调用几次,然后填充起来即可.

  可视化(数据大盘): 仪表盘,趋势图,圆饼图. 单机: power bi.web: Superset ,grafana (什么时候用Grafana,什么时候用Superset)

视图监控:

     一个页面来自于哪里: spm

     一个页面

                同步渲染: 可以监控渲染成功次数.

                异步渲染: 进入次数降低,增加,停留时间减少. 单人平均次数增加,总次数降低. 

附录:

GraphQL 用例:使用 Golang 和 PostgreSQL 构建一个博客引擎 API

PostgREST入门_数据库直接发布为restful api

http://graphql.cn/

 datav,阿里云 sls ,客户端监控平台谷歌,pv,uv数据. 新增,uv重复率,uv贡献率 x%的用户贡献率y%的数据..

阿里云 大数据分析解决方案 odps MaxCompute

kylin-OLAP多维分析查询服务

Apache kylin是一个开源分布式引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。而superset是airbnb开源的一款数据可视化工具。

kylin在超大数据规模下仍然可以提供秒级甚至毫秒级sql响应的OLAP多维分析查询服务。而且对服务器内存的要求也不像spark sql那么高,经过多方面的优化,数据膨胀率甚至可以控制在100%以内。它利用hive做预计算,然后建立多维的数据立方体,并存在hbase中,从而提供了实时查询的能力。

superset也就是早先的caravel,提供了丰富的图表供用户配置。只要连上数据源,勾几个简单的配置,或者写点sql。用户就可以轻易的构建基于d3、nvd3、mapbox-gl等的炫酷图表。

问: 不知道监控数据存储为什么最后选择的是Elasticsearch 不是Influxdb

答: 首先我没有否定influxdb的意思. 我曾经多方面测试过influxdb可能会存在的瓶颈,当他的数据在超过几百G的时候,绕开cache做随机range聚合查询会发现性能有明显的下滑,有些难以忍受.

附录: 

   机器指标获取:   tsar 

     jvm 监控: MemoryMXBean可以通过ManagementFactory.getMemoryMXBean()

 olap中的数据立方体分:

https://blog.youkuaiyun.com/fei33423/article/details/81514525

波动分析:

   0维波动后,看1维哪个数据的波动占比最大. 
   比较高级的波动分析(灰度流量,最新版本):

   版本升级: 维度, 新旧维度:  一个版本设置为1, 其他版本设置为零. 根据这个版本进行波动分析. 其他版本都请求数都降低了. 但新版本的请求数没有上来. 指标_灰度流量(最新版本)/( 指标_上周同比值- A_灰度后总值) < 60%就有问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值