Prometheus

Prometheus is an open-source application used for event monitoring and alerting. It records metrics in a time series database (allowing for high dimensionality) built using an HTTP pull model with flexible queries and real-time alerting. The project is written in Go and licensed under the Apache 2 License, with source code available on GitHub.

Rocket.Chat.Metrics repository contains a basic monitoring setup of Rocket.Chat, based on Grafana and Prometheus. It currently shows and visualizes the following application metrics/information:

  • General totals: Users online/away, DDP users, diffs based on time range.

  • Metrics: Requests and total size per instance.

  • NodeJS: Active handles, requests, event loop lag, heap used, per instance heap, garbage collector.

  • DDP rate limiter: By method, by type, by userId, by connection ID.

  • Rocket.Chat Data: Messages sent, total sent, user presence, users & sessions, Oplog, push queue, Meteor facts, total users, total rooms, notification per minute per notification type.

  • Meteor: Methods total time, methods time, method calls per minute.

  • Subscriptions: Subscription total time, subscription time, subscription calls per minute.

  • Callbacks & Hooks: Callbacks total time, callbacks time, callback calls per minute, hooks total time, hooks time, hook calls per minute.

  • REST API: REST total time, REST time, REST calls per minute.