A Prometheus exporter for Imaging FlowCytobot (IFCB) data. This tool collects metrics from IFCB instruments and exposes them in a format compatible with Prometheus monitoring systems, enabling real-time observability and integration with Grafana dashboards.
Copyright 2025 Axiom Data Science, LLC
See LICENSE for details.
This project relies on conda for installation and managing of the project dependencies.
Download and install miniconda for your operating system https://docs.conda.io/en/latest/miniconda.html.
Clone this project with
git.Once conda is available build the environment for this project with:
conda env create -f environment.yml
The above command creates a new conda environment titled
ifcb-prometheus-exporterwith the necessary project dependencies.To update an existing environment with any changes to the dependencies use:
conda env update -f environment.yml
An Additional environment file is present for testing and development environments. The additional developer dependencies can be installed with:
conda env update -f test-environment.yml
To install the project to the new environment:
conda activate ifcb-prometheus-exporter pip install -e .
To run the project's tests:
pytest -sv --integration
To run the exporter and expose metrics on port 8000, specify the dashboard with the --dashboard option (supported: caloos, whoi, bloofinz, bml):
python ifcb_prometheus_exporter/ifcb_prometheus_exporter.py --dashboard caloos
Then visit http://localhost:8000/metrics to view the metrics in Prometheus format. The exporter will use the appropriate base URL for the selected dashboard.
You can select the IFCB dashboard to use for data collection with the --dashboard command-line argument. Supported options are:
caloos whoi bloofinz bml
This will use the appropriate base URL for the selected dashboard.
Add the following to your Prometheus configuration to scrape metrics:
scrape_configs:
- job_name: 'ifcb'
static_configs:
- targets: ['localhost:8000']
If you see ModuleNotFoundError, make sure to update your environment with:
conda env update -f environment.yml
If metrics do not appear, check API connectivity and ensure the exporter is running.
Pull requests and issues are welcome! Please see CONTRIBUTING.rst for guidelines.
This project is licensed under the terms described in LICENSE.
To build the docker container:
docker build -t ifcb-prometheus-exporter .
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.