Pagerduty 通知操作指南¶
简介¶
Pagerduty 通知程序 (airflow.providers.pagerduty.notifications.pagerduty.PagerdutyNotifier
) 允许用户使用 DAG 级别和任务级别的各种 on_*_callbacks
向 Pagerduty 发送消息。
您还可以将通知程序与 sla_miss_callback
一起使用。
注意
当通知程序与 sla_miss_callback 一起使用时,上下文将仅包含传递给回调的值,请参阅 sla_miss_callback。
示例代码:¶
from datetime import datetime
from airflow import DAG
from airflow.operators.bash import BashOperator
from airflow.providers.pagerduty.notifications.pagerduty import send_pagerduty_notification
with DAG(
"pagerduty_notifier",
start_date=datetime(2023, 1, 1),
on_failure_callback=[
send_pagerduty_notification(
summary="The dag {{ dag.dag_id }} failed",
severity="critical",
source="airflow dag_id: {{dag.dag_id}}",
dedup_key="{{dag.dag_id}}-{{ti.task_id}}",
group="{{dag.dag_id}}",
component="airflow",
class_type="Prod Data Pipeline",
)
],
):
BashOperator(
task_id="mytask",
bash_command="fail",
on_failure_callback=[
send_pagerduty_notification(
summary="The task {{ ti.task_id }} failed",
severity="critical",
source="airflow dag_id: {{dag.dag_id}}",
dedup_key="{{dag.dag_id}}-{{ti.task_id}}",
group="{{dag.dag_id}}",
component="airflow",
class_type="Prod Data Pipeline",
)
],
)