Java技术升华OpsDev服务

监控系统入门

2019-06-22  本文已影响190人  GeekerLou

本文主要科普一些监控系统相关入门知识。

时序数据

基础概念

监控的定义

监控是收集和分析数据以确定业务应用程序的性能,运行状况和可用性及其依赖的资源的行为。 有效的监控策略可帮助用户了解应用程序组件的详细进程,还可以通过主动通知关键问题来避免错误发生,以便在问题发生之前解决问题。

时间序列

监控面向的对象是时间序列的数据,那么时间序列的数据有什么样的特征呢?

  1. 严格按时间顺序进行排序的一组随机变量
  2. 每个变量都包含有时间戳及值
  3. 常见的时间序列,包括服务器cpu利用率、服务请求速率等
  4. 非常有用,能够反映服务的当前状态、在合理分析后能够对未来的趋势进行预测
时间序列

时间序列数据库

大数据时代,各种软硬件设备联网,需要连续监控,将会产生大量的时间序列的数据,针对这一类的数据如何针对性地进行存储和聚合查询呢?作为这一类数据存储的基础设施的时间序列数据库诞生了。

时间序列数据库是一种针对时间序列特点进行优化,专用于处理时间序列数据的软件系统。 从2000年左右出现,在2014年被DB-Engine列为独立的数据类型进行排名。 典型实现:InfluxDB\OpenTSDB\TimescaleDB\Prometheus等。

从下图我们可以看到,自2018年以来,时间序列数据库的受欢迎程度突飞猛进,这也是当前大数据时代发展的必然要求。


JUN-2019-Categories-1.png

下图是来自DB-Engine关于当前流行的时间序列数据库的排名,比较值得我们重点关注的是InfluxDB\OpenTSDB\Prometheus,后续我也会写专门的文章介绍这三个时间序列数据库。


JUN-2019-Matrix2.png

监控系统的分类

根据Peter Bourgon.2017年分布式追踪峰会上提出的Metrics, Tracing 和 Logging 的关系,他将业界所有监控系统划分为如下三类:

image.png
  1. Logging:即日志监控 。
    记录系统发生的离散事件。如:
  1. Metrics:即指标监控 。
    反映系统状态的聚合型数据,从形式上来看,指标为时间序列。如:
  1. Tracing:即分布式追踪。
    请求处理链相关的监控数据,也是离散型。

宏观上看,指标监控的内容主要包括的内容如下:

指标监控系统的两类实现模型

指标Metrics类别的监控系统有两大类典型的实现模型,分别是推模型和拉模型。

拉模型
拉模型
推模型
推模型

监控系统一般架构

监控系统所要回答的基本问题包括:

因此,在设计一般的监控系统时,会包括如下的组件:

监控系统架构

参考资料

  1. An Introduction to Metrics, Monitoring, and Alerting
上一篇 下一篇

猜你喜欢

热点阅读