• 应用性能监控-web系统


    1 系统规划

    参考https://mp.weixin.qq.com/s/UlnHOaN0xaA0jfg5CEmLRA

    1.1 数据采集的原则:

    数据采集,说起来比较简单,只要把数据报上来就行,具体怎么采集,那就八仙过海各显神通了。但是我们作为平台的设计者,必须要考虑标准化与规范化。

    标准化,即抽象出统一的数据模型,用以支持各种自定义的采集数据。

     

    我们采集端口、进程、日志、流量的各方面数据的方式,这个做好标准之后,监控的数据就会很规范。我们在一个业务线所做的稳定性建设方案,就可以无缝地迁移到另一个业务线,无需重复造轮子,而且是摸索很久之后的最佳实践。

    1.2 存储建设的关键点

    功能

    从功能上来讲,数据的存储比较简单,只要能存取时间序列数据即可,这一点,业界所有的时序数据库都可以做到。

    高端的绘图能力和强大的告警能力,大都会依赖动态的tag关联补全。

    InfluxDB是带有tag索引的时序数据库。

    性能

    一是数据的读写性能,尤其是并发读写时的性能,在建设之出,要做好压测和QPS的容量规划。

    二是监控的时序数据必须要做好降采样,也就是数据的定时归档。将过去一段时间的N个点,聚合成一个粗时间粒度的点。这里要注意,千万不要做定时任务,InfluxDB的定时降采样会带来非常大的CPU高峰,对于要应对高并发查询和写入的监控存储来说,这种性能的潮汐是非常危险的。

    容量

    无论什么样的存储,无论效率和压缩比有多高,总是会满的。这种时候,扩展就变成了一个绕不过去的命题。

    关于容量方面,要强调的是,必须要有分布式的架构,可以随时扩容。

    1.3 绘图功能的考量

    与服务树系统打通

    现有一套用于操作启停等操作的服务资源管理数,可以通过这个树(列表),快速获取监控图。

    数据横向的比较

    在一张监控图中,同时显示当前与一段时间的环比,是一种发现问题的非常好的手段。

    如上图,绿线代表今天的数据情况,蓝线代表一天前,红线代表7天前,通过对趋势的比较,可以很容易把握住服务的状态,哪里出问题一目了然。

  • 相关阅读:
    java---随机点名
    java实现窗体JFrame加载动态图片
    微信小程序--登陆页面
    java基础--随机数 猜数字游戏
    jQuery表单验证
    js获取Id,标签,类的几种选择器封装
    轮播图
    关于mysql安全
    PHP5.4开启zend opcache缓存
    ccs3中icon转换为字体的方法
  • 原文地址:https://www.cnblogs.com/jabbok/p/9962127.html
Copyright © 2020-2023  润新知