Skip to content
Stand with Ukraine flag

Prometheus metrics

ThingsBoard Edge exposes internal metrics via Spring Boot Actuator using the Prometheus format. These metrics can be scraped by a Prometheus instance and visualized in Grafana or any compatible monitoring tool.

Add the following environment variables to your Edge configuration:

Terminal window
export METRICS_ENABLED=true
export METRICS_ENDPOINTS_EXPOSE=prometheus

For Docker deployments, add these to the environment block in docker-compose.yml:

METRICS_ENABLED: "true"
METRICS_ENDPOINTS_EXPOSE: "prometheus"

Metrics are exposed at:

https://<your-edge-hostname>/actuator/prometheus

No authentication is required to scrape this endpoint.

MetricStat namesDescription
attributes_queue_${index}totalMsgs, failedMsgs, successfulMsgsAttribute writes to the database. Multiple queues are used for performance.
ruleEngine_${queue_name}totalMsgs, failedMsgs, successfulMsgs, tmpFailed, failedIterations, successfulIterations, timeoutMsgs, tmpTimeoutRule engine message processing, per queue (Main, HighPriority, SequentialByOriginator, etc.).
ruleEngine_${queue_name}_secondsper tenantIdTime taken to process messages in each queue.
coretotalMsgs, toDevRpc, coreNfs, sessionEvents, subInfo, subToAttr, subToRpc, deviceState, getAttr, claimDevice, subMsgsInternal system message processing.
jsInvokerequests, responses, failuresRequests to the JavaScript executors.
attributes_cachehit, missAttribute cache requests.

Rule engine stat descriptions:

StatDescription
tmpFailedMessages that failed and were reprocessed later
tmpTimeoutMessages that timed out and were reprocessed later
timeoutMsgsMessages that timed out and were discarded
failedIterationsProcessing iterations where at least one message was not processed successfully

Core stat descriptions:

StatDescription
toDevRpcProcessed RPC responses from Transport services
sessionEventsSession events from Transport services
subInfoSubscription info messages from Transport services
subToAttrSubscribe-to-attribute-updates requests from Transport services
subToRpcSubscribe-to-RPC requests from Transport services
getAttrGet-attributes requests from Transport services
claimDeviceDevice claim requests
deviceStateProcessed device state changes
subMsgsProcessed subscription messages
coreNfsProcessed internal system messages
MetricStat namesDescription
transporttotalMsgs, failedMsgs, successfulMsgsRequests received by Transport from Core.
ruleEngine_producertotalMsgs, failedMsgs, successfulMsgsMessages pushed from Transport to the Rule Engine.
core_producertotalMsgs, failedMsgs, successfulMsgsMessages pushed from Transport to the ThingsBoard node device actor.
transport_producertotalMsgs, failedMsgs, successfulMsgsRequests from Transport to Core.
MetricStat namesDescription
ts_latest_queue_${index}totalMsgs, failedMsgs, successfulMsgsLatest telemetry writes to the database. Multiple queues are used for performance.
ts_queue_${index}totalMsgs, failedMsgs, successfulMsgsTelemetry writes to the database. Multiple queues are used for performance.