Coder Social home page Coder Social logo

mocha's Introduction

Mocha

codecov

English | 简体中文

Mocha is an application performance monitor tools based on OpenTelemetry, which also provides a scalable platform for observability data analysis and storage.

Note: Use git clone --recursive to clone this repository with submodules.

Quick Start

In the beta phase, we provide a Docker Compose file for users to experience our system locally.

Functional Architecture

The set of features that Mocha will provide:

  • APM and distributed tracing
    • Service overview, R.E.D metrics, and availability monitoring
    • Service topology
    • Endpoints monitoring, including HTTP, RPC, Cache, DB, MQ, etc.
    • Traces query
  • Infrastructure monitoring
    • Host monitoring
    • Container and Kubernetes monitoring
  • Logs
    • Log query
    • Log analysis
  • Alerts
    • Alert rule management
    • Alert notifications
  • Metrics/Logs/Traces data explore

Technical Architecture

The components of Mocha are as follows:

  • Mocha Distributor Cluster: As the gateway of the Mocha system, it is responsible for receiving data reported by OTel SDK and Collectors and routed them to the corresponding aggregator nodes through consistent hashing. To ensure data is not lost, the Distributor should eventually have the ability to locally store data in a FIFO queue.
  • Mocha Streaming Cluster: The core component of Mocha, which generates corresponding streaming data flows and executes them by reading the pre-configured or user-configured aggr rule DSL. Streaming is a stateful component with the ability to distribute shuffled data and needs to register its information in ETCD.
  • Storage: Mocha MTL storage, which can use open-source storage components such as ClickHouse, Elastic Search, and victoriametrics.
  • Mocha Querier + Grafana: Querying data from storage and providing it to Grafana for display. Therefore, it is necessary to compatibility with promql/jeager/loki and other data sources.
  • Mocha Manager : Consisting of a manager server, dashboard, and ETCD for cluster metadata and data analysis rules storage.
  • OTel SDK / Collector : Open-source OpenTelemetry collection kits

Contribute

One of the easiest ways to contribute is to participate in discussions and discuss issues. You can also contribute by submitting pull requests with code changes.

License

Mocha is under the MIT license. See the LICENSE file for details.

mocha's People

Contributors

liuhaoyang avatar eventhorizon-cli avatar kawhiwei avatar netcore-jroger avatar tsaiggo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.