zoukankan      html  css  js  c++  java
  • 美团点评CAT监控平台研究

    1. 美团点评CAT监控平台研究

    1.1. 前言

    • 此文根据我对官方文档阅读并记录整理所得,中间可能会穿插一些自己的思考和遇坑

    1.2. 简介

    • CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务
    • CAT 作为服务端项目基础组件,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警
    • CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算

    1.3. 价值

    • 减少故障发现时间
    • 降低故障定位成本
    • 辅助应用程序优化

    1.4. 优势

    • 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中
    • 全量数据:全量采集指标数据,便于深度分析故障案例
    • 高可用:故障的还原与问题定位,需要高可用监控来支撑
    • 故障容忍:故障不影响业务正常运转、对业务透明
    • 高吞吐:海量监控数据的收集,需要高吞吐能力做保证
    • 可扩展:支持分布式、跨 IDC 部署,横向扩展的监控系统

    1.5. 模型设计

    1.5.1. 监控模型

    支持 Transaction、Event、Heartbeat、Metric 四种消息模型

    • Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数
    • Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小
    • Heartbeat 表示程序内定期产生的统计信息, 如CPU利用率, 内存利用率, 连接池状态, 系统负载
    • Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟

    1.5.2. 消息树

    • CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric等信息

    1.6. 模块简介

    1.6.1. 功能模块

    • cat-client: 客户端,上报监控数据
    • cat-consumer: 服务端,收集监控数据进行统计分析,构建丰富的统计报表
    • cat-alarm: 实时告警,提供报表指标的监控告警
    • cat-hadoop: 数据存储,logview 存储至 Hdfs
    • cat-home: 管理端,报表展示、配置管理等

    1.6.2. 其他模块

    • cat-doc:服务端报表使用文档
    • integration:cat和一些第三方工具集成的内容(此部分一部分是由社区贡献,一部分官方贡献)
    • lib:CAT 的客户端,包括 Java、C/C++、Python、Node.js、Go
    • script:CAT 数据库脚本

    1.7. 服务端部署

    1.7.1. CAT安装环境

    • 在写到这部分的时候,我找到了前面我疑惑的一个点:cat-hadoop模块是必须有的吗?这里给出答案,Hadoop是可选项,一般规模较小公司可以直接使用磁盘模式,可以申请CAT服务端,500GB磁盘或者更大磁盘,这个磁盘挂载在/data/目录上

    1.7.2. 安装CAT集群步骤概览

    1. 初始化Mysql数据库,一套CAT集群需要部署一个数据库,数据库脚本script/CatApplication.sql
    2. 初始化/data/目录,配置几个配置文件/data/appdatas/cat/*.xml 几个配置文件,具体下面有详细说明
    3. 打包并重命名为cat.war,放入tomcat容器webapps根目录下,并启动tomcat

    1.7.3. 详细步骤

    • 点击这里
    • 这一步后就可以正常打开管理控制台了

    1.8. 坑

    • 这里我遇到个坑点,本机部署时tomcat和/data目录必须在一个盘,否则日志会报datasource不存在
    • 这里我还遇到了个maven相关的坑点,不能够正常下载对应jar包,原因是maven中D:Program Filesapache-maven-3.3.3conf目录下的settings.xml干扰,需要删除或重命名它

    今天就到这里,明天搞客户端

  • 相关阅读:
    C # 编码 习惯[转载]
    SilverLight 学习笔记 (一) 画刷:Brush
    55条SEO必备技巧
    c# 不安全代码之指针
    VMare 硬盘扩展和压缩、网络配置
    Win7 防护墙设置——Ping命令,Http访问
    Vs2010 sp1补丁太让人纠结
    不可小瞧的GetHashCode函数
    .NET中颜色的转换方法总结
    VS2010 如何制作项目模板
  • 原文地址:https://www.cnblogs.com/sky-chen/p/11284452.html
Copyright © 2011-2022 走看看