• 点评cat系列-简介


    面上有很多优秀的 OS 级监控系统 (比如 falcon), 这些监控系统主要聚焦在 CPU/IO/Mem/Disk 和应用端口, falcon 甚至可以监控到 JVM. 但对于应用系统内部的一些监控, 比如程序的 exception/接口性能/调用链, 这些系统级的监控系统就不太好用了.
    大众点评开源的 cat, 就是一个为数不多的面向应用的监控系统, 而且应该最好的一个.

    ======================
    cat 使用场景:
    ======================
    亮点:
    1. [Event 类]: 使用 cat 收集程序抛出的 exception. cat 有报错大盘界面.
    2. [Transaction 类]: 性能监控, 跨越边界的行为往往会引起性能问题.
    3. [Event 类]: 实时监某系统访问频率.
    4. [Transaction 类]: 分布式调用链监控, 这在微服务架构中尤其重要.
    其他场景:
    1. [Heatbeat 类]: 监控业务系统自身的一些指标, 比如 cpu/io 等. 程序需要主动定期执行心跳汇报指令.
    2. [Metric 类]: 监控单位时间内的一些业务指标, 这些指标可以是累加计数类, 也可以是数值类. 对于累加计数类,

    Cat 提供发送 alert 功能, 我们可以将报警以邮件/微信形式发送出去.

    ======================
    Cat 内部机制:
    ======================
    1. 业务应用: 业务应用通过 cat 的客户端进行埋点.
    2. cat 客户端 (Cat-client): cat 客户端负责将埋点消息以队列形式传递到 cat 消费机.
    cat 客户端和 cat 消费机之间是通过 TCP 长连接方式通讯的, 另外又是异步的消息队列, 所以性能很好.
    3. cat 消费机 (Cat-consumer): cat 消费机不断地从网络中取出消息树, 然后转到服务端的消费队列中.
    4. 控制台 (cat-home): cat-home 负责 Web UI 展现, 所有的 cat 节点都可作为控制台.
    5. 告警端 (alarm-machine), 启动告警线程, 进行规则匹配, 发送告警信息, cat 集群中只有一个节点可以作为告警机.
    6. 任务机 (job-machine), 做一些离线的任务,合并天、周、月等报表, cat 集群中只有一个节点可以作为任务机.
    7. cat 原始日志转储 (Cat-consumer 组件之一), cat 原始日志转储可以认为是一个特殊的报表分析器, 它不生成报表, 仅仅是将消息存储到本地文件系统.

    cat 所有服务器组件, 包括 cat-consumer 和 cat-home , 都是运行在同一个 JVM 内部的, 所以每个 cat 服务端既可以作为 consumer, 也可以作为 home, 另外一个 cat 集群可以跨多个数据中心.

    实时报表: CAT 会生成每小时的报表, 对于当前小时, 是基于内存的, 所以 cat 能显示实时报表, 即使是多台机器构成的 cat 集群, 在报表上呈现的也是所有机器汇总, 而不是单台机器的汇总. cat 会展现单位时间内指标的总和, 对于数值类 metric, cat 会自动计算平均值等统计指标.

    c

     

    消息树可以嵌套

    ======================
    Message-ID 格式
    ======================
    Message-ID 格式: applicationName-ip-time-seq
    第一段:是应用名 applicationName, 所以 applicationName 取名不要太长, 以减少网络开销.
    第二段:是当前这台机器的 IP 的 16 进制格式.
    第三段:是系统当前时间除以小时得到的整点数.
    第四段:是表示当前这个客户端在当前小时的顺序递增号 (AtomicInteger 自增,每小时结束后重置).

    ======================
    参考
    ======================

    深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署
    https://blog.csdn.net/caohao0591/article/details/80693289
    官网:
    http://unidal.org/ http://cat.meituan.com/
    发布历史
    http://unidal.org/cat/r/home?op=view&docName=release
    源码和文档
    https://github.com/dianping/cat
    透过 CAT,来看分布式实时监控系统的设计与实现
    http://www.chanpin100.com/article/45629
    深度剖析开源分布式监控 CAT
    https://tech.meituan.com/CAT_in_Depth_Java_Application_Monitoring.html
    大众点评CAT开源监控系统剖析
    https://www.cnblogs.com/yeahwell/p/cat.html

  • 相关阅读:
    19Jinja2中宏定义
    18FlaskRESTful
    装饰器与闭包
    Linux下Flask环境
    1,github更新问题
    我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
    利用Java编码测试CSRF令牌验证的Web API
    利用Jmeter测试CSRF令牌验证的Web API
    以百度天气预报查询API 服务为例,创建Jmeter JavaSampler请求范例
    Dubbo-demo实例写作
  • 原文地址:https://www.cnblogs.com/harrychinese/p/dinaping-cat-intro.html
Copyright © 2020-2023  润新知