前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >18.1k star,cat链路监控系统,部分场景很强

18.1k star,cat链路监控系统,部分场景很强

原创
作者头像
大侠之运维
发布2024-09-26 09:46:20
1440
发布2024-09-26 09:46:20
举报
文章被收录于专栏:大侠之运维

18.1k star,cat链路监控系统,部分场景很强

记得之前在一家公司,最怕听到的一句话就是,“cat飘红了,快看一下”,cat同样是一款开源的链路监控软件,而且cat的dashboard很直观,一旦链路中有个节点异常,出现问题还是很快可以看到的,尤其是当领导只关注这个大屏的时候。

区别于skywalking和pinpoint,cat接入是需要修改代码的,如果第一次接入的话,需要研发配合去调整。

CAT (Application Performance Monitoring Tool) 简介

CAT(Application Performance Monitoring Tool)是一个基于Java开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。CAT的设计目标是帮助企业追踪和分析应用程序的性能,及时发现和解决潜在的问题,从而提高应用程序的可用性和性能。

CAT作为一个服务端项目基础组件,不仅提供了Java客户端,还支持多种编程语言的客户端,包括C/C++、Node.js、Python、Go等,这使得CAT能够深度集成到美团点评的各种业务线中,为其提供了丰富的性能指标、健康状况和实时告警功能。CAT的强大之处在于它的实时性,它能够以秒级的精度监控和报告性能数据,从数据生成到服务端处理仅需数秒,确保企业能够迅速响应和解决性能问题。

CAT的产品价值体现在以下几个方面:

  1. 减少故障发现时间: CAT能够实时监控应用程序的性能,帮助企业迅速发现潜在的故障和问题,减少了故障的发现时间。
  2. 降低故障定位成本: CAT提供了全量数据采集和预计算,为企业提供了深度分析故障案例的能力,从而降低了故障定位的成本。
  3. 辅助应用程序优化: CAT不仅可以监控性能问题,还可以帮助企业优化应用程序,提高其性能和可用性。

CAT的优势在于:

  • 实时处理: CAT的实时性使得企业能够及时响应性能问题,特别是在事故处理过程中,信息的实时性至关重要。
  • 全量数据: CAT采集的是全量指标数据,而不是抽样数据,这使得企业能够进行深度分析和诊断性能问题。
  • 高可用: CAT的高可用性保证了故障还原和问题定位不会影响业务的正常运行,对业务透明。
  • 故障容忍: CAT能够在故障发生时仍然保持对业务的监控,确保业务不受影响。
  • 高吞吐: CAT能够处理海量的监控数据,保证了高吞吐能力,适用于大规模应用。
  • 可扩展: CAT支持分布式和跨IDC部署,可以横向扩展以满足监控系统的需求。

CAT的监控模型支持四种消息模型,包括Transaction(事务)、Event(事件)、Heartbeat(心跳)和Metric(指标)。这些模型设计得非常灵活,可以满足各种应用场景的需求。

CAT的功能模块包括:

  • cat-client: 客户端模块,用于上报监控数据。
  • cat-consumer: 服务端模块,用于收集监控数据进行统计分析,并生成丰富的统计报表。
  • cat-alarm: 实时告警模块,提供报表指标的监控告警功能。
  • cat-hadoop: 数据存储模块,用于将监控数据存储至Hadoop的HDFS中。
  • cat-home: 管理端模块,用于展示报表和管理配置等功能。

cat部署目前支持docker部署,可以快速体验下:

说明

支持本机模式快速部署。

docker/Dockerfile包含CAT依赖的环境,可以作为源码部署的参考。

默认的运行方式是集成了一个mysql镜像,可以修改为自己的mysql的详细配置。默认运行的mysql服务,将mysql数据挂载到了docker/mysql/volume中。

代码语言:bash
复制
cd docker
docker-compose up

第一次运行以后,数据库中没有表结构,需要通过下面的命令创建表:

代码语言:bash
复制
docker exec <container_id> bash -c "mysql -uroot -Dcat < /init.sql"

说明:<container_id>需要替换为容器的真实id。通过 docker ps 可以查看到mysql容器id

依赖配置说明

  • datasources.xml CAT数据库配置,默认配置是mysql镜像,可以按需替换
  • docker-compose.yml 通过docker-compose启动的编排文件,文件中包含cat和mysql。可以屏蔽掉mysql的部分,并且修改cat的环境变量,改为真实的mysql连接信息。
  • client.xml CAT 初始化默认的路由列表,配置此文件可以将客户端数据上报指向到不同环境。
  • datasources.sh 辅助脚本,脚本作用时修改datasources.xml,使用环境变量中制定的mysql连接信息。(通过sed命令替换)

总之,CAT是一个强大的实时应用监控平台,为企业提供了丰富的性能监控和告警服务,有助于提高应用程序的可用性、性能和稳定性。通过CAT,企业能够更好地监控和管理其应用程序,及时发现并解决性能问题,提供更好的用户体验。·

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档