Skip to main content

Prometheus Exporter for Airflow Metrics

Project description

Airflow Prometheus Exporter

Build Status

The Airflow Prometheus Exporter exposes various metrics about the Scheduler, DAGs and Tasks which helps improve the observability of an Airflow cluster.

The exporter is based on this prometheus exporter for Airflow.

Requirements

The plugin has been tested with:

  • Airflow >= 1.10.4
  • Python 3.6+

The scheduler metrics assume that there is a DAG named canary_dag. In our setup, the canary_dag is a DAG which has a tasks which perform very simple actions such as establishing database connections. This DAG is used to test the uptime of the Airflow scheduler itself.

Installation

The exporter can be installed as an Airflow Plugin using:

pip install airflow-prometheus-exporter

This should ideally be installed in your Airflow virtualenv.

Metrics

Metrics will be available at

http://<your_airflow_host_and_port>/admin/metrics/

Task Specific Metrics

airflow_task_status

Number of tasks with a specific status.

All the possible states are listed here.

airflow_task_duration

Duration of successful tasks in seconds.

airflow_task_fail_count

Number of times a particular task has failed.

airflow_xcom_param

value of configurable parameter in xcom table

xcom fields is deserialized as a dictionary and if key is found for a paticular task-id, the value is reported as a guage

Add task / key combinations in config.yaml:

xcom_params:
  -
    task_id: abc
    key: count
  -
    task_id: def
    key: errors

a task_id of 'all' will match against all airflow tasks:

xcom_params:
 -
    task_id: all
    key: count

Dag Specific Metrics

airflow_dag_status

Number of DAGs with a specific status.

All the possible states are listed here

airflow_dag_run_duration

Duration of successful DagRun in seconds.

Scheduler Metrics

airflow_dag_scheduler_delay

Scheduling delay for a DAG Run in seconds. This metric assumes there is a canary_dag.

The scheduling delay is measured as the delay between when a DAG is marked as SCHEDULED and when it actually starts RUNNING.

airflow_task_scheduler_delay

Scheduling delay for a Task in seconds. This metric assumes there is a canary_dag.

airflow_num_queued_tasks

Number of tasks in the QUEUED state at any given instance.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wat_airflow_prometheus_exporter-1.0.8.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file wat_airflow_prometheus_exporter-1.0.8.tar.gz.

File metadata

  • Download URL: wat_airflow_prometheus_exporter-1.0.8.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

File hashes

Hashes for wat_airflow_prometheus_exporter-1.0.8.tar.gz
Algorithm Hash digest
SHA256 d5bbb77cf77467d0b58244fc0df3b7e6f3edc57340c5831b66fe5ac0948e7180
MD5 e55984b532e3433800fd4ec96523c00f
BLAKE2b-256 21e663536ccdce6e8a543380b733347c6d01ce61ef392c1e8e8a83481fa3b96b

See more details on using hashes here.

File details

Details for the file wat_airflow_prometheus_exporter-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: wat_airflow_prometheus_exporter-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

File hashes

Hashes for wat_airflow_prometheus_exporter-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d2b71bdb1d6da8f64eb0570dfc667fab950f5dc827cfa4954589517f3598ed1e
MD5 c869201b7c29629f55d622818a7b9860
BLAKE2b-256 ec7b886ce20559ccd80cbd1548a5358ffcb3f278cc330d4f3c9f736b78262aaf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page