智能硬件监控体系建设

    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分钟指标. 正常和异常环比下跌不容易.绝对值不容易.

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

    大盘展示: grafana

    报警: 

    自动化维度报警.

    降级:   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

 

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.csdn.net/fei33423/article/details/81514525

波动分析:

   0维波动后,看1维哪个数据的波动占比最大. 
   

   比较高级的波动分析(灰度流量,最新版本):

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

你可能感兴趣的:(稳定性)