【连载】说透运维监控系统01-监控系统概述

这套连载课程,纵观整个行业的解决方案,做出横评对比,然后以夜莺监控系统为蓝本,介绍一个监控系统的方方面面。学习完本教材,会对监控系统有个非常全面的认知。适合人群:DevOps工程师、SRE、研发工程师。作者有10余年DevOps研发经验,8年监控系统开发经验,所以本课程不止讲解操作,还会讲解很多原理。

监控概述

监控系统到底是解决什么问题的?大家通常所谓的监控系统,其实只是可观测性三大支柱之一,何为可观测性三大支柱?作为支柱之一的指标监控系统,具体有哪些特点?本章重点来回答这些问题。

需求来源

最初始的需求,其实只有一句话,就是系统出问题了我们能及时感知。当然,随着时代的发展,我们对监控系统提出了更多的诉求,比如:

  • 通过监控了解到趋势,知道系统在未来的某个时刻可能出问题
  • 通过监控了解系统的水位情况,可以在资源不足的时候及时扩容
  • 通过监控来把脉系统,感知到哪里需要优化,比如一些中间件的参数的调优
  • 通过监控来洞察业务,知道业务发展的情况,业务异常了也能及时感知

监控系统的重要性越来越高,不但可以解决上面这些诉求,还能沉淀知识,沉淀在监控系统中的稳定性相关的知识,可能要比很多工程师的大脑更为丰富。当然,这得益于对监控体系的持续运营,特别是一些资深工程师的持续运营成果。

可观测性三大支柱

我们通常所谓的监控系统,其实只是指标监控,体现在图表上的一条折线图,比如某个机器的CPU利用率,或者某个数据库实例的流量,或者网站的在线人数,都体现为随着时间变化的一条线,比如:

指标监控只能处理数字,历史数据存储成本较低,实时性好,生态庞大,是可观测性领域里最重要的一根支柱。有很多系统都是只处理指标数据,比如 Zabbix、Open-Falcon、Prometheus、Nightingale 这些系统在业内有很广泛的应用。

除了指标监控,另一个重要的可观测性支柱,是日志。从日志中也可以得到很多信息,对于了解软件的运行情况、业务的运营情况,都很关键。比如操作系统的日志、接入层的日志、服务日志,都是重要的数据源,从操作系统的日志中,可以得知很多系统级的事件发生了,从接入层的日志中,可以得知有哪些域名、IP、URL 收到了访问,是否成功以及延迟情况等,从服务日志中可以查询到 Exception 的信息,调用堆栈等,对于排查问题,非常关键。

处理日志这个场景,也有很多专门的系统,开源产品首推ELK,商业产品比如 Splunk、Datadog 等,下面是ELK中查询日志的一张截图:

了解了指标和日志,可观测三大支柱还有一环,即:链路追踪。随着微服务的普及,原本的单体应用被拆分成很多个小的服务,服务之间有错综复杂的调用关系,一个问题,是因哪个模块导致的,排查起来并不容易。

链路追踪的思路是,以请求串联上下游模块,为每个请求生成一个随机字符串作为请求ID,服务之间调用的时候把这个ID逐层往下传递,各层分别花费了多久时间,是否正常处理,都可以收集起来附到这个请求ID上,后面追查问题时,拿着请求ID就可以把串联的所有信息提取出来。链路追踪这个领域也有很多产品,比如 Skywalking、Jaeger、Zipkin 等,都是个中翘楚。下面是Zipkin的一张截图:

虽然我们把可观测性领域划分了3大支柱,实际上他们之间是有很强的关联关系的。比如我们经常会从日志中提取指标,转存到指标监控系统,或者从日志中提取链路信息来做分析,这在业界都有诸多实践。

指标监控产品特点

我们重点探讨的是指标监控,不讨论日志和链路追踪,要了解指标监控,首先要了解何为指标,说白了,指标就是衡量目标的数值。比如 Linux 操作系统,我们可以从多个方面去衡量它的负载情况,比如 CPU 的使用率方面有 cpu_usage_system(CPU内核态时间占比)、cpu_usage_user(CPU用户态时间占比)、cpu_usage_idle(CPU空闲时间占比) 等指标,内存方面则有 mem_available_percent(内存可用率)、mem_used(内存使用量)等指标,磁盘方面则有 disk_used_percent(磁盘使用率)、diskio_write_bytes(磁盘写入量)等指标。

一般,会在OS内安装一个客户端软件,作为一个常驻进程运行,按照一个固定的频率来采集(比如15秒),采集到数据之后,发给服务端存储和分析展示。

故而,指标监控的几个特点:

  1. 一般只处理数值数据,不处理字符串(个别监控系统也可以处理字符串,大部分都不处理)
  2. 指标数据是时序数据,每隔一个固定的间隔就采集一次,把采集到的数据上报,永不停歇
  3. 指标数据是采样数据,比如15秒采集一次,只能拿到采集的那一时刻的数据,如果把采集频率调小,可以获取更丰富的更精确的数据,但是代价会更大,需要更多存储,更多算力来处理,实际生产环境,30秒或者60秒就够了,如果对精度要求高,15秒就够了,再小的频率,意义不大,因为监控数据的核心是感知异常和感知趋势,如果出现异常,一般异常会持续一段时间,偶尔的异常通常也不需要关注,所以采样数据通常也可以感知到异常,而对于趋势,如果查看的时间越大,采集频率可以越大,如果看1小时的数据,15秒一个点是可以的,如果看1年的数据,每小时一个点的频率也完全够用,太多的数据点,可能会把浏览器打爆
  4. 因为是处理的时序数据,每个值都带有一个时间戳,这种数据很有规律,行业内出现了专注于这类数据处理的数据库,称为时序数据库,比如InfluxDB、VictoriaMetrics、M3DB等,监控系统依赖一个时序数据库,也就变成了一个典型的架构特点

架构上来说,指标监控系统除了依赖一个时序库,还必然需要一个采集器去采集各种指标数据,其次就是告警引擎和可视化展示,典型的系统架构如下:

Collector表示采集器,专门做采集器的开源项目也有很多,比如 Telegraf、Grafana-Agent、Datadog-Agent、Categraf,以及,Prometheus 生态的各种 Exporter。橙色部分是监控的服务端,通常包括UI展示能力和服务端告警引擎。最后,依赖一个时序数据库:Time Series Database。

本章就介绍到这里,后面的内容会在作者博客持续更新,欢迎大家持续关注。

  • 作者:龙渊秦五,网络ID:UlricQin,欢迎关注
  • 夜莺:一款云原生监控系统,国产开源,隶属中国计算机学会开源发展委员会,项目主站:https://n9e.github.io/

本文由mdnice多平台发布

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容