Advanced Monitoring: Using Prometheus and Grafana for Trend Analysis

Prometheus and Grafana can be connected to your RapidPro workspace to monitor activity over time and visualize trends. With the right dashboards, you can track message volume, group growth, and unusual spikes or drops in usage to support operational reviews and reporting.

Quick Setup Checklist

Use these steps to enable Prometheus monitoring, connect your Prometheus server, and visualize trends in Grafana.

  1. 1. Understand how Prometheus and Grafana work together.
  2. 2. Enable Prometheus monitoring in your workspace settings.
  3. 3. Copy the endpoint URL and credentials (username + password).
  4. 4. Configure your Prometheus server to scrape the workspace endpoint.
  5. 5. Build Grafana dashboards using key workspace metrics and labels.
1
Understand Prometheus and Grafana

Prometheus and Grafana are commonly used together to monitor system activity and visualize trends over time.

  • Prometheus collects and stores metrics as time-series data.
  • Grafana queries Prometheus and displays dashboards, charts, and graphs.
Important: You must have both a Prometheus server and a Grafana server to visualize workspace metrics.

You can host both services yourself or use a hosted solution that provides Prometheus and Grafana.

2
Open the Prometheus settings

To expose metrics from your workspace, you must enable Prometheus monitoring.

  1. Click the Settings icon in the bottom-left corner of your workspace.
  2. Locate and click Prometheus.
[CAPTURE: Show the Workspace Settings page with the Prometheus option visible.]
3
Enable monitoring and copy credentials

  1. Click the Prometheus link to enable monitoring.
  2. Click the Prometheus entry again to reveal:
    • Prometheus endpoint URL
    • Username
    • Password
Important: These credentials are required to configure your Prometheus scrape target.
[CAPTURE: Show the Prometheus settings panel with the endpoint, username, and password visible.]
4
Configure a Prometheus scrape target

Using the endpoint URL and credentials provided in your workspace:

  • Add a new scrape target in your Prometheus server.
  • Point it to your workspace’s Prometheus endpoint.
  • Use the provided username and password for authentication.
Tip: Refer to Prometheus documentation for details on configuring scrape targets.
Important: Historical trend dashboards will look empty at first—Prometheus builds history over time as it continues scraping.
5
Build Grafana dashboards using workspace metrics

Your workspace exposes aggregate metrics that you can use to build dashboards and reports. In Grafana, you can filter and group charts using metric labels such as channel name, group name, direction, and organization.

[CAPTURE: Show a Grafana dashboard using Prometheus metrics with filters applied by label.]

Message volume by channel

Prometheus provides total counts of incoming and outgoing messages per channel.

rapidpro_channel_msg_count{
  channel_name="BotChannel",
  channel_uuid="16551115-2483-4c60-98c4-0bb34e7aa218",
  channel_type="TG",
  msg_direction="out",
  msg_type="message",
  org="Handy"
} 993
  • Track message volume over time
  • Compare traffic across channels
  • Group or filter by channel attributes

Contact counts by group

Prometheus also exposes contact counts for user-created groups and system groups.

rapidpro_group_contact_count{
  group_name="Active Users",
  group_uuid="f53056f9-302c-4d76-a1b4-7ed0c6132779",
  group_type="user",
  org="Handy"
} 23251
  • Monitor group growth
  • Track active user trends
  • Compare engagement across segments

Common use cases

  • Monitor system usage at scale
  • Detect unusual traffic spikes
  • Track campaign or flow impact
  • Support reporting and operational reviews

Common Issues

My Grafana dashboard is empty

Prometheus builds historical data over time. If you just enabled monitoring, allow Prometheus to scrape the endpoint for a while before expecting trend charts to populate.

Prometheus can’t scrape the endpoint (authentication errors)

Confirm your scrape target uses the workspace’s Prometheus endpoint URL and the exact username and password shown in the Prometheus settings panel.

I enabled Prometheus but I can’t find the endpoint URL or password

Open Settings → Prometheus, then click the Prometheus entry again to expand and reveal the endpoint URL and credentials.

I can’t filter charts the way I want

Use metric labels (for example, channel_name, msg_direction, group_name) as Grafana variables or filters so you can group and compare time series across channels and groups.