Need help with bull_exporter?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

167 Stars 34 Forks MIT License 340 Commits 30 Opened issues


Prometheus exporter for Bull metrics

Services available


Need anything else?

Contributors list

Bull Queue Exporter

Prometheus exporter for Bull metrics.


Grafana Dashboard



An existing prometheus server is required to use this project

To learn more about how to setup promethues and grafana see:


The dashboard pictured above is available to download from grafana. It will work aslong as EXPORTERSTATPREFIX is not changed.

Queue Discovery

Queues are discovered at start up by running

KEYS bull:*:id
this can also be triggered manually from the
curl -XPOST localhost:9538/discover_queues


| Metric | type | description | |------------------------------|---------|-------------| | bullqueuecompleted | counter | Total number of completed jobs | | bullqueuecompleteduration | summary | Processing time for completed jobs | | bullqueueactive | counter | Total number of active jobs (currently being processed) | | bullqueuedelayed | counter | Total number of jobs that will run in the future | | bullqueuefailed | counter | Total number of failed jobs | | bullqueue_waiting | counter | Total number of jobs waiting to be processed |

Kubernetes Usage

Environment variables for default docker image

| variable | default | description | |-----------------------|--------------------------|-------------------------------------------------| | EXPORTERREDISURL | redis://localhost:6379/0 | Redis uri to connect | | EXPORTERPREFIX | bull | prefix for queues | | EXPORTERSTATPREFIX | bullqueue_ | prefix for exported metrics | | EXPORTERQUEUES | - | a space separated list of queues to check | | EXPORTERAUTODISCOVER | - | set to '0' or 'false' to disable queue discovery|

Example deployment

see: k8s-sample.yaml for more options

apiVersion: apps/v1

kind: Deployment metadata: name: bull-exporter labels: app: bull role: exporter

spec: selector: matchLabels: app: bull role: exporter replicas: 1 template: metadata: labels: app: bull role: exporter spec: containers: - name: bull-exporter image: uphabit/bull_exporter:latest securityContext: runAsGroup: 65534 # nobody runAsUser: 65534 # nobody runAsNonRoot: true privileged: false allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - all resources: requests: cpu: 100m memory: 128M limits: cpu: 200m memory: 512M env: # space delimited list of queues - name: EXPORTER_QUEUES value: "mail job_one video audio"

          # find the redis service in the cluster
        - name: EXPORTER_REDIS_URL
          value: redis://redis:6379/0

apiVersion: v1 kind: Service metadata: name: bull-exporter labels: app: bull role: exporter annotations: 'true' '9538' spec: type: ClusterIP ports: - name: http port: 9538 targetPort: 9538 selector: app: bull role: exporter

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.