应用性能监控-web系统

1 系统规划

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

1.1 数据采集的原则:

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

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

 

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

1.2 存储建设的关键点

功能

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

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

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

性能

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

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

容量

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

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

1.3 绘图功能的考量

与服务树系统打通

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

数据横向的比较

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

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

原文地址:https://www.cnblogs.com/jabbok/p/9962127.html