自定义用户界面

自定义状态颜色

在1.10.11版本中新增。

要更改Airflow网页服务器中任务实例/工作流运行状态的颜色,请执行以下步骤:

  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",
    }
    

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

  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界面标题和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"),
    ]
    

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

  2. 重启Airflow Webserver后,您现在应该能看到:

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

您还可以控制警报消息的类别以及应显示给哪些角色。 例如,要向User角色中的用户显示警告消息:

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

HTML can also be included in the messages, though care must be taken to ensure it is done safely. If your message is safe, you can simply set html=True, otherwise use string formatting. For more information, see String Formatting in the MarkupSafe docs.

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

这篇内容对您有帮助吗?