Skip to main content

Monitor TapData with Prometheus

Use Prometheus to collect TapData metrics, Grafana to review trends, and Alertmanager to send notifications. You can also monitor the MongoDB system database used by TapData.

Choose a starting point

GoalRead this page
Deploy Prometheus, Grafana, and Alertmanager for the first timeDeploy Prometheus monitoring
Connect TapData to an existing Prometheus, Grafana, or Alertmanager deploymentUse an existing monitoring stack
Understand metric values, trends, and healthy rangesMetric reference and health assessment
Import a TapData, API Server, or MongoDB dashboardUse the Grafana dashboards
Monitor the MongoDB system database used by TapDataConfigure MongoDB monitoring
Configure severity-based alerts, notifications, routine checks, and incident responseConfigure alerts and routine monitoring checks

If deployment is complete but a dashboard shows No data, go directly to Troubleshoot missing data.

For a first-time integration, complete these tasks in order:

  1. Enable and verify the metric endpoints. Add only endpoints that return Prometheus metrics.
  2. Deploy the monitoring services in this guide, or use an existing monitoring stack.
  3. Review the metrics available in your environment before enabling task, API Server, or MongoDB dashboards and alerts.
  4. Download and import the Grafana templates. Validate one instance against the TapData UI before selecting All.
  5. Install the alert rules, adjust thresholds to the business SLA, and test the notification path.
  6. Use the routine monitoring checklist for ongoing operations and incident escalation.

Common terms

TermMeaning in this guide
TargetA metric endpoint that Prometheus accesses on a schedule.
Metric endpointAn HTTP URL that returns monitoring data, such as the Flow Engine /actuator/prometheus endpoint.
ScrapeThe process in which Prometheus accesses a metric endpoint and stores the returned data.
MetricQueryable runtime data, such as service state, CPU usage, or task lag.
LabelAdditional information used to filter a metric, such as project, instance, or task_name.
PromQLThe Prometheus query language. Run blocks labeled promql on the Prometheus query page.
ExporterA program that converts the state of a system such as MongoDB into Prometheus metrics.
No dataThe query found no matching data. It does not mean that the metric value is 0.
SLAA service objective defined by the business, such as the maximum permitted task lag.

Monitoring coverage

ObjectPrimary signals
ManagementAvailability, HTTP requests, JVM, process, and host resources
Flow EngineAvailability, JVM, process, and host resources
TapData tasksTask status, connection status, CDC lag, node processing time, and startup milestones
AgentAvailability, process, and host resources
API ServerHTTP requests, Node.js runtime, process, and log metrics
MongoDBDatabase connection, replica set, connections, operations, and WiredTiger cache

Validate the monitoring setup

After deployment, confirm the following results:

  1. Under Status > Target health in Prometheus, every required target is UP. Remove scrape jobs for components that are not deployed.
  2. The Grafana data source test succeeds, and dashboard variables list the expected environment and instances.
  3. Dashboard values, units, state mappings, and task counts pass the environment comparison.
  4. Alerts use only verified metrics, and task-lag thresholds match the business SLA.
  5. During a notification test, alerts move from Pending to Firing, reach the expected receiver, and send a resolved notification after recovery.
  6. On-call engineers understand the response order, incident classification, and escalation conditions.