气流插件,用于自动从气流向数据狗发送指标
airflow-metrics的Python项目详细描述
气流指标
airflow-metrics
是一个气流插件,用于自动从气流向数据狗发送度量。
测试:apache-airflow>=1.10.2, <=1.10.3
安装
pip install airflow-metrics
可选
如果您想要来自BigQueryOperator
和GoogleCloudStorageToBigQueryOperator
的度量,那么请确保安装了必要的依赖项。
pip install apache-airflow[gcp_api]
设置
airflow-metrics
将向datadog报告所有度量,因此使用datadog api密钥创建一个airflow
连接。
airflow connections --add --conn_id datadog_default --conn_type HTTP --conn_extr '{"api_key": "<your api key>"}'
注意:如果跳过此步骤,则您的airflow
安装应该仍然有效,但不会报告任何度量。
用法
就这样!airflow-metrics
现在将开始自动从Airflow向DataDog发送度量值。
指标
airflow-metrics
将自动开始报告以下指标
airflow.task.state
状态存储为标记的状态中的任务总数。airflow.task.state.bq
状态存储为标记的状态下的当前大查询任务数。airflow.dag.duration
DAG的持续时间(毫秒)。airflow.task.duration
任务的持续时间(毫秒)。airflow.request.duration
HTTP请求的持续时间(毫秒)。airflow.request.status.success
当前状态代码为成功的http请求数(<;400)airflow.request.status.failure
当前状态代码为不成功的http请求数(>;=400)airflow.task.upserted.bq
bigQueryOperator向上插入的行数。airflow.task.delay.bq
BigQueryOperator执行大查询作业所用的时间(毫秒)。airflow.task.duration.bq
BigQueryOperator完成大查询作业所用的时间(毫秒)。airflow.task.upserted.gcs_to_bq
由GoogleCloudStorageToBigQueryOperator向上插入的行数。airflow.task.delay.gcs_to_bq
从GoogleCloudStorageToBigQueryOperator进行大查询所用的时间(毫秒)。airflow.task.duration.gcs_to_bq
从googlecloudstoragetobigqueryoperator完成大查询所用的时间(毫秒)。
配置
默认情况下,airflow-metrics
将在运行DAG并将其发送到数据狗时开始从气流中提取度量。通过在airflow.cfg
[airflow_metrics]
airflow_metrics_enabled = True
airflow_metrics_tasks_enabled = True
airflow_metrics_bq_enabled = True
airflow_metrics_gcs_to_bq_enabled = True
airflow_metrics_requests_enabled = True
airflow_metrics_thread_enabled = True`
限制
airflow-metrics
启动一个线程来报告一些度量,并且在使用sqlite作为数据库时不受支持。
贡献
欢迎拉取请求。对于重大变更,请先打开一个问题来讨论您希望更改的内容。
开始
为python3设置您喜欢的虚拟环境。
pip install -e .
airflow initdb
airflow connections --add --conn_id datadog_default --conn_type HTTP --conn_extr '{"api_key": ""}'
note:最后一步是必需的,否则插件将无法正确初始化,也无法收集度量值。但是您可以为开发目的添加一个伪密钥。
运行测试
pip install -r requirements-dev.txt pytest