English
User Guide
Metrics

Metrics

Connect external monitoring systems to display real-time metrics.

Metrics Overview

Overview

ReliaPulse integrates with external metrics providers to:

  • Display real-time metrics on status pages
  • Create METRIC type components
  • Set thresholds for automatic status updates
  • Calculate derived metrics from multiple sources

Supported Integrations

IntegrationDescription
DatadogApplication and infrastructure monitoring
PrometheusOpen-source monitoring and alerting
GrafanaQuery Grafana data sources
New RelicFull-stack observability
PingdomWebsite and uptime monitoring

Setting Up Integrations

Creating an Integration

  1. Navigate to Settings > Integrations
  2. Click "Add Integration"
  3. Select the provider
  4. Configure authentication
  5. Test the connection
  6. Save

Datadog

FieldDescription
API KeyDatadog API key
App KeyDatadog application key
SiteUS1, US3, US5, EU1, AP1

Prometheus

FieldDescription
URLPrometheus server URL
UsernameOptional basic auth
PasswordOptional basic auth

New Relic

FieldDescription
API KeyNew Relic API key
Account IDNew Relic account ID

See Integrations Guide for detailed setup instructions.

Metrics Queries

Creating a Query

  1. Go to the integration settings
  2. Click "Add Metrics Query"
  3. Configure:
FieldDescription
NameQuery identifier
QueryProvider-specific query string
Polling IntervalHow often to fetch (seconds)
EnabledToggle polling on/off

Query Syntax

Datadog:

avg:system.cpu.user{*}
avg:aws.rds.dbload{*}
sum:http.requests{service:api}.as_count()

Prometheus:

avg(node_cpu_seconds_total{mode="idle"})
histogram_quantile(0.95, http_request_duration_seconds_bucket)
rate(http_requests_total[5m])

New Relic (NRQL):

SELECT average(cpuPercent) FROM SystemSample
SELECT count(*) FROM Transaction WHERE appName = 'MyApp'

Thresholds

Set warning and critical thresholds:

ThresholdDescriptionExample
WarningPerformance concernCPU > 70%
CriticalService impactCPU > 90%

When values exceed thresholds:

  • Status changes to reflect severity
  • Notifications triggered (if configured)

Multi-Series Metrics

Track metrics split by tags (e.g., per host, per region):

Enabling Multi-Series

  1. Edit the metrics query
  2. Enable "Multi-Series Mode"
  3. Configure:
FieldDescription
Group By TagsTags to split by (e.g., host,env)
AggregationHow to aggregate (AVG, SUM, MAX)
Max SeriesMaximum series to track

Series Discovery

  1. Save the query with multi-series enabled
  2. Click "Discover Series"
  3. The system queries and creates series entries

Managing Series

Navigate to the series list to:

  • View all discovered series
  • Set custom display names
  • Enable/disable individual series
  • View per-series charts

METRIC Components

Create components that display metric values:

Creating a METRIC Component

  1. Navigate to Components
  2. Click "Add Component"
  3. Select Type: METRIC
  4. Choose:
    • Link to existing query, or
    • Create new query inline
  5. Configure thresholds
  6. Save

Linking Existing Queries

  1. Enable "Link to Existing"
  2. Select the integration
  3. Choose the query
  4. Optionally select a specific series

Calculated Metrics

Combine multiple metrics with formulas:

Calculated Metrics

Creating a Calculated Metric

  1. Navigate to Settings > Calculated Metrics
  2. Click "Add Calculated Metric"
  3. Configure:
FieldDescription
NameMetric name
FormulaMath expression
UnitDisplay unit (%, ms, etc.)
VariablesData sources

Variable Sources

SourceDescription
ExtractedValueValues from ENDPOINT responses
MetricsQueryExternal metrics queries
ConstantStatic numeric values

Formula Example

Calculate DB connection usage percentage:

(current_connections / max_connections) * 100

Variables:

  • current_connections → MetricsQuery (Datadog)
  • max_connections → Constant (400)

Supported Operations

OperationExample
Arithmetica + b, a - b, a * b, a / b
Comparisona > b, a < b, a == b
Functionsmin(a, b), max(a, b), abs(a)
Mathsqrt(a), pow(a, 2), log(a)

Extracted Values

Pull specific values from ENDPOINT responses:

Configuring Extraction

  1. Edit an ENDPOINT component
  2. Go to "Extracted Values"
  3. Click "Add Extraction"
  4. Configure:
FieldDescription
NameValue identifier
JSON PathPath to the value
TypeNumber, String, Boolean

Example

For a response:

{
  "status": "healthy",
  "metrics": {
    "connections": 42,
    "latency_ms": 15.3
  }
}

Extractions:

  • $.metrics.connections42
  • $.metrics.latency_ms15.3

Displaying Metrics

On Status Pages

Add metrics widgets:

  1. Edit the status page
  2. Add "Metrics Chart" widget
  3. Select metric to display
  4. Configure chart type and time range

Chart Types

TypeDescription
LineTime series with lines
AreaFilled area chart
BarBar chart
SparklineMinimal inline chart

Time Ranges

  • Last hour
  • Last 24 hours
  • Last 7 days
  • Last 30 days

API Access

List Queries

curl http://localhost:3000/api/v1/integrations/{id}/metrics \
  -H "Authorization: Bearer sk_live_xxx"

Create Query

curl -X POST http://localhost:3000/api/v1/integrations/{id}/metrics \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "CPU Usage",
    "query": "avg:system.cpu.user{*}",
    "pollingInterval": 60,
    "warningThreshold": 70,
    "criticalThreshold": 90
  }'

Get Data Points

curl "http://localhost:3000/api/v1/integrations/{id}/metrics/{queryId}/data?from=2026-01-01&to=2026-01-22" \
  -H "Authorization: Bearer sk_live_xxx"

Troubleshooting

No Data Showing

  1. Check integration credentials
  2. Verify query syntax
  3. Ensure polling is enabled
  4. Check worker is running

Delayed Data

  1. Increase polling interval
  2. Check metrics provider latency
  3. Verify time range configuration

Thresholds Not Triggering

  1. Verify threshold values
  2. Check metric units
  3. Ensure notifications configured

Best Practices

Query Design

  • Use meaningful names
  • Document complex queries
  • Aggregate appropriately
  • Consider cardinality

Polling Intervals

  • 60 seconds for most metrics
  • 15-30 seconds for critical metrics
  • 5+ minutes for historical metrics

Thresholds

  • Set based on historical data
  • Leave headroom before critical
  • Review and adjust regularly

Related Documentation