运维监控背景信息

监控需求来源

刚开始的需求就是出了问题,我们可以精确感知到。

后来的需求扩展为:

通过监控了解数据趋势,知道系统在未来的某个时刻可能出问题,预知问题。

通过监控了解系统的水位情况,为服务扩缩容提供数据支撑。

通过监控来给系统把脉,感知到哪里需要优化,比如一些中间件参数的调优。

通过监控来洞察业务,提供业务决策的数据依据,及时感知业务异常。

可观测性三大支柱

指标监控:只能处理数字,但是因为历史存储数据简单,实时性好,生态好,所以很受欢迎。

日志:有软件的运行情况、业务的运营情况等,通常量比较大,不够结构化,存储成本较高。

链路追踪:以请求串联上下游模块,为每个请求生成一个随机字符串作为请求 ID。服务之间互相调用的时候,把这个 ID 逐层往下传递,每层分别耗费了多长时间,是否正常处理,都可以收集起来附到这个请求 ID 上。后面追查问题时,拿着请求 ID 就可以把串联的所有信息提取出来。

这三者不是完全割裂开的,

业界方案横评

名称 Zabbix Open-Falcon Prometheus Nightingale
描述 企业级的开源解决方案,擅长设备、网络、中间件的监控。Zabbix 核心由两部分构成,Zabbix Server 与可选组件 Zabbix Agent。 组件比较散。 Open-Falcon 基于 RRDtool 做了一个分布式时序存储组件 Graph。这种做法可以把多台机器组成一个集群,大幅提升海量数据的处理能力。前面负责转发的组件是 Transfer,Transfer 对监控数据求取一个唯一 ID,再对 ID 做哈希,就可以生成监控数据和 Graph 实例的对应关系,这就是 Open-Falcon 架构中最核心的分片逻辑。结合我们给出的架构图来看,告警部分是使用 Judge 模块来做的,发送告警事件的是 Alarm 模块,采集数据的是 Agent,负责心跳的模块是 HBS,负责聚合监控数据的模块是 Aggregator,负责处理数据缺失的模块是 Nodata。当然,还有用于和用户交互的 Portal/Dashboard 模块。 针对 Kubernetes 做了直接的支持,提供了多种服务发现机制,大幅简化了 Kubernetes 的监控 和 Prometheus 做良好的整合,打造一个更完备的方案。当下的架构,主要是把 Prometheus 当成一个时序库,作为 Nightingale 的一个数据源。
优点 1.对各种设备的兼容性较好,Agentd 不但可以在 Windows、Linux 上运行,也可以在 Aix 上运行。2.架构简单,使用数据库做时序数据存储,易于维护,备份和转储都比较容易。3.社区庞大,资料多。 1.可以处理大规模监控场景。2.组件拆分得比较散,大都是用 Go 语言开发的,Web 部分是用 Python,易于做二次开发。 1.对 Kubernetes 支持得很好,目前来看,Prometheus 就是 Kubernetes 监控的标配。w生态庞大,有各种各样的 Exporter,支持各种各样的时序库作为后端的 Backend 存储,也有很好的支持多种不同语言的 SDK,供业务代码嵌入埋点。 1.有比较完备的 UI,有权限控制,产品功能比较完备,可以作为公司级统一的监控产品让所有团队共同使用。2.兼容并包,设计上比较开放
缺点 1.使用数据库做存储,无法水平扩展,容量有限。 2.Zabbix 面向资产的管理逻辑,监控指标的数据结构较为固化,没有灵活的标签设计,面对云原生架构下动态多变的环境,显得力不从心。 1.生态不够庞大,是小米公司在主导,很多公司做了二次开发,但是都没有回馈社区,有一些贡献者,但数量相对较少。2开源软件的治理架构不够优秀 1.易用性差。2.Exporter 参差不齐,通常是一个监控目标一个 Exporter,管理起来成本比较高 。3.容量问题,Prometheus 默认只提供单机时序库,集群方案需要依赖其他的时序库。 1.机房网络割裂问题,告警引擎单独拆出一个模块下沉部署到各个机房。2.告警事件发送缺少聚合降噪收敛逻辑

此文章为9月Day 5学习笔记,内容来源于极客时间《运维监控系统实战笔记》

相关推荐
liguojun20252 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
Promise微笑2 小时前
红外分辨率 160×120、320×240、384×288 与 640×480实战选型指南
大数据·运维·人工智能·物联网
云飞云共享云桌面3 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
zandy10114 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
Sagittarius_A*5 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
阿米亚波7 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
网络小白不怕黑7 小时前
12.DHCP服务搭建
linux·运维·服务器·网络
日取其半万世不竭7 小时前
云服务器迁移怎么少停机?DNS 切换前后的完整清单
运维·服务器
FREEDOM_X7 小时前
Linux 多线程编程——总结
java·linux·运维·ubuntu
名字还没想好☜8 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化