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.

Reply via email to