mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-10-27 10:52:11 +01:00
3.5 KiB
3.5 KiB
| id | title |
|---|---|
| metrics | Metrics |
Metrics
Frigate exposes Prometheus metrics at the /api/metrics endpoint that can be used to monitor the performance and health of your Frigate instance.
Available Metrics
System Metrics
frigate_cpu_usage_percent{pid="", name="", process="", type="", cmdline=""}- Process CPU usage percentagefrigate_mem_usage_percent{pid="", name="", process="", type="", cmdline=""}- Process memory usage percentagefrigate_gpu_usage_percent{gpu_name=""}- GPU utilization percentagefrigate_gpu_mem_usage_percent{gpu_name=""}- GPU memory usage percentage
Camera Metrics
frigate_camera_fps{camera_name=""}- Frames per second being consumed from your camerafrigate_detection_fps{camera_name=""}- Number of times detection is run per secondfrigate_process_fps{camera_name=""}- Frames per second being processedfrigate_skipped_fps{camera_name=""}- Frames per second skipped for processingfrigate_detection_enabled{camera_name=""}- Detection enabled status for camerafrigate_audio_dBFS{camera_name=""}- Audio dBFS for camerafrigate_audio_rms{camera_name=""}- Audio RMS for camera
Detector Metrics
frigate_detector_inference_speed_seconds{name=""}- Time spent running object detection in secondsfrigate_detection_start{name=""}- Detector start time (unix timestamp)
Storage Metrics
frigate_storage_free_bytes{storage=""}- Storage free bytesfrigate_storage_total_bytes{storage=""}- Storage total bytesfrigate_storage_used_bytes{storage=""}- Storage used bytesfrigate_storage_mount_type{mount_type="", storage=""}- Storage mount type info
Service Metrics
frigate_service_uptime_seconds- Uptime in secondsfrigate_service_last_updated_timestamp- Stats recorded time (unix timestamp)frigate_device_temperature{device=""}- Device Temperature
Event Metrics
frigate_camera_events{camera="", label=""}- Count of camera events since exporter started
Configuring Prometheus
To scrape metrics from Frigate, add the following to your Prometheus configuration:
scrape_configs:
- job_name: 'frigate'
metrics_path: '/api/metrics'
static_configs:
- targets: ['frigate:5000']
scrape_interval: 15s
Example Queries
Here are some example PromQL queries that might be useful:
# Average CPU usage across all processes
avg(frigate_cpu_usage_percent)
# Total GPU memory usage
sum(frigate_gpu_mem_usage_percent)
# Detection FPS by camera
rate(frigate_detection_fps{camera_name="front_door"}[5m])
# Storage usage percentage
(frigate_storage_used_bytes / frigate_storage_total_bytes) * 100
# Event count by camera in last hour
increase(frigate_camera_events[1h])
Grafana Dashboard
You can use these metrics to create Grafana dashboards to monitor your Frigate instance. Here's an example of metrics you might want to track:
- CPU, Memory and GPU usage over time
- Camera FPS and detection rates
- Storage usage and trends
- Event counts by camera
- System temperatures
A sample Grafana dashboard JSON will be provided in a future update.
Metric Types
The metrics exposed by Frigate use the following Prometheus metric types:
- Counter: Cumulative values that only increase (e.g.,
frigate_camera_events) - Gauge: Values that can go up and down (e.g.,
frigate_cpu_usage_percent) - Info: Key-value pairs for metadata (e.g.,
frigate_storage_mount_type)
For more information about Prometheus metric types, see the Prometheus documentation.