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",
            )
        ],
    )

此条目是否有帮助?