This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new d194da2323b Correct Airflow 3 systemd service and health guidance
(#72872)
d194da2323b is described below
commit d194da2323b5924a3931637da2af3232dc05697d
Author: Jason(Zhe-You) Liu <[email protected]>
AuthorDate: Thu Sep 10 16:36:15 2026 +0800
Correct Airflow 3 systemd service and health guidance (#72872)
---
airflow-core/docs/howto/run-with-systemd.rst | 17 ++++++++++-------
scripts/systemd/README | 10 ++++++----
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/airflow-core/docs/howto/run-with-systemd.rst
b/airflow-core/docs/howto/run-with-systemd.rst
index 4c38f37a728..6da6d8588ee 100644
--- a/airflow-core/docs/howto/run-with-systemd.rst
+++ b/airflow-core/docs/howto/run-with-systemd.rst
@@ -74,17 +74,20 @@ Since Apache Airflow 3.0, additional components have been
split out into separat
Required services
'''''''''''''''''
-At a minimum, you must run the ``scheduler``, the ``dag-processor`` and either
the ``webserver`` or the ``api-server``:
+At a minimum, you must run the ``scheduler``, the ``dag-processor`` and the
``api-server``:
- ``airflow-scheduler.service``
- ``airflow-dag-processor.service``
-- ``airflow-webserver.service`` or ``airflow-api.service``
+- ``airflow-api.service``
-Without a running Dag processor, Dag files are never parsed and the
``dag_processor`` entry of the
-``/api/v2/monitor/health`` endpoint reports its status as ``unhealthy``.
+Without a running Dag processor, Dag files are not parsed.
-The ``airflow-triggerer.service`` is optional: start it only if you use
deferrable tasks or
-event-driven :doc:`triggers <../authoring-and-scheduling/event-scheduling>`.
If it is not running, the
-``triggerer`` entry of the health endpoint reports ``unhealthy``, which is
expected and safe to ignore.
+The ``airflow-triggerer.service`` is optional if you do not use deferrable
tasks or
+event-driven :doc:`triggers <../authoring-and-scheduling/event-scheduling>`.
+
+For both ``dag_processor`` and ``triggerer``, the ``/api/v2/monitor/health``
endpoint returns
+``unhealthy`` for the status and ``down`` for the detailed status when no
instance is alive.
+If there are no unfinished jobs for the component, its latest heartbeat and
instances are ``null``.
+You can ignore the ``triggerer`` health status only when your deployment
intentionally does not use a triggerer.
See :ref:`Checking Airflow Health Status <check-health/http-endpoint>` for
details on how each component reports its health.
diff --git a/scripts/systemd/README b/scripts/systemd/README
index b97516b6d32..49d17133c1b 100644
--- a/scripts/systemd/README
+++ b/scripts/systemd/README
@@ -18,7 +18,7 @@ minimum you need to run the following services:
* airflow-scheduler.service
* airflow-dag-processor.service
-* airflow-webserver.service or airflow-api.service
+* airflow-api.service
Additionally the following services are available and can be enabled as needed:
@@ -28,6 +28,8 @@ Additionally the following services are available and can be
enabled as needed:
* airflow-flower.service for a Flower monitoring interface
* airflow-kerberos.service for the Kerberos renewal daemon
-The ``/api/v2/monitor/health`` endpoint reports ``dag_processor`` and
``triggerer`` as ``unhealthy`` when no
-corresponding service is running, so make sure the services you depend on are
started. See the "Checking Airflow
-Health Status" documentation for details.
+For both ``dag_processor`` and ``triggerer``, the ``/api/v2/monitor/health``
endpoint returns ``unhealthy`` for the
+status and ``down`` for the detailed status when no instance is alive. If
there are no unfinished jobs for the
+component, its latest heartbeat and instances are ``null``. Make sure the
services you depend on are started;
+ignore the triggerer health status only when your deployment intentionally
does not use a triggerer.
+See the "Checking Airflow Health Status" documentation for details.