Metrics Dashboard
Note
The features described on this page are available in all Firely Server editions.
Firely Server offers a Metrics Dashboard that provides an out-of-the-box observability experience. The dashboard visualizes key metrics collected via OpenTelemetry without requiring external tools or additional setup.
The dashboard is intended for:
Quick validation that Firely Server is operating correctly.
Immediate insights into request throughput, latencies, and error rates.
Environments where external monitoring solutions are not yet configured.
Note
The dashboard is not designed to replace production-grade monitoring solutions such as Grafana or Application Insights. For long-term monitoring, analytics, and alerting, it is recommended to export telemetry data to an OpenTelemetry Collector and visualize it in a dedicated monitoring stack.
Important
Full support for the metrics dashboard requires Firely Server and Firely Server Ingest v6.5.0, and Firely Auth v4.5.0.
Available Metrics
The dashboard displays a curated set of server-level and instance-level metrics relevant to FHIR workloads:
Category |
Description |
|---|---|
Availability |
Uptime and reachability of Firely Server and Firely Auth endpoints |
System |
Memory footprint of each Firely Server instance |
System |
CPU utilization of each Firely Server instance |
Workload (configurable per instance / tenant / client_id) |
Number of FHIR interactions in the last 5 minutes |
Workload (configurable per instance / tenant / client_id) |
Number of failed FHIR interactions in the last 5 minutes |
Workload (configurable per instance / tenant / client_id) |
Response time of FHIR interactions in the last 5 minutes |
Resources |
Number of resources stored per resource type |
Resources |
Current ingestion rate via REST API, FSI, or PubSub |
Installing the dashboard
The dashboard can be downloaded either as a docker image or as a collection of binaries. Regardless of the form, the dashboard uses the following ports by default:
Port |
Service |
Remarks |
|---|---|---|
7174 |
Dashboard web UI |
Open in your browser to view the Dashboard |
4317 |
OpenTelemetry ingestion (GRPC) |
Include in Firely Server settings as a destination for OpenTelemetry data |
Docker
Open your favorite command line tool and execute this command:
> docker pull firely/dashboardStart the container (where FirelyServerUrl is the URL Firely Server runs on): - in cmd.exe:
docker run -d -p 7174:7174 -p 4317:4317 -e FirelyServerUrl="http://host.docker.internal:4080" --name firely/dashboard- in Powershell / Bash on macOS:docker run -d -p 7174:7174 -p 4317:4317 -e FirelyServerUrl='http://host.docker.internal:4080' --name firely/dashboardOpen a browser and use the address
http://localhost:7174/. This will show the landing page of Firely Server Dashboard. It does not show any data yet.
Binaries
Download the binaries from Firely Downloads
Extract the zip into a folder on your system
Start the dashboard by navigating to your working folder and executing
> dotnet .\FirelyServerDashboard.dllOpen a browser and use the address
http://localhost:7174/. This will show the landing page of Firely Server Dashboard. It does not show any data yet.
Connecting Firely Server
Enable metrics in the configuration. See OpenTelemetry for details. The metrics dashboard ingests OTLP metrics from Firely Server, Firely Auth, and Firely Server Ingest. Each application must be configured separately.
Configure the OpenTelemetry endpoint to point to the Firely Server Metrics Dashboard backend on port
4317and start the backend service. Alternatively, configure the OpenTelemetry Collector to forward metrics to both the dashboard and Prometheus endpoints.(Re)start Firely Server.
Note
Metrics become visible in the dashboard after approximately one minute. Metrics are cached for five minutes and discarded afterwards.
Settings
You can change the URLs the dashboard is listening on by adding appsettings.instance.json and specifying only the settings you want to override (similar to Adjusting Firely Server settings). If you select a https-URL, you have to provide information on the server-side certificate (similar to Configure http and https) you want to use to secure the connection:
{
"Kestrel": {
"Endpoints": {
"DashboardUI": {
"Url": "https://0.0.0.0:7174",
"Certificate": {
"Path": "<path to your .pfx certificate>",
"Password": "<password of your .pfx certificate>"
}
},
"OpenTelemetry": {
"Url": "https://0.0.0.0:4317",
"Protocols": "Http2",
"Certificate": {
"Path": "<path to your .pfx certificate>",
"Password": "<password of your .pfx certificate>"
}
}
}
}
}
Important
If you choose to expose the dashboard to the internet, we urge you to use a reverse proxy with a layer of authentication enabled
Example Use Cases
Health check: Verify responsiveness and request handling.
Development and testing: Monitor latency and error spikes without additional tooling.
Resource ingestion insights: Monitor Firely Server performance and ensure data ingestion without failures.
Release Notes
Release 1.0.0-beta, February 18th, 2026
This is a beta release of the dashboard, which is not yet intended for production use, but can be used for testing and feedback purposes. The dashboard is available as a docker image and as a collection of binaries. It supports metrics from Firely Server (v6.5.0 and up), Firely Auth (v4.5.0 and up), and Firely Server Ingest (v6.5.0 and up).
