Airflow metrics to Google BigQuery
Project description
Airflow Metrics to BigQuery
Sends airflow metrics to Bigquery
Installation
pip install airflow-metrics-gbq
Usage
- Activate statsd metrics in
airflow.cfg
[metrics]
statsd_on = True
statsd_host = localhost
statsd_port = 8125
statsd_prefix = airflow
- Restart the webserver and the scheduler
systemctl restart airflow-webserver.service
systemctl restart airflow-scheduler.service
- Check that airflow is sending out metrics:
nc -l -u localhost 8125
- Install this package
- Create required tables (counters, gauges and timers), an example is shared here
- Create materialized views which refresh when the base table changes, as describe here
- Create a simple python script
monitor.py
to provide configuration:
from airflow_metrics_gbq.metrics import AirflowMonitor
if __name__ == '__main__':
monitor = AirflowMonitor(
host="localhost", # Statsd host (airflow.cfg)
port=8125, # Statsd port (airflow.cfg)
gcp_credentials="path/to/service/account.json",
dataset_id="monitoring", # dataset where the monitoring tables are
counts_table="counts", # counters table
last_table="last", # gauges table
timers_table="timers" # timers table
)
monitor.run()
- Run the program, ideally in the background to start sending metrics to BigQuery:
python monitor.py &
- The logs can be viewed in the GCP console under the
airflow_monitoring
app_name in Google Cloud Logging.
Future releases
- Add a buffer (pyzmq or mp queue)
- Run sending metrics to GBQ in another process
- Add proper typing and mypy support and checks
- Provide more configurable options
- Provide better documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for airflow_metrics_gbq-0.0.4a2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d991d60d15f5b0eee53c553c15cc65ad2c5c267519f08f368a618e29b02242e6 |
|
MD5 | 9d17f433fbd09d16c0226ede5dbb0a9d |
|
BLAKE2b-256 | ce2ea59e305bf9083fa43dc8a90eb25aeaab4e90d3c28341bd22cb49db34fa1e |
Close
Hashes for airflow_metrics_gbq-0.0.4a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09c96d954ed2fdaf980b96f3eda171063e804cbe9cc706633a1e630e1059da3f |
|
MD5 | e34035e7346871def52f48b1f334cbae |
|
BLAKE2b-256 | dd574a2c1d9470547ec83978f0648e1438867fa1f51dde20b68e7d51b8243e56 |