自定义 UI

自定义状态颜色

1.10.11 版本中的新增功能。

要更改 Airflow Webserver 中 TaskInstance/DagRun 状态的颜色,请执行以下步骤

  1. 将以下内容添加到 airflow_local_settings.py 文件中。将颜色更改为您喜欢的任何颜色。

    STATE_COLORS = {
        "deferred": "mediumpurple",
        "failed": "firebrick",
        "queued": "darkgray",
        "removed": "lightgrey",
        "restarting": "violet",
        "running": "#01FF70",
        "scheduled": "tan",
        "skipped": "darkorchid",
        "success": "#2ECC40",
        "up_for_reschedule": "turquoise",
        "up_for_retry": "yellow",
        "upstream_failed": "orange",
    }
    

    有关如何配置本地设置的详细信息,请参阅 配置本地设置

  2. 重新启动 Airflow Webserver。

屏幕截图

之前

../_images/dags-page-old.png ../_images/graph-view-old.png ../_images/tree-view-old.png

之后

../_images/dags-page-new.png ../_images/graph-view-new.png ../_images/tree-view-new.png

注意

有关 Python 和 Airflow 如何管理模块的详细信息,请参阅 模块管理

自定义 DAG UI 标题和 Airflow 页面标题

Airflow 现在允许您自定义 DAG 主页标题和页面标题。这将有助于区分 Airflow 的各种安装,或者只是修改页面文本。

注意

自定义标题将应用于页面标题和页面标题。

要进行此更改,只需

  1. airflow.cfg 中的 [webserver] 部分下添加 instance_name 的配置选项

[webserver]

instance_name = "DevEnv"
  1. 或者,您可以使用环境变量设置自定义标题

AIRFLOW__WEBSERVER__INSTANCE_NAME = "DevEnv"

屏幕截图

之前

../_images/default_instance_name_configuration.png

之后

../_images/example_instance_name_configuration.png

注意

从 2.3.0 版本开始,您可以在 instance_name 变量中包含标记以进行进一步自定义。要启用,请将 airflow.cfg[webserver] 部分下的 instance_name_has_markup 设置为 True

在仪表板上添加自定义警报消息

2.2.0 版本中的新增功能。

可以在 UI 仪表板上显示额外的警报消息。这对于警告设置问题或向最终用户宣布更改非常有用。以下示例演示如何添加一条简单的警报消息

  1. 将以下内容添加到 airflow_local_settings.py 文件中。

    from airflow.www.utils import UIAlert
    
    DASHBOARD_UIALERTS = [
        UIAlert("Welcome to Airflow"),
    ]
    

    有关如何配置本地设置的详细信息,请参阅 配置本地设置

  2. 重新启动 Airflow Webserver,现在您应该看到

../_images/ui-alert-message.png

您还可以控制警报消息的类别以及应向其显示的角色。例如,向 User 角色中的用户显示一条警告消息

DASHBOARD_UIALERTS = [
    UIAlert("Airflow update happening next week", category="warning", roles=["User"]),
]

HTML 也可以包含在消息中,但必须小心确保安全地完成此操作。如果您的消息是安全的,您可以简单地设置 html=True,否则使用字符串格式化。有关更多信息,请参阅 MarkupSafe 文档中的字符串格式化

DASHBOARD_UIALERTS = [
    UIAlert('Visit <a href="https://airflow.apache.org">airflow.apache.org</a>', html=True),
    UIAlert(Markup("Welcome <em>%s</em>") % ("John & Jane Doe",)),
]

此条目是否有帮助?