Retour au classement

dianping/cat

Java

CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。

apmjavadistributedrealtimemonitoringtracingmetrics
Croissance des étoiles
Étoiles
18.9k
Forks
5.4k
Croissance hebdomadaire
Issues
196
5k10k15k
déc. 2012juin 2017janv. 2022juil. 2026
ArtefactsMavengit clone https://github.com/dianping/cat.git
README

CAT

GitHub stars GitHub forks Maven Central License Build

CAT 简介

  • CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
  • CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
  • CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。

Cat 产品价值

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

Cat 优势

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

由于仓库的git历史记录众多,对于不关注历史,只关注最新版本或者基于最新版本贡献的新用户,可以在第一次克隆代码时增加--depth=1参数以加快下载速度,如

git clone --depth=1 https://github.com/dianping/cat.git

更新日志

  • 最新版本特性一览

    • 注意cat的3.0代码分支更新都发布在master上,包括最新文档也都是这个分支

    • 注意文档请用最新master里面的代码文档作为标准,一些开源网站上面一些老版本的一些配置包括数据库等可能遇到不兼容情况,请以master代码为准,这份文档都是美团点评内部同学为这个版本统一整理汇总。内部同学已经核对,包括也验证过,如果遇到一些看不懂,或者模糊的地方,欢迎提交PR。

    • 多语言客户端:Java、C/C++、Node.js、Python、Go 传送门

    • 消息采样聚合

    • 序列化协议升级

    • 全新文件存储引擎

监控模型:

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

模块简介

功能模块

  • cat-client: 客户端,上报监控数据
  • cat-consumer: 服务端,收集监控数据进行统计分析,构建丰富的统计报表
  • cat-alarm: 实时告警,提供报表指标的监控告警
  • cat-hadoop: 数据存储,logview 存储至 Hdfs
  • cat-home: 管理端,报表展示、配置管理等
  1. 根目录下 cat-client 模块以后不再维护,下个大版本更新计划移除。新版Java客户端参考:lib/java
  2. 管理端、服务端、告警服务均使用 cat-home 模块部署即可

其他模块

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

Quick Start

服务端

项目设计

Apache 2.0 License.

CAT 接入公司

Alt text

更多接入公司,欢迎在 https://github.com/dianping/cat/issues/753 登记

联系我们

我们需要知道你对Cat的一些看法以及建议:

Starred 趋势

Star History Chart

Dépôts similaires
getsentry/sentry

Developer-first error tracking and performance monitoring

PythonPyPIOthercrash-reportingcrash-reports
sentry.io
44.3k4.8k
SigNoz/signoz

SigNoz is an open-source, OpenTelemetry-native observability platform for your team and their AI agents. Get logs, metrics, and traces in one tool with features like APM, distributed tracing, log management, infra monitoring, etc. Combined with SigNoz MCP and a native AI teammate (in SigNoz Cloud) it helps you build more resilient apps.

TypeScriptnpmOtherobservabilityapplication-monitoring
signoz.io
31.5k2.4k
apache/skywalking

APM, Application Performance Monitoring System

JavaMavenApache License 2.0skywalkingobservability
skywalking.apache.org
24.9k6.6k
openobserve/openobserve

Open source observability platform for logs, metrics, traces, frontend monitoring, pipelines and LLM observability. A sophisticated, simple and highly performant alternative to Datadog, Splunk, and Elasticsearch with 140x lower storage costs and single binary deployment.

TypeScriptnpmGNU Affero General Public License v3.0logsmetrics
openobserve.ai
20.3k952
pinpoint-apm/pinpoint

APM, (Application Performance Management) tool for large-scale distributed systems.

JavaMavenApache License 2.0apmmonitoring
pinpoint-apm.gitbook.io
13.8k3.8k
hyperdxio/hyperdx

Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry.

TypeScriptnpmMIT Licenseanalyticsapplication-monitoring
hyperdx.io
9.7k430
highlight/highlight

highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more.

TypeScriptnpmOtherapmgolang
app.highlight.io
9.3k669
alibaba/transmittable-thread-local

📌 a missing Java std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components.

JavaMavenApache License 2.0javathreadlocal
github.com/alibaba/transmittable-thread-local
8.3k1.7k
coroot/coroot

Coroot is an open-source observability and APM tool with AI-powered Root Cause Analysis. It combines metrics, logs, traces, continuous profiling, and SLO-based alerting with predefined dashboards and inspections.

GoGo ModulesApache License 2.0dashboarddatabase-monitoring
coroot.com
7.8k385
markzhai/AndroidPerformanceMonitor

A transparent ui-block detection library for Android. (known as BlockCanary)

JavaMavenApache License 2.0androidperformance
6.7k1k
a597873885/webfunny_monitor

【免费社区版】【企业版】Webfunny是一款集全链路监控和埋点系统于一体的大数据分析系统,我们致力于解决线上的疑难杂症和精细化分析业务数据;监控系统面向技术、埋点系统面向业务,两者配合使用,相得益彰。

JavaScriptnpmApache License 2.0web-monitormonitoring
webfunny.com
5.3k881
uptrace/uptrace

Open source APM: OpenTelemetry traces, metrics, and logs

GoGo ModulesGNU Affero General Public License v3.0monitoringopentelemetry
uptrace.dev/get/hosted/open-source-apm
4.2k212