How EMonitor Outperforms CAT: A Deep Dive into Meituan’s Monitoring Evolution
This article compares Meituan’s in‑house EMonitor with the open‑source CAT platform, outlines their core monitoring models, sampling pipelines, custom metrics and integration capabilities, and traces the evolution of monitoring stages from log‑based to intelligent root‑cause analysis.
Background
EMonitor is a one‑stop monitoring platform used by all technical departments at Meituan. It collects system, container, network, middleware, business, access‑layer and front‑end metrics, handling petabytes of data per day, writing hundreds of terabytes of metric points, and serving tens of millions of queries.
CAT (Central Application Tracking) is an open‑source Java‑based real‑time application monitoring system originally developed for Meituan‑Dianping.
Monitoring Models (CAT Open‑Source 3.0.0)
Transaction : records execution time and count of a code segment.
Event : records the occurrence count of a specific event.
Heartbeat : periodic statistics such as CPU usage.
Metric : business‑oriented counters that store count and sum.
Transaction and Event share two fixed dimensions, type and name, which are aggregated on a per‑minute basis for reporting.
EMonitor Enhancements
Supports additional metric types: Counter, Timer, Histogram, Payload, and Gauge. Each metric can be tagged, with up to 1,000 distinct tag combinations per metric.
Provides a Grafana‑like dashboard with SQL‑style query configuration, multi‑environment synchronization, and mobile access.
Integrates with frameworks such as MyBatis to automatically record SQL execution as Transactions (type=SQL).
Real‑time streaming compute pre‑aggregates incoming Transaction, Event and custom Metric data every 10 seconds, then writes the results to the open‑source LinDB time‑series database and to Kafka for downstream alerting.
Writes raw trace data to HDFS/HBase and builds application dependency graphs stored in Neo4j.
Comparison between EMonitor and CAT
EMonitor stores metrics in a dedicated time‑series DB (LinDB), enabling arbitrary time‑range queries; CAT only supports hourly aggregation stored in MySQL.
EMonitor aggregates at 10 second granularity, while CAT aggregates per minute.
EMonitor can directly compare current and historical curves; CAT cannot display such side‑by‑side comparisons.
EMonitor offers flexible type / name filtering and richer percentile calculations (TP99/TP999). CAT provides TP999 lines but with limited accuracy across multiple machines or hours.
EMonitor allows arbitrary tag‑based queries and multi‑dimensional dashboards; CAT’s dashboards are limited to fixed dimensions and machine‑level filtering.
Despite these differences, CAT still provides useful features such as TP999 percentile lines and machine‑level filtering.
Evolution Stages of Monitoring Systems
Log Monitoring : Logs are collected and indexed by ELK (Elasticsearch‑Logstash‑Kibana). Debugging relies on searching raw log entries.
Link (Tracing) Monitoring : Introduced by CAT, abstracting Transaction/Event models for trace analysis and simple reporting.
Metric Monitoring : Enriches metric types (Counter, Timer, Histogram, etc.), delegates storage to time‑series databases, and integrates with Grafana‑like dashboards.
Platform Integration : Consolidates system, container, middleware, and business metrics into a unified ingestion, processing, and storage pipeline.
Deep Analysis : Builds application and business dashboards, performs root‑cause analysis, and enables proactive alerting based on trends.
Future Trend: Metrics, Tracing, Logging
Metrics dominate modern monitoring, followed by tracing, with logging playing a supporting role. The next wave will focus on deep metric analysis combined with tracing‑derived dependency graphs to provide comprehensive, proactive insight.
References
CAT repository: https://github.com/dianping/cat
In‑depth analysis of CAT: https://tech.meituan.com/2018/11/01/cat-in-depth-java-application-monitoring.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
