How EMonitor Outperforms CAT: Deep Dive into Modern Monitoring Architecture
EMonitor, Meituan’s unified monitoring platform, extends CAT’s concepts with real‑time 10‑second aggregation, richer metric types, advanced dashboards, and seamless integration across IaaS, PaaS, and application layers, illustrating the evolution from log‑based monitoring to a comprehensive, proactive observability system.
What CAT (Open‑Source Version) Does
CAT abstracts four monitoring models: Transaction, Event, Heartbeat, and Metric.
Transaction records execution time and count of a code segment.
Event records the occurrence count of an event.
Heartbeat represents periodic statistics such as CPU utilization.
Metric records business indicators, supporting count and sum.
Both Transaction and Event have fixed dimensions
typeand
name, which are aggregated per minute for reporting.
CAT also provides a simple metric dashboard and integrates with components such as MyBatis to collect SQL execution statistics.
Alerting in CAT is based on simple threshold rules for the above models.
Comparison Between Meituan’s EMonitor and CAT
EMonitor adopts the Transaction and Event concepts from CAT but improves data aggregation and processing.
Key differences:
EMonitor aggregates data every 10 seconds, while CAT aggregates per minute.
EMonitor stores metrics in the open‑source LinDB time‑series database and Kafka for real‑time alerts; CAT writes aggregated data to MySQL and files/HDFS.
EMonitor supports flexible, multi‑dimensional aggregation of
typeand
name, allowing cross‑hour queries and historical curve comparison; CAT is limited to hourly views.
EMonitor provides richer dashboards comparable to Grafana, with SQL‑like configuration, tag filtering, and environment‑aware synchronization.
EMonitor’s real‑time streaming compute converts Transaction, Event, and Metric data into 10‑second pre‑aggregates, while its data writer indexes link data into HDFS, HBase, and Neo4j.
EMonitor also offers a broader set of metric types (Counter, Timer, Histogram, Payload, Gauge) with tag support, all stored in LinDB.
Both systems integrate with other components, but EMonitor’s integration spans IaaS, PaaS, and application layers, providing a unified monitoring view.
Evolution Stages of Monitoring Systems
1. Log Monitoring : Use logs stored in ELK for basic metric curves; troubleshooting relies on searching logs.
2. Trace Monitoring : Introduced by CAT, modeling Transaction and Metric to provide link analysis and simple reports.
3. Metric Monitoring : Enriches metric types, leverages time‑series databases, and integrates with dashboards like Grafana.
4. Platform Integration : Unifies system, container, middleware, and business monitoring into a single platform, eliminating fragmented tools.
5. Deep Analysis : Moves from data collection to proactive analysis, building application and business dashboards, root‑cause analysis, trend detection, and automated alerting.
Logging, Tracing, and Metrics
All three are essential, but Metrics dominate monitoring, followed by Tracing, with Logging last. Combining Metrics with Tracing’s dependency information enables deeper global analysis.
References:
CAT – https://github.com/dianping/cat
In‑depth analysis of open‑source distributed monitoring CAT – https://tech.meituan.com/2018/11/01/cat-in-depth-java-application-monitoring.html
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
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.