• 运维监控背景信息


    监控需求来源

    刚开始的需求就是出了问题,我们可以精确感知到。
    后来的需求扩展为:

    通过监控了解数据趋势,知道系统在未来的某个时刻可能出问题,预知问题。
    通过监控了解系统的水位情况,为服务扩缩容提供数据支撑。
    通过监控来给系统把脉,感知到哪里需要优化,比如一些中间件参数的调优。
    通过监控来洞察业务,提供业务决策的数据依据,及时感知业务异常。

    可观测性三大支柱

    指标监控:只能处理数字,但是因为历史存储数据简单,实时性好,生态好,所以很受欢迎。
    日志:有软件的运行情况、业务的运营情况等,通常量比较大,不够结构化,存储成本较高。
    链路追踪:以请求串联上下游模块,为每个请求生成一个随机字符串作为请求 ID。服务之间互相调用的时候,把这个 ID 逐层往下传递,每层分别耗费了多长时间,是否正常处理,都可以收集起来附到这个请求 ID 上。后面追查问题时,拿着请求 ID 就可以把串联的所有信息提取出来。

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

    业界方案横评

    名称ZabbixOpen-FalconPrometheusNightingale
    描述企业级的开源解决方案,擅长设备、网络、中间件的监控。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学习笔记,内容来源于极客时间《运维监控系统实战笔记》

  • 相关阅读:
    MATLAB算法实战应用案例精讲-【目标检测】单目3D目标检测
    大数据技术现场工程师特色实训室解决方案
    【Java 面试题】经典 Java 面试题 200 问(上)
    企业云工如何高效居家协同办公?试试这个方法
    RabbitMQ入门 -- 阿里云服务器安装RabbitMQ
    fiddler无法信任根证书 安卓
    网站内链外链批量抓取工具
    全量知识系统 程序详细设计 库模式的存储库模型: “三生”(派生衍生自生) (Q&A SmartChat)
    java计算机毕业设计英语网站源代码+系统+数据库+lw文档
    LVS负载均衡-TUN模式(模拟不同网段)
  • 原文地址:https://blog.csdn.net/qq_42108074/article/details/132699338