GitHub • Prometheus exporter for Firebird databases.
Only tested with Firebird 5. Just the metrics I came up with in times of need.
docker run -e DATABASE_URL="firebird://host.docker.internal:3050/path/to/database.fdb" \
-p 9123:9123 \
ghcr.io/hacker/firebird_exporter:latestMetrics available at http://localhost:9123/metrics
Helm chart available at oci://ghcr.io/hacker/firebird_exporter-chart/firebird-exporter
Environment variables:
DATABASE_URL- Firebird connection stringHTTP_LISTEN_ADDR- Listen address (default:0.0.0.0:9123)
When built with the dotenv feature (default), load from .env file.
./firebird_exporterMetrics available at http://localhost:9123/metrics (or whatever you're listening to)
Health check: ./firebird_exporter healthcheck
A pre-built dashboard is available in the
releases as
firebird-exporter-dashboard-<version>.json.
firebird_up- Database connectivity (0 or 1)
firebird_database_oldest_transaction- Oldest transaction IDfirebird_database_oldest_active- Oldest active transaction IDfirebird_database_oldest_snapshot- Oldest snapshot transaction IDfirebird_database_next_transaction- Next transaction IDfirebird_database_page_buffers- Database page buffersfirebird_database_shutdown_mode- Shutdown modefirebird_database_sweep_interval- Sweep intervalfirebird_database_pages_total- Total pagesfirebird_database_backup_state- Backup statefirebird_database_next_attachment- Next attachment IDfirebird_database_next_statement- Next statement IDfirebird_database_read_only- Read-only flag (0 or 1)
firebird_attachments- Attachments by state (idle,active)firebird_transactions- Transactions by state (idle,active)firebird_statements- Statements by state (idle,active,stalled)
firebird_io_page_reads_total- Page read operationsfirebird_io_page_writes_total- Page write operationsfirebird_io_page_fetches_total- Page fetch operationsfirebird_io_page_marks_total- Page mark operations
firebird_memory_used_bytes- Current memory usedfirebird_memory_allocated_bytes- Current memory allocatedfirebird_memory_max_used_bytes- Maximum memory usedfirebird_memory_max_allocated_bytes- Maximum memory allocated
cargo build --releaseThe dotenv feature (enabled by default) allows loading environment variables
from a .env file. To build without it:
cargo build --release --no-default-features