Конфигурационные параметры

Содержание

Данный раздел содержит описание параметров сервисов ADO, которые вы можете настроить с помощью ADCM. Больше информации о процессе настройки сервисов доступно в соответствующих разделах: Online-установка, Offline-установка.

ПРИМЕЧАНИЕ
  • Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Advanced.

  • Значения, установленные в Custom-параметрах, перепишут текущие значения параметров, даже если они доступны только для чтения.

ADPG

Data directory
Параметр Описание Значение по умолчанию

Data directory

Директории, используемые для хранения данных на хостах кластера ADPG

/pg_data1

ADPG configurations
Параметр Описание Значение по умолчанию

listen_addresses

Указывает адрес(а) TCP/IP, на которых сервер должен прослушивать соединения от клиентских приложений (после изменения нужен перезапуск сервиса)

*

port

TCP-порт, который прослушивается сервером

5432

max_connections

Определяет максимальное количество одновременных соединений с сервером базы данных. Для replica-хоста значение этого параметра должно быть больше или равно значению на leader-хосте. Если данное требование не будет выполнено, replica-хост отклонит все запросы

100

shared_buffers

Устанавливает объем памяти, используемой сервером баз данных для буферов общей памяти. Чем выше значение данного параметра, тем меньше будет нагрузка на жесткие диски хоста

128 МБ

max_worker_processes

Устанавливает максимальное количество фоновых процессов, которые может поддерживать система

8

max_parallel_workers

Устанавливает максимальное количество операций, которые система может поддерживать параллельно

8

max_parallel_workers_per_gather

Устанавливает максимальное количество операций, которые могут быть запущены одним узлом Gather или Gather Merge

2

max_parallel_maintenance_workers

Устанавливает максимальное количество параллельных операций, которые могут быть запущены одной командой утилиты

2

effective_cache_size

Определяет представление планировщика об эффективном размере дискового кeша, доступном для одного запроса. Это значение учитывается при оценке стоимости использования индекса. Более высокое значение увеличивает вероятность использования сканирования индекса, более низкое значение повышает вероятность применения последовательного сканирования. При настройке этого параметра следует учитывать как разделяемые буферы PostgreSQL (shared buffers), так и часть дискового кеша ядра, которая будет использоваться для файлов данных PostgreSQL, хотя некоторые данные могут существовать и там, и там. Также необходимо учитывать ожидаемое количество одновременных запросов к разным таблицам, поскольку им придется делить доступное пространство. Этот параметр не влияет на размер общей памяти, выделяемой PostgreSQL, и не резервирует дисковый кеш ядра. Он используется только в целях оценки. Система также не предполагает, что данные остаются в дисковом кеше между запросами. Если значение effective_cache_size указано без единиц измерения, оно считается заданным в блоках, размер которых равен BLCKSZ байт, обычно это 8 КБ

4096 МБ

maintenance_work_mem

Указывает максимальный объем памяти, который будет использоваться операциями обслуживания базы данных, такими как VACUUM, CREATE INDEX и ALTER TABLE ADD FOREIGN KEY. Если это значение указано без единиц измерения, используются килобайты. Поскольку в сессии одновременно может выполняться только одна из этих операций, а в кластере они обычно не выполняются параллельно, можно безопасно установить это значение значительно больше, чем work_mem. Более высокое значение может повысить производительность операций вакуумирования и восстановления базы данных из резервных копий

64 МБ

work_mem

Устанавливает базовый максимальный объем памяти, который будет использоваться операцией запроса (например, сортировкой или хешированием таблицы) перед записью во временные файлы на диске. Обратите внимание, что для сложного запроса несколько операций сортировки или хеширования могут выполняться параллельно. Каждой операции будет разрешено использовать столько памяти, сколько указано в этом значении, прежде чем начнется запись во временные файлы. Несколько запущенных сессий также могут выполнять такие операции одновременно. Следовательно, общий объем используемой памяти может во много раз превышать значение work_mem. Если это значение указано без единиц измерения, используются килобайты

4 МБ

min_wal_size

Если WAL занимает на диске меньше места, чем указано в min_wal_size, старые файлы WAL в контрольных точках перерабатываются, а не удаляются. Это позволяет зарезервировать достаточно места для WAL, чтобы справиться с резкими скачками использования WAL, например, при выполнении больших пакетных задач

80 МБ

max_wal_size

Параметр max_wal_size устанавливает лимит памяти, до которого может вырастать размер журнала между автоматическими контрольными точками

1024 МБ

wal_keep_size

Устанавливает минимальный размер для сегментов, хранящихся в директории pg_wal, чтобы резервный сервер мог выбрать их при потоковой репликации. Если резервный сервер, подключённый к передающему, отстаёт больше чем на wal_keep_size мегабайт, передающий может удалить сегменты WAL, всё ещё необходимые резервному, и в этом случае соединение репликации прервётся. В результате этого также будут прерваны зависимые соединения. Однако, если архивация WAL включена, резервный сервер сможет восстановиться, выбрав этот сегмент из архива. wal_keep_size устанавливает минимальный размер сегмента в pg_wal. Системе может потребоваться сохранить больше сегментов для архивации WAL или для восстановления после контрольной точки. Если wal_keep_size равен 0, система не хранит дополнительные сегменты для резервных целей. В версии Enterprise, если значение wal_keep_size установлено менее 16 МБ, Patroni вместо этого значения использует 128 МБ в своей конфигурации. При этом значение в пользовательском интерфейсе ADCM не меняется

128 МБ

huge_pages

Включает использование HugePage. Допустимы следующие значения:

  • Try — сервер пытается использовать HugePage. Если не удалось, сервер переключается на стандартные.

  • On — если сервер не сможет использовать HugePage, он не будет запущен.

  • Off — HugePage не используются.

try

superuser_reserved_connections

Определяет количество "слотов" подключений, которые сервер будет резервировать для суперпользователей

3

logging_collector

Включает сборщик сообщений логирования (logging collector). Сборщик сообщений логирования — это фоновый процесс, который перехватывает сообщения логирования, отправленные в stderr, и перенаправляет их в файлы логов

true

log_directory

Определяет каталог, в который записываются лог-файлы. Может содержать абсолютный путь или путь относительно каталога с данными кластера ADPG

log
(абсолютный путь — /pg_data1/adpg16/log)

log_filename

Задает шаблон имени лог-файла, может содержать спецификаторы % strftime для включения времени и даты создания в имя файла. Если спецификаторы % не заданы, используйте утилиты ротации лог-файлов, чтобы избежать переполнения диска

postgresql-%a.log

log_rotation_age

Определяет максимальный период использования лог-файла, после которого создается новый лог-файл. Если значение задано без единиц измерения, используются минуты. Чтобы отключить создание лог-файлов по времени, установите значение 0

1d

log_rotation_size

Определяет максимальный размер лог-файла. После того как лог-файл достигает указанного размера, создается новый лог-файл. Если значение задано без единиц измерения, используются килобайты. Чтобы отключить создание лог-файлов при превышении определённого размера, установите значение 0

0

log_min_messages

Определяет минимальный уровень важности сообщений, которые записываются в лог-файл. Допустимые значения: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal и panic (cм. таблицу Уровни важности лог-сообщений). Сообщения с заданной важностью и более важные записываются в лог-файл. Например, если вы установили значение warning, лог-файл будет включать сообщения с важностью warning, error, log, fatal и panic

warning

log_min_error_statement

Определяет какие SQL-операции, завершившиеся ошибкой, записываются в лог-файл. Допустимые значения: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal и panic (cм. таблицу Уровни важности лог-сообщений). SQL-операция будет записана в лог-файл, если она завершится ошибкой с указанным уровнем важности или выше. Чтобы отключить логирование SQL-операций, установите значение panic

error

Custom postgresql.conf

 
Вы можете использовать Custom postgresql.conf, чтобы установить параметры конфигурации для определенных ADPG-нод на основании конфиг-групп ADCM. Настройки, указанные в этом поле, имеют более высокий приоритет, чем параметры, установленные в postgresql.conf. Чтобы перейти в режим редактирования, кликните Custom postgresql.conf в дереве Configuration.

Custom pg_hba.conf

 
Поле для добавления записей в файл pg_hba.conf, в котором настраивается аутентификация пользователей.

Airflow2

Use secret backend with Vault
Параметр Описание Значение по умолчанию

Manage sensitive configuration data

При активации ADO берет на себя как создание секретов (перемещение их из настроек в Vault), так и их обновление. Необходимы права для создания секретов. Влияет на сервисное действие Rotate fernet key (см. Ротация fernet-ключа)

true

Secrets backend

Используемый бэкенд

airflow.providers.hashicorp.secrets.vault.VaultBackend

url

Базовый URL для адресуемого экземпляра Vault. Должен включать протокол и номер порта (например, http://127.0.0.1:8200)

 — 

auth_type

Метод аутентификации в Vault. Возможные значения: approle, github, kubernetes, ldap, token, userpass

token

mount_point

Точка монтирования движка Vault. Параметр mount_point не используется для аутентификации, если она реализована через другой движок. За точку монтирования аутентификации отвечает параметр auth_mount_point

secret

config_path

Путь к секретам конфигурации Airflow. Если значение None (null), то запросы на получение конфигураций (configurations) не будут переданы в Vault

config

connections_path

Путь к секретам соединений. Если значение None (null), то запросы на получение подключений (connections) не будут переданы в Vault

connections

variables_path

Путь к секретам переменных. Если значение None (null), то запросы на получение переменных (variables) не будут переданы в Vault

variables

auth_mount_point

Определяет точку монтирования для выбранного метода аутентификации. Значение по умолчанию зависит от выбранного метода аутентификации

 — 

kv_engine_version

Версия запускаемого движка

2

token

Токен аутентификации, используемый для отправки запросов в Vault (для методов аутентификации token и github)

 — 

token_path

Путь к файлу, содержащему токен аутентификации, используемый для отправки запросов в Vault (для методов аутентификации token и github)

 — 

username

Имя пользователя для методов аутентификации ldap и userpass

 — 

password

Пароль для методов аутентификации ldap и userpass

 — 

secret_id

Secret ID для метода аутентификации approle

 — 

role_id

Role ID для метода аутентификации approle

 — 

kubernetes_role

Роль для метода аутентификации kubernetes

 — 

kubernetes_jwt_path

Путь к JWT-токену Kubernetes для метода аутентификации kubernetes

 — 

Database settings
Параметр Описание Значение по умолчанию

admin_password

Пароль администратора веб-сервера

 — 

db_user

Имя пользователя БД метаданных

airflow

db_password

Пароль пользователя БД метаданных

 — 

Database type

Тип внешней базы данных. Возможные значения: PostgreSQL, MySQL/MariaDB

PostgreSQL

Hostname

Внешний хост базы данных

{{groups['adpg.adpg'][0]|d(omit)}}

Port

Внешний порт базы данных

5432

Airflow database name

Имя внешней базы данных

airflow

airflow.cfg [core]
Параметр Описание Значение по умолчанию

dags_folder

Абсолютный путь к каталогу пайплайнов Airflow

/opt/airflow/dags

hostname_callable

Путь к вызываемому объекту, который разрешит имя хоста. Формат — package.function. Значение по умолчанию (airflow.utils.net.getfqdn) указывает, что используется исправленная версия socket.getfqdn(). В указанной функции не должно быть аргументов. Если предпочтительно использовать IP-адрес в качестве имени хоста, используйте параметр airflow.utils.net.get_host_ip_address

airflow.utils.net.getfqdn

might_contain_dag_callable

Вызываемый объект для проверки того, определены ли в файле Python DAG Airflow или нет, с аргументом: (file_path: str, zip_file: zipfile.ZipFile | None = None). Возвращает True, если есть DAG, в противном случае False. Если это не указано, Airflow использует собственные эвристические правила

airflow.utils.file.might_contain_dag_via_default_heuristic

default_timezone

Часовой пояс. Может быть UTC (по умолчанию), системным (system) или любой строкой часового пояса IANA (например, Europe/Amsterdam)

utc

executor

Класс executor, который должен использовать Airflow. Возможные значения: SequentialExecutor, LocalExecutor, CeleryExecutor, DaskExecutor, KubernetesExecutor, CeleryKubernetesExecutor или полный путь импорта к классу, если используется пользовательский класс

CeleryExecutor

parallelism

Определяет максимальное количество экземпляров задач, которые могут одновременно выполняться на планировщике в Airflow, независимо от количества воркеров. Обычно это значение, умноженное на количество планировщиков в кластере, и является максимальным количеством экземпляров задач с запущенным состоянием в базе метаданных

32

max_active_tasks_per_dag

Максимальное количество экземпляров задач, разрешенных для одновременного запуска в каждой группе DAG. Чтобы рассчитать количество задач, которые одновременно выполняются для группы DAG, сложите количество запущенных задач для всех запусков группы DAG. Это настраивается на уровне группы DAG с помощью max_active_tasks, который по умолчанию равен max_active_tasks_per_dag. Это может быть полезно для того, чтобы новая группа DAG с ранней датой запуска не занимала все слоты исполнителя в кластере

16

dags_are_paused_at_creation

Флаг, указывающий, приостановлены ли DAG по умолчанию при создании

true

max_active_runs_per_dag

Максимальное количество активных запусков одного DAG. Планировщик не будет запускать DAG, если достигнет этого предела. Настраивается на уровне DAG с помощью max_active_runs, который по умолчанию равен max_active_runs_per_dag

16

mp_start_method

Имя метода, используемого для запуска процессов Python через модуль multiprocessing. Напрямую соответствует параметрам, доступным в документации Python. Должно быть одним из значений, возвращаемых multiprocessing

 — 

load_examples

Загружать ли примеры DAG, которые поставляются с Airflow

true

plugins_folder

Путь к папке, содержащей плагины Airflow

/opt/airflow/plugins

execute_tasks_new_python_interpreter

Параметр указывает на то, должны ли задачи выполняться путем ответвления родительского процесса (False, более быстрый вариант) или путем порождения нового процесса Python (True медленно, но означает, что изменения плагина сразу же подхватываются задачами)

false

fernet_key

Секретный ключ для сохранения паролей подключений в базе данных

 — 

donot_pickle

Отключать ли консервирование DAG

true

dagbag_import_timeout

Как часто импортируются файлы Python

30

dagbag_import_error_tracebacks

Флаг, указывающий на то, должна ли отображаться трассировка в пользовательском интерфейсе для ошибок импорта dagbag вместо простого сообщения об исключении

true

dagbag_import_error_traceback_depth

При включенном отображении трассировок описывает сколько записей из трассировки должно быть показано

2

dag_file_processor_timeout

Сколько времени пройдет до истечения времени ожидания DagFileProcessor, обрабатывающего файл DAG

50

task_runner

Класс, используемый для запуска экземпляров задач в подпроцессе. Возможные значения: StandardTaskRunner, CgroupTaskRunner или полный путь импорта к классу при использовании пользовательского исполнителя задач

StandardTaskRunner

default_impersonation

Имя пользователя, от которого будут выполняться задачи (кроме задач без аргумента run_as_user). Может использоваться для понижения прав пользователя sudo, запускающего Airflow при выполнении задач

 — 

security

Определяет, какой модуль безопасности использовать. Например, kerberos

 — 

unit_test_mode

Включает режим модульного тестирования (при этом перезаписываются многие параметры конфигурации тестовыми значениями во время выполнения)

false

enable_xcom_pickling

Использовать ли xcom pickling (обратите внимание, что это небезопасно и допускает эксплойты RCE)

false

allowed_deserialization_classes

Какие классы можно импортировать во время десериализации. Это многострочное значение. Отдельные элементы будут проанализированы как регулярное выражение. Встроенные классы Python (например, dict) всегда разрешены. Чистый . будет заменен, чтобы можно было задать airflow.*

airflow\..*

killed_task_cleanup_time

Когда задача завершается принудительно, это количество времени в секундах, которое у нее есть на очистку после отправки SIGTERM, прежде чем она получит SIGKILLED

60

dag_run_conf_overrides_params

Переопределять ли параметры с помощью dag_run.conf. Если вы передаете некоторые пары ключ/значение через airflow dags backfill -c или airflow dags trigger -c, пары ключ/значение переопределят существующие в параметрах

true

dag_discovery_safe_mode

Если включено, Airflow будет сканировать только файлы, содержащие как DAG, так и airflow (без учета регистра)

true

dag_ignore_file_syntax

Синтаксис шаблона, используемый в файлах .airflowignore в каталогах DAG. Допустимые значения: regexp или glob

regexp

default_task_retries

Количество повторных попыток запуска задач по умолчанию. Может быть переопределено на уровне DAG или задачи

0

default_task_retry_delay

Количество секунд, которое каждая задача будет простаивать между повторными попытками. Может быть переопределено на уровне DAG или задачи

300

max_task_retry_delay

Максимальная задержка (в секундах), которую каждая задача будет простаивать между повторными попытками. Это глобальная настройка, и ее нельзя переопределить на уровне задачи или DAG

86400

default_task_weight_rule

Метод взвешивания, используемый для эффективного общего веса приоритета задачи

downstream

default_task_execution_timeout

Значение execution_timeout задачи по умолчанию для операторов. Ожидается, что в timedelta будет передано целое значение в виде секунд. Если не указано, то значение рассматривается как None, что означает, что операторы никогда не будут отсчитываться по времени по умолчанию

 — 

min_serialized_dag_update_interval

Обновление сериализованного DAG не может быть быстрее минимального интервала, чтобы снизить скорость записи в базу данных

30

compress_serialized_dags

Если True, сериализованные DAG сжимаются перед записью в БД. Это отключит просмотр зависимостей DAG

false

min_serialized_dag_fetch_interval

Извлечение сериализованного DAG не может быть быстрее минимального интервала для снижения скорости чтения базы данных. Эта конфигурация контролирует, когда ваши DAG обновляются на веб-сервере

10

max_num_rendered_ti_fields_per_task

Максимальное количество полей экземпляра отрендеренной задачи (полей шаблона) на задачу для хранения в базе данных. Все template_fields для каждого экземпляра задачи хранятся в базе данных. Если это число небольшое, может возникнуть ошибка при попытке просмотра вкладки Rendered в представлении TaskInstance для старых задач

30

check_slas

Проверять ли на соответствие определенным SLA перед каждым запуском DAG

true

xcom_backend

Путь к пользовательскому классу XCom, который будет использоваться для хранения и разрешения результатов операторов

airflow.models.xcom.BaseXCom

lazy_load_plugins

По умолчанию плагины Airflow загружаются только при необходимости. Установите значение False, если вы хотите загружать плагины всякий раз, когда airflow вызывается через CLI или загружается из модуля

true

lazy_discover_providers

По умолчанию поставщики Airflow обнаруживаются "лениво" (обнаружение и импорт происходят только при необходимости). Установите значение False, если вы хотите обнаруживать поставщиков всякий раз, когда команда airflow вызывается через CLI или загружается из модуля

true

hide_sensitive_var_conn_fields

Скрыть ли конфиденциальные переменные или дополнительные ключи подключения JSON из пользовательского интерфейса и журналов задач. Если установлено значение True, пароли подключения всегда скрыты в журналах

true

sensitive_var_conn_names

Список дополнительных конфиденциальных ключевых слов, разделенных запятыми, для поиска в именах переменных или дополнительном JSON-файле соединения

 — 

default_pool_task_slot_count

Слоты задач подсчитываются для default_pool. Эта настройка не будет иметь никакого эффекта в окружении, где default_pool уже создан. В запущенном окружении пользователи могут изменить количество слотов с помощью веб-сервера, API или CLI

128

max_map_length

Максимальная длина списка/словаря, которую XCom может отправить для запуска сопоставления задач. Если отправленный список/словарь имеет длину, превышающую это значение, задача, отправляющая XCom, будет автоматически отклонена, чтобы не допустить засорения планировщика сопоставленными задачами

1024

daemon_umask

Umask по умолчанию для процесса, запущенного в режиме демона (планировщик, воркер и т.д.). Управляет маской режима создания файлов, которая определяет начальное значение битов разрешения файла для вновь созданных файлов. Это значение рассматривается как восьмеричное целое число

0o077

dataset_manager_class

Класс для использования в качестве менеджера набора данных

 — 

dataset_manager_kwargs

Kwargs должен предоставить менеджеру датасета

 — 

database_access_isolation

Экспериментальная функция. Флаг, указывающий, должны ли компоненты использовать Airflow Internal API для подключения к БД

false

internal_api_url

Экспериментальная функция. Внутренний API-адрес Airflow. Используется только если основная настройка database_access_isolation установлена в True

 — 

airflow.cfg [database]
Параметр Описание Значение по умолчанию

sql_alchemy_conn

Строка подключения SQLAlchemy к базе метаданных. Значение параметра автоматически заполняется на основе входных значений в разделе Database settings. Оно не отображается в пользовательском интерфейсе по соображениям безопасности. SQLAlchemy поддерживает множество различных database engines

 — 

sql_alchemy_engine_args

Дополнительные аргументы ключевых слов, специфичные для движка, передаются в create_engine SQLAlchemy в виде значения в кодировке JSON

 — 

sql_engine_encoding

Кодировка для баз данных

utf-8

sql_engine_collation_for_ids

Сортировка для столбцов dag_id, task_id, key, external_executor_id в случае, если они имеют разную кодировку. По умолчанию эта сортировка такая же, как сортировка базы данных, однако для mysql и mariadb по умолчанию используется utf8mb3_bin, так что размеры индекса ключей индекса не будут превышать максимальный размер разрешенного индекса, когда сортировка установлена в utf8mb4 variant

 — 

sql_alchemy_pool_enabled

Флаг, указывающий на то, должен ли SQLAlchemy объединять соединения с базой данных

true

sql_alchemy_pool_size

Размер пула SQLAlchemy — это максимальное количество подключений к базе данных в пуле. 0 означает отсутствие ограничений

5

sql_alchemy_max_overflow

Максимальный размер переполнения пула. Когда количество извлеченных соединений достигает размера, установленного в pool_size, будут возвращены дополнительные соединения до этого предела. Когда эти дополнительные соединения возвращаются в пул, они отключаются и удаляются. Общее количество одновременных соединений, которые пул разрешит, равно pool_size + max_overflow, а общее количество спящих соединений, которые пул разрешит, равно pool_size. max_overflow можно установить на -1, чтобы указать отсутствие предела переполнения; ограничение на общее количество одновременных соединений не накладывается. Значение по умолчанию равно 10

10

sql_alchemy_pool_recycle

Pool SQLAlchemy recycle — это количество секунд, в течение которых соединение может простаивать в пуле, прежде чем оно будет признано недействительным. Эта конфигурация не применяется к Sqlite. Если число подключений к БД когда-либо будет превышено, более низкое значение конфигурации позволит системе быстрее восстанавливаться

1800

sql_alchemy_pool_pre_ping

Необходима ли проверка соединения в начале каждой проверки пула соединений

true

sql_alchemy_schema

Схема, используемая для базы метаданных. SQLAlchemy поддерживает базы данных с концепцией множественных схем

 — 

sql_alchemy_connect_args

Путь импорта аргументов подключения в SQLAlchemy. По умолчанию указан пустой словарь. Эта настройка полезна, когда вы хотите настроить аргументы движка БД, которые SQLAlchemy не будет анализировать в строке подключения

 — 

load_default_connections

Загружать ли соединения по умолчанию, которые поставляются с Airflow

true

max_db_retries

Количество повторных попыток запуска кода в случае ошибок работы БД. Не все транзакции будут запущены повторно, так как это может привести к нежелательному состоянию. В настоящее время настройка используется только в DagFileProcessor.process_file для повторных попыток dagbag.sync_to_db

3

check_migrations

Запускать ли alembic migrations во время запуска Airflow. Иногда эта операция может быть затратной, и пользователи могут указывать правильную версию другими способами (например, через диаграмму Helm). Принимает True или False

true

airflow.cfg [logging]
Параметр Описание Значение по умолчанию

base_log_folder

Абсолютный путь к директории логов Airflow. Некоторые настройки предполагают, что здесь используется значение по умолчанию. После указания нового пути может потребоваться обновить настройки dag_processor_manager_log_location и dag_processor_manager_log_location

/var/log/airflow

remote_logging

Airflow может хранить логи удаленно в AWS S3, Google Cloud Storage или Elastic Search. Установите значение True, если хотите включить удаленное ведение логов

false

remote_log_conn_id

Пользователи должны предоставить идентификатор подключения Airflow, который обеспечивает доступ к месту хранения логов. В зависимости от настроек службы логирования, подключение может использоваться только для чтения логов, а не для их записи

 — 

delete_local_logs

Нужно ли удалять локальные логи для удаленного ведения журналов GCS, S3, WASB и OSS после их загрузки в удаленное местоположение

false

google_key_path

Путь к файлу учетных данных Google JSON. Если не указан, будет использоваться авторизация на основе Application Default Credentials

 — 

remote_base_log_folder

URL-адрес контейнера хранилища для удаленного ведения журнала. Чтобы помочь Airflow выбрать правильный обработчик: бакеты S3 должны начинаться с s3://, группы логов Cloudwatch должны начинаться с cloudwatch://, бакеты GCS должны начинаться с gs://, бакеты WASB должны начинаться с wasb, логи Stackdriver должны начинаться с stackdriver://

 — 

remote_task_handler_kwargs

Параметр remote_task_handler_kwargs загружается в словарь, передается в __init__ удаленного обработчика задач и переопределяет значения, предоставленные конфигурацией Airflow. Например, если вы установите delete_local_logs=False и предоставите {{"delete_local_copy": true}}, то локальные файлы журналов будут удалены после их загрузки в удаленное хранилище

 — 

encrypt_s3_logs

Использовать ли шифрование на стороне сервера для журналов, хранящихся в S3

false

logging_level

Уровень ведения журнала. Поддерживаемые значения: CRITICAL, ERROR, WARNING, INFO, DEBUG

INFO

celery_logging_level

Уровень ведения журнала для Celery

WARNING

fab_logging_level

Уровень логирования для Flask-appbuilder UI. Поддерживаемые значения: CRITICAL, ERROR, WARNING, INFO, DEBUG

WARNING

logging_config_class

Имя класса, который определяет конфигурацию ведения журнала. Этот класс должен быть в Python classpath

 — 

colored_console_log

Флаг для включения/выключения цветных журналов

true

colored_log_format

Формат журнала для цветных журналов, если они включены. Значение должно быть заключено в теги raw/endraw

{% raw %}[%%(blue)s%%(asctime)s%%(reset)s] {%%(blue)s%%(filename)s:%%(reset)s%%(lineno)d} %%(log_color)s%%(levelname)s%%(reset)s - %%(log_color)s%%(message)s%%(reset)s{% endraw %}

colored_formatter_class

Указывает класс, используемый Airflow для реализации цветного логирования

airflow.utils.log.colored_log.CustomTTYColoredFormatter

log_format

Формат строки логов. Значение должно быть заключено в теги raw/endraw

{% raw %}[%%(asctime)s] {%%(filename)s:%%(lineno)d} %%(levelname)s - %%(message)s{% endraw %}

simple_log_format

Определяет формат сообщений логов для простой конфигурации логов

%%(asctime)s %%(levelname)s - %%(message)s

dag_processor_log_target

Где хранить логи парсера DAG. Если установлено значение file, логи отправляются в файлы логов, определенные в child_process_log_directory

file

dag_processor_log_format

Формат строки журнала процессора DAG. Значение должно быть заключено в теги raw/endraw

{% raw %}[%%(asctime)s] [SOURCE:DAG_PROCESSOR]{{%%(filename)s:%%(lineno)d}} %%(levelname)s - %%(message)s{% endraw %}

log_formatter_class

Определяет класс форматирования, используемый Airflow для структурирования сообщений журнала. Класс форматирования по умолчанию учитывает часовой пояс, что означает, что временные метки, прикрепленные к записям журнала, будут скорректированы для отражения локального часового пояса экземпляра Airflow

airflow.utils.log.timezone_aware.TimezoneAware

secret_mask_adapter

Путь импорта к функции для добавления адаптаций каждого секрета, добавленного с помощью airflow.utils.log.secrets_masker.mask_secret, которые будут замаскированы в сообщениях журнала. Ожидается, что данная функция потребует один параметр: секрет, который будет адаптирован. Она может возвращать одну адаптацию секрета или итерируемый набор адаптаций, чтобы каждый из них был замаскирован как секреты. Исходный секрет будет замаскирован, как и любые возвращенные адаптации

 — 

task_log_prefix_template

Шаблон префикса, указываемый с помощью обработчика потока TaskHandlerWithCustomFormatter

 — 

log_filename_template

Формат сгенерированного файла Airflow и имена путей для каждого запуска задачи. Значение должно быть заключено в теги raw/endraw

{% raw %}dag_id={{ ti.dag_id }}/run_id={{ ti.run_id }}/task_id={{ ti.task_id }}/{%% if ti.map_index >= 0 %%}map_index={{ ti.map_index }}/{%% endif %%}attempt={{ try_number }}.log{% endraw %}

log_processor_filename_template

Формат сгенерированного файла Airflow и пути имен для журналов. Значение должно быть заключено в теги raw/endraw

{% raw %}{{ filename }}.log{% endraw %}

dag_processor_manager_log_location

Полный путь к файлу журнала dag_processor_manager

/var/log/airflow/dag_processor_manager/dag_processor_manager.log

task_log_reader

Имя обработчика для чтения журналов экземпляров задач. По умолчанию используется обработчик task

task

extra_logger_names

Список имен сторонних регистраторов, разделенных запятыми, которые будут настроены для вывода сообщений на консоли

 — 

worker_log_server_port

Когда запущен воркер Airflow, служба запускает небольшой подпроцесс веб-сервера для обслуживания локальных логов воркеров на главном веб-сервере Airflow, который затем создает страницы и отправляет их пользователям. Этот параметр определяет порт, на котором обслуживаются логи. Он должен быть неиспользуемым, открытым и видимым с главного веб-сервера для подключения к воркерам

8793

trigger_log_server_port

Порт для обслуживания журналов для триггера. Смотрите описание worker_log_server_port для получения дополнительной информации

8794

interleave_timestamp_parser

Импортировать ли путь к вызываемому объекту, который принимает строку журнала и возвращает временную метку (datetime.datetime compatible)

 — 

file_task_handler_new_folder_permissions

Разрешения в виде восьмеричной строки, как их понимает chmod. Разрешения важны, когда принимается роль другого пользователя для записи в логи. Безопасный способ настройки — добавить нужных пользователей в одну и ту же группу и сделать ее группой по умолчанию для этих пользователей. Журналы, доступные для записи группой, являются журналами по умолчанию в Airflow. Для случаев, когда журналы доступны для записи другим пользователям, установите значение 0o777. Для повышения уровня безопасности измените значение параметра на 0o755, чтобы сделать логи доступными для записи только владельцу. Вы также можете сделать их доступными для чтения только владельцу, изменив значение на 0o700, если весь доступ (чтение/запись) к логам происходит от одного и того же пользователя

0o775

file_task_handler_new_file_permissions

Разрешения в виде восьмеричной строки, как понимает chmod. Разрешения важны, когда принимается роль другого пользователя для записи в логи. Безопасный способ настройки — добавить обоих пользователей в одну и ту же группу и сделать ее группой по умолчанию для этих пользователей. В случаях, когда журналы доступны для записи другим пользователям, установите значение 0o666. Для случаев, когда журналы доступны для записи другим пользователям, установите значение 0o777. Для повышения уровня безопасности измените значение параметра на 0o755, чтобы сделать логи доступными для записи только владельцу. Вы также можете сделать их доступными для чтения только владельцу, изменив значение на 0o700, если весь доступ (чтение/запись) к логам происходит от одного и того же пользователя

0o664

airflow.cfg [metrics]
Параметр Описание Значение по умолчанию

metrics_allow_list

Для ограничения отправки всех доступных метрик настройте список префиксов (разделенных запятыми), чтобы отправлять только те метрики, которые начинаются с элементов списка (например: scheduler,executor,dagrun)

 — 

metrics_block_list

Для ограничения отправки всех доступных метрик настройте список префиксов (разделенных запятыми), чтобы отфильтровать метрики, которые начинаются с элементов списка (например: scheduler,executor,dagrun). Если настроены metrics_allow_list и metrics_block_list, metrics_block_list игнорируется

 — 

statsd_on

Включает отправку показателей в StatsD

true

statsd_host

Указывает адрес хоста, на котором запущен демон (или сервер) StatsD

localhost

statsd_port

Указывает порт, который слушает демон (или сервер) StatsD

8125

statsd_prefix

Определяет пространство имен для всех метрик, отправляемых из Airflow в StatsD

airflow

stat_name_handler

Функция, которая проверяет имя statsD stat, применяет изменения к имени stat, если необходимо, и возвращает преобразованное имя stat. Функция должна иметь следующую сигнатуру: def func_name(stat_name: str) → str

 — 

statsd_datadog_enabled

Включает интеграцию datadog для отправки показателей Airflow

false

statsd_datadog_tags

Список тегов datadog, прикрепленных ко всем метрикам (например: key1:value1,key2:value2)

 — 

statsd_datadog_metrics_tags

Установите значение False, чтобы отключить теги метаданных для некоторых излучаемых метрик

true

statsd_custom_client_path

Если вы хотите использовать свой собственный клиент StatsD, установите соответствующий путь к модулю в этом значении. Путь к модулю должен существовать в PYTHONPATH

 — 

statsd_disabled_tags

Если вы хотите избежать отправки всех доступных тегов метрик в StatsD, настройте список префиксов (разделенных запятыми), чтобы отфильтровать теги метрик, которые начинаются с элементов списка (например: job_id,run_id)

job_id,run_id

statsd_influxdb_enabled

Включает отправку метрик Airflow с использованием соглашения о тегах StatsD-Influxdb

false

otel_on

Позволяет отправлять метрики в OpenTelemetry

false

otel_host

Указывает имя хоста или IP-адрес OpenTelemetry Collector, на который Airflow отправляет трассировки

localhost

otel_port

Указывает порт, который прослушивает OpenTelemetry Collector

8889

otel_prefix

Префикс для показателей Airflow

airflow

otel_interval_milliseconds

Определяет интервал в миллисекундах, с которым Airflow отправляет пакеты метрик и трассировок в настроенный OpenTelemetry Collector

60000

airflow.cfg [cli]
Параметр Описание Значение по умолчанию

api_client

Определяет формат доступа к API. LocalClient будет использовать базу данных напрямую, в то время как json_client будет использовать API, работающий на веб-сервере

airflow.api.client.local_client

endpoint_url

Если вы задали web_server_url_prefix, добавьте его здесь следующим образом: endpoint_url = http://localhost:8080/myroot. Тогда API URI будет выглядеть так: http://localhost:8080/myroot/api/experimental/...

http://localhost:8080

airflow.cfg [debug]
Параметр Описание Значение по умолчанию

fail_fast

Если установлено значение True, DAG завершит работу с первой неудачной задачей. Используется только с DebugExecutor

false

airflow.cfg [api]
Параметр Описание Значение по умолчанию

enable_experimental_api

Включает устаревший с версии 2.0 экспериментальный REST API. Эти API не имеют контроля доступа. Аутентифицированный пользователь имеет полный доступ. Вместо этого рекомендуется использовать стабильный REST API. Для получения дополнительной информации см. RELEASE_NOTES.rst

false

auth_backends

Список бэкендов аутентификации, разделенных запятыми, для аутентификация пользователей API. Значение airflow.api.auth.backend.default разрешает все запросы

airflow.api.auth.backend.session,airflow.api.auth.backend.basic_auth

maximum_page_limit

Используется для установки максимального лимита страниц для запросов API. Если переданный лимит больше максимального лимита страниц, он будет проигнорирован, а максимальное значение лимита страниц будет установлено в качестве лимита

100

fallback_page_limit

Используется для установки лимита страниц по умолчанию, когда параметр лимита равен нулю или не указан в запросах API. В противном случае, если положительное целое число передается в запросах API как лимит, наименьшее число, заданное пользователем, или максимальный лимит страниц принимается как лимит

100

google_oauth2_audience

Предполагаемая аудитория для учетных данных токена JWT, используемых для авторизации. Это значение должно совпадать на стороне клиента и сервера. Если пусто, аудитория не будет тестироваться

 — 

google_key_path

Путь к файлу ключа учетной записи Google Cloud Service (JSON). Если не указан, будет использоваться авторизация на основе Application Default Credentials

 — 

access_control_allow_headers

Используется в ответ на предварительный запрос, чтобы указать, какие заголовки HTTP могут применяться при выполнении фактического запроса. Этот заголовок является ответом сервера на заголовок браузера Access-Control-Request-Headers

 — 

access_control_allow_methods

Указывает метод или методы, разрешенные при доступе к ресурсу

 — 

access_control_allow_origins

Указывает, может ли ответ быть общим с запрашивающим кодом из указанных источников. Разделяйте URL-адреса пробелом

 — 

airflow.cfg [lineage]
Параметр Описание Значение по умолчанию

backend

Какой бэкенд Lineage использовать

 — 

airflow.cfg [atlas]
Параметр Описание Значение по умолчанию

sasl_enabled

Включает аутентификацию SASL для подключения к Atlas

false

host

Хост Atlas

 — 

port

Порт подключения Atlas

21000

username

Имя пользователя для подключения к Atlas

 — 

password

Пароль для подключения к Atlas

 — 

airflow.cfg [operators]
Параметр Описание Значение по умолчанию

default_owner

Владелец по умолчанию, назначаемый каждому новому оператору, если он не указан явно или не передан через default_args

airflow

default_cpus

Указывает количество единиц ЦП по умолчанию, выделяемых каждому оператору, когда в конфигурации оператора не указан конкретный запрос ЦП

1

default_ram

Указывает количество оперативной памяти по умолчанию, выделяемое каждому оператору, если в конфигурации оператора не указан конкретный запрос оперативной памяти

512

default_disk

Указывает номер дискового хранилища по умолчанию, выделяемый каждому оператору, если в конфигурации оператора не указан конкретный запрос на диск

512

default_gpus

Указывает количество графических процессоров по умолчанию, выделяемых каждому оператору, когда в конфигурации оператора не указан конкретный запрос на графические процессоры

0

default_queue

Очередь по умолчанию, в которую назначаются задачи и которую прослушивает воркер

default

allow_illegal_arguments

Разрешается ли передавать дополнительные/неиспользуемые аргументы (args, kwargs) оператору BaseOperator. Если установлено значение False, будет сгенерировано исключение, в противном случае будет отображаться только сообщение консоли

false

airflow.cfg [hive]
Параметр Описание Значение по умолчанию

default_hive_mapred_queue

Очередь MapReduce по умолчанию для задач HiveOperator

 — 

mapred_job_name_template

Шаблон для mapred_job_name в HiveOperator, поддерживает следующие именованные параметры: hostname, dag_id, task_id, execution_date

 — 

airflow.cfg [webserver]
Параметр Описание Значение по умолчанию

base_url

Базовый URL веб-сайта. Следует заполнять, поскольку Airflow неизвестно, какой домен или cname используется. URL используется в автоматических письмах, которые Airflow отправляет для указания ссылок на нужный веб-сервер

http://localhost:8080

default_ui_timezone

Часовой пояс по умолчанию для отображения всех дат в пользовательском интерфейсе, может быть UTC, системным или любой строкой часового пояса IANA (например, Europe/Amsterdam). Если оставить пустым, будет использоваться значение по умолчанию core/default_timezone

UTC

web_server_host

IP-адрес, указанный при запуске веб-сервера

0.0.0.0

web_server_port

Порт, на котором будет запущен веб-сервер

8080

web_server_ssl_cert

Пути к сертификату SSL и ключу для веб-сервера. Если оба указаны, SSL будет включен. Это не меняет порт веб-сервера

 — 

web_server_ssl_key

Пути к сертификату SSL и ключу для веб-сервера. Если оба указаны, SSL будет включен. Это не меняет порт веб-сервера

 — 

session_backend

Количество секунд, в течение которых веб-сервер ждет, прежде чем отключить мастера Gunicorn, который не отвечает

database

web_server_master_timeout

Количество секунд, в течение которых веб-сервер ждет, прежде чем отключить мастера Gunicorn, который не отвечает

120

web_server_worker_timeout

Количество секунд, в течение которых веб-сервер Gunicorn ожидает до истечения времени ожидания на рабочем процессе

120

worker_refresh_batch_size

Количество одновременно обновляемых рабочих процессов. Если установлено значение 0, обновление рабочих процессов отключено. Для любого другого значения Airflow периодически обновляет рабочие процессы веб-сервера, вызывая новых и уничтожая старые

1

worker_refresh_interval

Количество секунд ожидания перед обновлением партии рабочих процессов

6000

reload_on_plugin_change

Если установлено значение True, Airflow будет отслеживать файлы в каталоге plugins_folder. Когда он обнаружит изменения, перезагрузит Gunicorn

false

secret_key

Секретный ключ, используемый для запуска приложения Flask. Он должен быть максимально случайным. Однако при запуске более одного экземпляра веб-сервера убедитесь, что все они используют один и тот же secret_key, иначе один из них выдаст ошибку CSRF session token is missing. Ключ веб-сервера также используется для авторизации запросов к воркерам Celery при извлечении логов. Токен, сгенерированный с использованием секретного ключа, имеет короткий срок действия. Убедитесь, что дата истечения срока действия ключа одинакова на всех хостах Airflow (например, с использованием ntpd). В противном случае вы можете получить ошибку forbidden

 — 

workers

Количество воркеров для запуска веб-сервера Gunicorn

4

worker_class

Класс воркера, который должен использовать Gunicorn. Возможные значения: sync (по умолчанию), eventlet, gevent. При использовании gevent вы также можете установить переменную окружения _AIRFLOW_PATCH_GEVENT в 1, чтобы убедиться, что исправление gevent будет выполнено как можно раньше

sync

access_logfile

Лог-файлы для веб-сервера Gunicorn. Значение - означает лог в stderr

 — 

error_logfile

Лог-файлы для веб-сервера Gunicorn. Значение - означает лог в stderr

 — 

access_logformat

Формат журнала доступа для веб-сервера Gunicorn. Формат по умолчанию %%(h)s %%(l)s %%(u)s %%(t)s "%%(r)s" %%(s)s %%(b)s "%%(f)s" "%%(a)s". Более подробная информация в документации Gunicorn

 — 

expose_config

Определяет параметры открытия файла конфигурации на веб-сервере. Установите non-sensitive-only, чтобы показать все значения, кроме тех, которые имеют последствия для безопасности. Значение True — показывает все значения, False — полностью скрывает конфигурацию

false

expose_hostname

Отображение имени хоста на веб-сервере

false

expose_stacktrace

Отображение трассировки стека на веб-сервере

false

dag_default_view

Представление DAG по умолчанию. Допустимые значения: grid, graph, duration, gantt, landing_times

grid

dag_orientation

Ориентация DAG по умолчанию. Допустимые значения: LR (слева→направо), TB (сверху→вниз), RL (справа→налево), BT (снизу→вверх)

LR

log_fetch_timeout_sec

Время (в секундах), в течение которого веб-сервер будет ожидать начального подтверждения связи при извлечении логов с другой рабочей машины

5

log_fetch_delay_sec

Интервал времени (в секундах) ожидания перед следующей выборкой журнала

2

log_auto_tailing_offset

Расстояние от низа страницы для включения автоматического отслеживания

30

log_animation_speed

Скорость анимации для отображения журнала автозапуска

1000

hide_paused_dags_by_default

По умолчанию веб-сервер показывает приостановленные DAG. Включите опцию, чтобы скрыть приостановленные DAG по умолчанию

false

page_size

Единообразный размер страницы для всех представлений листинга в пользовательском интерфейсе

100

navbar_color

Цвет панели навигации

#fff

default_dag_run_display_number

Количество dagrun, которое отображается в пользовательском интерфейсе по умолчанию

25

enable_proxy_fix

Включить ли сервис werkzeug ProxyFix для обратного прокси

false

proxy_fix_x_for

Количество значений, которым следует доверять для X-Forwarded-For. Более подробная информация в документация werkzeug

1

proxy_fix_x_proto

Количество значений, которым можно доверять для X-Forwarded-Proto

1

proxy_fix_x_host

Количество значений, которым следует доверять для X-Forwarded-Host

1

proxy_fix_x_port

Количество значений, которым можно доверять для X-Forwarded-Port

1

proxy_fix_x_prefix

Количество значений, которым можно доверять для X-Forwarded-Prefix

1

cookie_secure

Установить ли флаг безопасности для сеансового cookie-файла

false

cookie_samesite

Политика одного и того же сайта для сеансовых cookie-файлов

Lax

default_wrap

Настройка по умолчанию для переключения переноса в коде DAG и представлениях журнала TI

false

x_frame_enabled

Разрешить ли отображение пользовательского интерфейса в кадре

true

analytics_tool

Отправка анонимной активности пользователя в аналитический сервис. Возможные значения: google_analytics, segment, metarouter

 — 

analytics_id

Уникальный идентификатор аккаунта в сервисе аналитики

 — 

show_recent_stats_for_completed_runs

При включенной опции статистика Recent Tasks будет отображаться для старых DagRuns

true

update_fab_perms

Обновлять ли разрешения FAB и синхронизировать ли роли менеджера безопасности при запуске веб-сервера

true

session_lifetime_minutes

Время жизни куки пользовательского интерфейса в минутах. Пользователь будет выведен из пользовательского интерфейса после истечения session_lifetime_minutes

43200

instance_name

Задает пользовательский заголовок страницы для страницы обзора DAG и заголовок сайта для всех страниц

 — 

instance_name_has_markup

Содержит ли пользовательский заголовок страницы обзора DAG какой-либо язык разметки

false

auto_refresh_interval

Как часто (в секундах) данные DAG будут автоматически обновляться в графическом или сеточном представлении, если включено автоматическое обновление

3

warn_deployment_exposure

Следует ли отображать предупреждения о публично просматриваемом окружении

true

audit_view_excluded_events

Строка событий просмотра, разделенная запятыми, для исключения из представления аудита DAG. Все остальные события будут добавлены за вычетом переданных здесь. Журналы аудита в БД не будут затронуты этим параметром

gantt,landing_times,tries,duration,calendar,graph,grid,tree,tree_data

audit_view_included_events

Строка событий просмотра, разделенная запятыми, для включения в представление аудита DAG. Если передано, только эти события будут заполнять представление аудита DAG. Журналы аудита в базе данных не будут затронуты этим параметром

 — 

enable_swagger_ui

Запускать ли SwaggerUI на веб-сервере

true

run_internal_api

Запускать ли внутренний API на веб-сервере

false

auth_rate_limited

Включать ли ограничения скорости на эндпойнтах аутентификации

true

auth_rate_limit

Ограничение скорости для эндпоинтов аутентификации

5 per 40 second

caching_hash_method

Алгоритм кеширования, используемый веб-сервером. Значение параметра должно быть допустимым именем функции hashlib

md5

airflow.cfg [email]
Параметр Описание Значение по умолчанию

email_backend

Бэкенд электронной почты

airflow.utils.email.send_email_smtp

email_conn_id

Соединение Airflow, содержащее данные для подключения по SMTP

smtp_default

default_email_on_retry

Отправлять ли оповещения по электронной почте при повторной попытке выполнения задачи

true

default_email_on_failure

Отправлять ли оповещения по электронной почте в случае сбоя задачи

true

subject_template

Файл, который будет использоваться как шаблон для темы письма (который будет визуализирован с помощью Jinja2). Если не задано, Airflow использует базовый шаблон

 — 

html_content_template

Файл, который будет использоваться как шаблон для содержимого электронной почты (который будет визуализироваться с помощью Jinja2). Если не задано, Airflow использует базовый шаблон

 — 

from_email

Адрес электронной почты, который будет использоваться как адрес отправителя. Это может быть либо необработанный адрес электронной почты, либо полный адрес в формате Имя отправителя <sender@email.com>

 — 

airflow.cfg [smtp]
Параметр Описание Значение по умолчанию

smtp_host

Указывает адрес хост-сервера, используемый Airflow при отправке уведомлений по электронной почте через SMTP

localhost

smtp_starttls

Определяет, использовать ли команду STARTTLS при подключении к SMTP-серверу

true

smtp_ssl

Определяет, использовать ли SSL-соединение при обращении к SMTP-серверу

false

smtp_user

Имя пользователя для аутентификации при подключении к SMTP-серверу

 — 

smtp_password

Пароль для аутентификации при подключении к SMTP-серверу

 — 

smtp_port

Определяет номер порта, по которому Airflow подключается к SMTP-серверу для отправки уведомлений по электронной почте

25

smtp_mail_from

Указывает адрес электронной почты по умолчанию, используемый при отправке уведомлений по электронной почте Airflow

airflow@example.com

smtp_timeout

Определяет максимальное время (в секундах), в течение которого система Apache Airflow будет ожидать установления соединения с SMTP-сервером

30

smtp_retry_limit

Определяет максимальное количество попыток Airflow подключиться к SMTP-серверу

5

airflow.cfg [sentry]
Параметр Описание Значение по умолчанию

sentry_on

Включить ли отправку отчетов об ошибках в Sentry

false

sentry_dsn

URL-адрес Sentry DSN

 — 

before_send

Путь к функции before_send, на использование которой следует настроить Sentry SDK

 — 

airflow.cfg [local_kubernetes_executor]
Параметр Описание Значение по умолчанию

kubernetes_queue

Определяет тип выполнения задач: KubernetesExecutor или LocalKubernetesExecutor. Когда очередь задачи имеет значение kubernetes_queue (по умолчанию kubernetes), задача выполняется через KubernetesExecutor, в противном случае через LocalExecutor

kubernetes

airflow.cfg [celery_kubernetes_executor]
Параметр Описание Значение по умолчанию

kubernetes_queue

Определяет тип выполнения задач: KubernetesExecutor или CeleryKubernetesExecutor. Когда очередь задачи имеет значение kubernetes_queue (по умолчанию kubernetes), задача выполняется через KubernetesExecutor, в противном случае через CeleryExecutor

kubernetes

airflow.cfg [celery]
Параметр Описание Значение по умолчанию

celery_app_name

Имя приложения, которое будет использоваться Celery

airflow.executors.celery_executor

worker_concurrency

Параллелизм, который будет использоваться при запуске воркеров с помощью команды airflow celery worker. Параметр определяет количество экземпляров задач, которые возьмет воркер, поэтому определите размер воркеров на основе ресурсов на вашем рабочем блоке и характера ваших задач

16

worker_autoscale

Максимальный и минимальный параллелизм, который будет использоваться при запуске воркеров с помощью команды airflow celery worker (всегда сохраняйте минимальное количество процессов, но увеличивайте до максимального, если необходимо). Значение должно быть в формате max_concurrency,min_concurrency. Если доступен autoscale option, worker_concurrency будет проигнорирован

 — 

worker_prefetch_multiplier

Используется для увеличения количества задач, которые предварительно выбирает рабочий процесс, что может повысить производительность. Количество процессов, умноженное на worker_prefetch_multiplier — это количество задач, которые предварительно выбирает рабочий процесс. Значение больше 1 может привести к ненужной блокировке задач, если имеется несколько рабочих процессов и один рабочий процесс предварительно выбирает задачи, которые находятся позади долго выполняющихся задач, в то время как другой рабочий процесс имеет неиспользуемые процессы, которые не могут обработать уже заявленные заблокированные задачи. Для получения дополнительной информации см. документацию Celery

1

worker_enable_remote_control

Укажите, включено ли удаленное управление рабочими процессами. В некоторых случаях, когда брокер не поддерживает удаленное управление, Celery создает множество очередей .*reply-celery-pidbox. Вы можете предотвратить это, установив этот параметр в false. Однако, если этот параметр отключен, Flower не будет работать. Для получения дополнительной информации см. документация Celery

true

broker_url

URL брокера Celery. Celery поддерживает RabbitMQ, Redis и экспериментально базу данных SQLAlchemy. Для получения дополнительной информации обратитесь к документации Celery

redis://{{groups['redis.server'][0]|d(omit)}}:6379/0

result_backend

Бэкенд Celery для хранения метаданных задания. Когда задание завершается, ему необходимо обновить метаданные задания. Поэтому он отправит сообщение на шину сообщений или вставит его в базу данных (в зависимости от бэкенда). Этот статус используется планировщиком для обновления состояния задачи. Настоятельно рекомендуется использовать базу данных. Если не указано иное, будет использоваться sql_alchemy_conn с префиксом схемы db+. Для получения дополнительной информации см. документацию Celery

 — 

result_backend_sqlalchemy_engine_options

Необязательный словарь конфигурации для передачи в серверную часть результатов Celery SQLAlchemy

 — 

flower_host

Celery Flower — это пользовательский интерфейс для Celery. У Airflow есть ярлык для его запуска airflow celery flower. Параметр определяет IP, на котором работает Celery Flower

0.0.0.0

flower_url_prefix

Корневой URL для Flower

 — 

flower_port

Порт, на котором работает Celery Flower

5555

flower_basic_auth

Включает базовую аутентификацию для Flower. Этот параметр принимает строку в формате user:password, которая будет необходима при доступе к Flower UI

 — 

sync_parallelism

Сколько процессов использует CeleryExecutor для синхронизации состояния задачи. 0 означает использовать максимальное количество

0

celery_config_options

Путь импорта для параметров конфигурации Celery

airflow.config_templates.default_celery.DEFAULT_CELERY_CONFIG

ssl_active

Определяет, активен ли SSL для Airflow

false

ssl_key

Путь к SSL-ключу

 — 

ssl_cert

Путь к SSL-сертификату

 — 

ssl_cacert

Путь к сертификату CA

 — 

pool

Celery-реализация пула. Возможные значения: prefork (по умолчанию), eventlet, gevent или solo. Для получения дополнительной информации см. документацию Celery

prefork

operation_timeout

Количество секунд ожидания перед тайм-аутом операций send_task_to_executor или fetch_celery_task_state

1

task_track_started

При включенной опции задача Celery сообщит о своем статусе как started, когда она будет выполнена воркером. Используется в Airflow для отслеживания запущенных задач. Если Scheduler перезапускается или работает в режиме HA, он может принять невыполненные задачи, запущенные предыдущим SchedulerJob

true

task_publish_max_retries

Максимальное количество повторных попыток публикации сообщений о задачах брокеру при сбое из-за ошибки AirflowTaskTimeout, прежде чем прекратить работу и пометить задачу как неудавшуюся

3

worker_precheck

Проводить ли проверку инициализации рабочего процесса для контроля соединения с базой метаданных

false

airflow.cfg [celery_broker_transport_options]
Параметр Описание Значение по умолчанию

visibility_timeout

Время ожидания видимости определяет количество секунд ожидания подтверждения задачи исполнителем перед повторной доставкой сообщения другому исполнителю. Обязательно увеличьте время ожидания видимости, чтобы оно соответствовало времени самого длительного ETA, которое вы планируете использовать. visibility_timeout поддерживается только для брокеров Redis и SQS Celery. Подробности см. в документации Celery

 — 

airflow.cfg [dask]
Параметр Описание Значение по умолчанию

cluster_address

IP-адрес и порт планировщика кластера Dask

127.0.0.1:8786

tls_ca

Настройки TLS/SSL для доступа к защищенному планировщику Dask

 — 

tls_cert

Сертификат TLS

 — 

tls_key

Ключ сертификата TLS

 — 

airflow.cfg [scheduler]
Параметр Описание Значение по умолчанию

job_heartbeat_sec

Частота (в секундах), с которой экземпляры задач прослушивают внешний сигнал завершения (при очистке задач из CLI или пользовательского интерфейса)

5

scheduler_heartbeat_sec

Частота (в секундах), с которой должен запускаться планировщик для попыток запуска новых задач

5

num_runs

Количество попыток запланировать каждый файл DAG. -1 указывает на неограниченное количество

-1

scheduler_idle_sleep_time

Время, которое планировщик будет бездействовать между циклами. Если в цикле не было ничего запланировано, следующий цикл начинается немедленно

1

min_file_process_interval

Количество секунд, через которые анализируется файл DAG. Файл DAG анализируется каждые min_file_process_interval секунд. Обновления DAG отражаются после этого интервала. Уменьшение этого числа увеличивает использование ЦП

30

parsing_cleanup_interval

Как часто (в секундах) проверять наличие устаревших DAG (DAG, больше не присутствующих в ожидаемых файлах), которые следует деактивировать, а также датасеты, на которые больше нет ссылок и которые следует пометить как потерянные

60

stale_dag_threshold

Сколько времени (в секундах) ждать после повторного анализа файла DAG перед деактивацией устаревших DAG (DAG, больше не присутствующих в ожидаемых файлах). Абсолютный максимум, который это может занять, составляет dag_file_processor_timeout, но если у вас настроено длительное время ожидания, это приводит к значительной задержке деактивации устаревших DAG

50

dag_dir_list_interval

Как часто (в секундах) сканировать каталог DAG на наличие новых файлов. По умолчанию 5 минут

300

print_stats_interval

Как часто следует печатать статистику в журналах. Установка 0 отключает печать статистики

30

pool_metrics_interval

Как часто (в секундах) следует отправлять статистику использования пула в StatsD (если включен statsd_on)

5

scheduler_health_check_threshold

Если последний такт планировщика произошел более чем scheduler_health_check_threshold назад (в секундах), планировщик считается неработоспособным. Это используется проверкой работоспособности в эндпойнте /health и в CLI airflow jobs check для SchedulerJob

30

enable_health_check

Когда запускается планировщик, Airflow запускает небольшой подпроцесс веб-сервера для проверки работоспособности, если этот параметр установлен в True

false

scheduler_health_check_server_port

При запуске планировщика Airflow запускает небольшой подпроцесс веб-сервера для проверки работоспособности этого порта

8974

orphaned_tasks_check_interval

Как часто (в секундах) планировщик должен проверять наличие потерянных задач и SchedulerJobs

300

child_process_log_directory

Определяет каталог, в котором будут храниться логи дочерних процессов планировщика

/var/log/airflow/scheduler

scheduler_zombie_task_threshold

Локальные задания периодически отправляют heartbeat в базу данных. Если задание не отправляет heartbeat в течение времени, указанного в этом параметре, планировщик отметит связанный экземпляр задачи как неудачный и перепланирует задачу

300

zombie_detection_interval

Как часто (в секундах) планировщик должен проверять наличие зомби-задач

10

catchup_by_default

Включает или отключает catchup планировщика. Планировщик не будет выполнять catchup, если установлено значение False. Это также можно установить отдельно для каждой группы DAG в определении DAG (catchup)

true

ignore_first_depends_on_past_by_default

Установка этого значения в True заставит первый экземпляр задачи игнорировать настройку depends_on_past. Экземпляр задачи будет считаться первым экземпляром задачи, если в базе данных нет экземпляра задачи с execution_date более ранней, чем он, т.е. не потребуется ручная маркировка успеха для планирования новой добавленной задачи

true

max_tis_per_query

Определяет размер пакета запросов в основном цикле планирования. Если он слишком велик, производительность SQL-запросов может пострадать из-за сложности предиката запроса и/или чрезмерной блокировки. Кроме того, вы можете достичь максимально допустимой длины запроса базы данных. Установите значение 0 для отсутствия ограничений (не рекомендуется)

512

use_row_level_locking

Должен ли планировщик выдавать SELECT …​ FOR UPDATE в соответствующих запросах. Если установлено значение False, то не следует запускать более одного планировщика одновременно

true

max_dagruns_to_create_per_loop

Максимальное количество DAG для создания DagRuns для каждого цикла планировщика

10

max_dagruns_per_loop_to_schedule

Сколько DagRuns должен проверять (и блокировать) планировщик при планировании и постановке задач в очередь

20

schedule_after_task_execution

Должен ли процесс Task supervisor выполнить mini scheduler, чтобы попытаться запланировать больше задач того же DAG. При значении True задачи в том же DAG будут выполняться быстрее, но иногда это может привести к сокращению ресурсов для работы других DAG

true

parsing_pre_import_modules

Планировщик считывает файлы DAG для извлечения модулей Airflow, которые будут использоваться, и импортирует их заранее, чтобы избежать необходимости делать это повторно. Флаг можно установить в значение False, чтобы отключить описанное поведение в случае, если модуль Airflow необходимо импортировать заново каждый раз (за счет увеличения времени парсинга DAG)

true

parsing_processes

Планировщик может запускать несколько процессов параллельно для парсинга DAG. Параметр определяет, сколько процессов будет запущено

2

file_parsing_sort_mode

Определяет формат парсинга и сортировки DAG планировщиком. Может быть указано одно из трех значений:

  • modified_time — сортировка по времени изменения файлов. Это полезно в больших масштабах, чтобы сначала проанализировать недавно измененные DAG.

  • random_seeded_by_host — сортировка случайным образом по нескольким планировщикам, но с тем же порядком на одном хосте. Это полезно при работе с планировщиком в режиме HA, где каждый планировщик может анализировать разные файлы DAG.

  • алфавитный — сортировка по имени файла.

modified_time

standalone_dag_processor

Определяет, работает ли процессор DAG как автономный процесс или является подпроцессом задания планировщика

true

max_callbacks_per_loop

Максимальное количество обратных вызовов, которые извлекаются в течение одного цикла. Применимо только если [scheduler]standalone_dag_processor имеет значение True и обратные вызовы хранятся в базе данных

20

dag_stale_not_seen_duration

Время в секундах, по истечении которого деактивируются DAG, которые не были обновлены Dag Processor. Применимо только если [scheduler]standalone_dag_processor имеет значение True

600

use_job_schedule

Отключите использование планировщиком интервалов cron, установив значение False. DAG, отправленные вручную в веб-интерфейсе или с помощью trigger_dag, по-прежнему будут работать

true

allow_trigger_in_future

Определяет, разрешить ли внешне инициируемые DagRuns для дат выполнения в будущем. Действует только в том случае, если параметру schedule_interval присвоено значение None в DAG

false

trigger_timeout_check_interval

Как часто проверять наличие просроченных триггерных запросов, которые еще не были запущены

15

task_queued_timeout

Время, в течение которого задача может находиться в очереди, прежде чем будет выполнена повторно или будет установлена ошибка

600

task_queued_timeout_check_interval

Как часто проверять задачи, которые находятся в очереди дольше, чем [scheduler] task_queued_timeout

120

allowed_run_id_pattern

Шаблон run_id, используемый для проверки допустимости пользовательского ввода в параметр run_id при запуске DAG. Этот шаблон не может изменить шаблон, используемый планировщиком для генерации run_id для запланированных запусков DAG или запусков DAG, запущенных без изменения параметра run_id

^[A-Za-z0-9_.~:+-]+$

airflow.cfg [triggerer]
Параметр Описание Значение по умолчанию

default_capacity

Сколько триггеров будет запущено одним Triggerer одновременно по умолчанию

1000

job_heartbeat_sec

Как часто проверять работу Triggerer, чтобы убедиться, что она не была завершена

5

airflow.cfg [kerberos]
Параметр Описание Значение по умолчанию

ccache

Расположение файла ccache после выполнения kinit

/opt/airflow/krb5_ccache

principal

Принципал Kerberos

 — 

reinit_frequency

Частота повторной инициализации Kerberos

3600

kinit_path

Путь к исполняемому файлу kinit

kinit

keytab

Указывает путь к файлу ключей Kerberos для пользователя Airflow

 — 

forwardable

Разрешить ли отключение возможности пересылки тикетов

true

include_ip

Позволяет удалять исходный IP-адрес из токена, полезно при использовании токена за NAT-хостом Docker

true

airflow.cfg [elasticsearch]
Параметр Описание Значение по умолчанию

host

Хост Elasticsearch

 — 

log_id_template

Формат log_id, который используется для запроса журналов заданных задач. Значение должно быть заключено в теги raw/endraw

{% raw %}{dag_id}-{task_id}-{run_id}-{map_index}-{try_number}{% endraw %}

end_of_log_mark

Используется для обозначения конца потока журнала для задачи

end_of_log

frontend

Квалифицированный URL для интерфейса Elasticsearch (например, Kibana) с аргументом шаблона для log_id. Код создаст log_id, используя шаблон log_id из аргумента выше. Схема по умолчанию будет https, если он не указан

 — 

write_stdout

Записывать ли журналы задач в stdout воркера, а не в файлы по умолчанию

false

json_format

Записывать ли строки журнала в формате JSON вместо форматирования журнала по умолчанию

false

json_fields

Добавлять ли поля журнала к выходным данным JSON

asctime, filename, lineno, levelname, message

host_field

Поле, в котором хранится имя хоста (обычно host или host.name)

host

offset_field

Поле, в котором хранится смещение (обычно offset или log.offset)

offset

index_patterns

Список шаблонов индекса, разделенных запятыми, для использования при поиске журналов (по умолчанию: _all)

_all

airflow.cfg [elasticsearch_configs]
Параметр Описание Значение по умолчанию

use_ssl

Использовать ли SSL для соединений

false

verify_certs

Проверять ли SSL-сертификаты. Установите значение False, если используется самоподписанный сертификат

true

airflow.cfg [kubernetes_executor]
Параметр Описание Значение по умолчанию

api_client_retry_configuration

Kwargs для переопределения стандартного urllib3 Retry, используемого в клиенте API Kubernetes

 — 

pod_template_file

Путь к файлу pod YAML, который формирует основу для рабочих процессов KubernetesExecutor

 — 

worker_container_repository

Репозиторий образа Kubernetes для запуска воркера

 — 

worker_container_tag

Тег образа Kubernetes для запуска воркера

 — 

namespace

Пространство имен Kubernetes, где должны быть созданы рабочие процессы Airflow. По умолчанию default

default

delete_worker_pods

Если True, все рабочие модули будут удалены после завершения

true

delete_worker_pods_on_failure

Если Falsedelete_worker_pods равно True), неудавшиеся рабочие поды не будут удалены, чтобы пользователи могли их исследовать. Это предотвращает удаление только рабочих подов, где сам рабочий процесс дал сбой, а не когда задача, которую он выполнил, дала сбой

false

worker_pods_creation_batch_size

Количество вызовов создания рабочих подов Kubernetes на цикл планировщика. Текущее значение по умолчанию 1 запустит только один под на каждый heartbeat. Пользователям рекомендуется увеличить это число, чтобы оно соответствовало допустимой нагрузке их кластера Kubernetes для лучшей производительности

1

multi_namespace_mode

Позволяет пользователям запускать pod в нескольких пространствах имен. Потребуется создание кластерной роли для планировщика или использование конфигурации multi_namespace_mode_namespace_list

false

multi_namespace_mode_namespace_list

Если multi_namespace_mode равно True, а у планировщика нет кластерной роли, необходимо указать список пространств имен, в которых планировщик будет планировать задания. Планировщику необходимо иметь необходимые разрешения в этих пространствах имен

 — 

in_cluster

Использовать ли учетную запись службы, которую Kubernetes предоставляет pods для подключения к кластеру Kubernetes. Она предназначена для клиентов, которые ожидают запуска внутри pod, работающего на Kubernetes. Она вызовет исключение, если будет вызвана из процесса, не работающего в среде Kubernetes

true

cluster_context

При запуске с in_cluster=False измените параметры cluster_context или config_file по умолчанию на клиент Kubernetes. Оставьте их пустыми, чтобы использовать поведение по умолчанию, как у kubectl

 — 

config_file

Путь к файлу конфигурации Kubernetes, который будет использоваться, если для параметра in_cluster задано значение False

 — 

kube_client_request_args

Ключевые параметры для передачи при вызове методов core_v1_api клиента Kubernetes из Kubernetes Executor, предоставленные в виде однострочной форматированной строки словаря JSON. Список поддерживаемых параметров одинаков для всех core_v1_apis, поэтому для всех API используется одна переменная конфигурации. Для получения дополнительной информации см. core_v1_api.py

 — 

delete_option_kwargs

Необязательные ключевые аргументы для передачи в метод core_v1_api клиента Kubernetes delete_namespaced_pod при использовании Kubernetes Executor. Это должен быть объект, который может содержать любые параметры, перечисленные в классе v1DeleteOptions, определенном в класс V1DeleteOptions

 — 

enable_tcp_keepalive

Включает механизм TCP keepalive. Это предотвращает бесконечное зависание запросов Kubernetes API, когда неактивное соединение истекает по тайм-ауту на таких сервисах, как облачные балансировщики нагрузки или брандмауэры

true

tcp_keep_idle

Когда опция enable_tcp_keepalive включена, TCP проверяет соединение, которое простаивало в течение tcp_keep_idle секунд

120

tcp_keep_intvl

При включенной опции enable_tcp_keepalive, если API Kubernetes не отвечает на проверку активности, TCP повторно передает проверку через tcp_keep_intvl секунд

30

tcp_keep_cnt

При включенной опции enable_tcp_keepalive, если API Kubernetes не отвечает на проверку активности, TCP повторно передает проверку tcp_keep_cnt number раз, прежде чем соединение будет считаться разорванным

6

verify_ssl

Установите значение False, чтобы пропустить проверку SSL-сертификата клиента Kubernetes Python

true

worker_pods_queued_check_interval

Как часто (в секундах) проверять экземпляры задач, оставшиеся в статусе queued без модуля

60

ssl_ca_cert

Путь к сертификату CA, который будет использоваться клиентом Kubernetes для проверки SSL-сертификата сервера

 — 

airflow.cfg [sensors]
Параметр Описание Значение по умолчанию

default_timeout

Срок ожидания сенсора. По умолчанию — 7 дней (7 * 24 * 60 * 60)

604800

Custom airflow.cfg

 
Это поле позволяет добавлять пользовательские параметры в файлы конфигурации airflow_cfg.

airflow-env.sh
Параметр Описание Значение по умолчанию

AIRFLOW_HOME

Домашний каталог для сервиса Airflow

/opt/airflow

AIRFLOW_CONFIG

Расположение файла конфигурации Airflow

/opt/airflow/airflow.cfg

AIRFLOW_PYTHON_PATH

Расположение Python, используемое Airflow

/opt/airflow/bin/python3.10

DAG_PROCESSOR_SUBDIR

Расположение хранящихся в Airflow DAG

/opt/airflow/dags

Custom airflow-env.sh

 
Это поле позволяет добавлять пользовательские параметры в файлы конфигурации airflow_cfg.

LDAP Security manager
Параметр Описание Значение по умолчанию

AUTH_LDAP_SERVER

URI сервера LDAP

 — 

AUTH_LDAP_BIND_USER

Путь пользователя прокси LDAP для привязки к верхнему уровню. Пример: cn=airflow,ou=users,dc=example,dc=com

 — 

AUTH_LDAP_BIND_PASSWORD

Пароль bind-пользователя

 — 

AUTH_LDAP_SEARCH

Путь LDAP, по которому пользователи будут иметь доступ к Airflow. Пример: dc=example,dc=com

 — 

AUTH_LDAP_UID_FIELD

Поле UID (уникальный идентификатор) в LDAP

 — 

AUTH_ROLES_MAPPING

Параметр для сопоставления внутренних ролей группам LDAP Active Directory

 — 

AUTH_LDAP_GROUP_FIELD

Атрибут пользователя LDAP, имеющий свои ролевые DN

 — 

AUTH_ROLES_SYNC_AT_LOGIN

Флаг, указывающий, следует ли заменять все роли пользователя при каждом входе в систему или только при регистрации

true

PERMANENT_SESSION_LIFETIME

Устанавливает тайм-аут бездействия, по истечении которого пользователи должны повторно пройти аутентификацию (для синхронизации ролей)

1800

AUTH_LDAP_USE_TLS

Используется ли TLS

false

AUTH_LDAP_ALLOW_SELF_SIGNED

Разрешено ли использование самоподписанных сертификатов

true

AUTH_LDAP_TLS_CACERTFILE

Расположение сертификата

 — 

Dependency Management
Параметр Описание Значение по умолчанию

Extra requirements

Список Python-библиотек, которые необходимо установить на хосты Airflow. Используйте стандартный формат requirements.txt: <package_name>==<version>

 — 

index-url

Базовый URL Python Package Index (по умолчанию: https://pypi.org/simple). URL должен указывать на репозиторий, совместимый с PEP 503 (simple API), либо на локальный репозиторий с такой же структурой

 — 

index-url-user

Имя пользователя для аутентификации в репозитории, указанном в index-url

 — 

index-url-password

Пароль для аутентификации в репозитории, указанном в index-url

 — 

proxy

Адрес прокси-сервера, через который будут выполняться запросы на установку пакетов

 — 

proxy-user

Имя пользователя для аутентификации на прокси-сервере

 — 

proxy-password

Пароль для аутентификации на прокси-сервере

 — 

trusted-host

IP-адрес хоста или пара вида <IP хоста>:<порт>, которые следует считать безопасными даже если они не используют HTTPS. Может использоваться для внутренних или локальных репозиториев

 — 

Конфигурация компонентов Airflow
Airflow DAG Processor, Airflow Scheduler, Airflow Server, Airflow Triggerer, Airflow Worker
Параметр Описание Значение по умолчанию

Enable custom ulimits

Включение этой опции позволяет указать ограничения на использование ресурсов для процесса (ulimits). Если значения не указаны, будут использованы системные настройки по умолчанию. Настройки ulimit описаны в таблице Настройки Ulimit

[Service]
DefaultLimitCPU=
DefaultLimitFSIZE=
DefaultLimitDATA=
DefaultLimitSTACK=
DefaultLimitCORE=
DefaultLimitRSS=
DefaultLimitNOFILE=
DefaultLimitAS=
DefaultLimitNPROC=
DefaultLimitMEMLOCK=
DefaultLimitLOCKS=
DefaultLimitSIGPENDING=
DefaultLimitMSGQUEUE=
DefaultLimitNICE=
DefaultLimitRTPRIO=
DefaultLimitRTTIME=
Airflow Flower
Параметр Описание Значение по умолчанию

auto_refresh

Включает автоматическое обновление для представления Workers. По умолчанию представление Workers автоматически обновляется через регулярные интервалы, чтобы предоставить актуальную информацию о воркерах. Используйте значение False, чтобы отключить автоматическое обновление

true

ca_cert

Устанавливает путь к файлу ca_certs, содержащему набор объединенных сертификатов центра сертификации

 — 

cert_file

Устанавливает путь к файлу SSL-сертификата

 — 

keyfile

Устанавливает путь к файлу ключа SSL

 — 

db

Устанавливает файл базы данных, который будет использоваться, если включен персистентный режим (persistent mode)

flower

tasks_columns

Указывает список столбцов, разделенных запятыми, который будет отображаться на странице Tasks

name,uuid,state,args,kwargs,result,received,started,runtime,worker

persistent

Когда включен персистентный режим, Flower сохраняет свое текущее состояние и перезагружает его при перезапуске. Это гарантирует, что Flower сохранит свое состояние и конфигурацию при перезапусках. Flower сохраняет свое состояние в файле базы данных, указанном в параметре db

false

debug

Включает режим отладки

false

enable_events

Flower периодически отправляет команды Celery enable_events всем воркерам. Включение событий Celery позволяет Flower получать обновления в реальном времени о событиях задач от воркеров Celery

false

inspect_timeout

Устанавливает тайм-аут для команд проверки рабочего процесса в миллисекундах

1000

max_workers

Устанавливает максимальное количество воркеров, которые нужно хранить в памяти

5000

max_tasks

Устанавливает максимальное количество задач, которые нужно хранить в памяти

100000

natural_time

Позволяет отображать время обновления страницы в более удобном для восприятия формате

false

state_save_interval

Устанавливает интервал сохранения состояния Flower. Состояние Flower включает информацию о воркерах и задачах. Состояние сохраняется периодически, чтобы обеспечить сохранение данных и восстановление после перезапуска

100000

xheaders

Включает поддержку заголовков X-Real-Ip и X-Scheme

false

purge_offline_workers

Время (в секундах), после которого офлайн-воркеры автоматически удаляются из представления Workers. По умолчанию офлайн-воркеры остаются на панели управления на неопределенный срок

 — 

task_runtime_metric_buckets

Устанавливает сегменты задержки выполнения задачи. Вы можете указать значение сегментов в виде списка значений, разделенных запятыми

 — 

auth_provider

Устанавливает провайдера аутентификации для Flower. Значение параметра по умолчанию — None, что означает, что провайдер аутентификации не настроен

 — 

auth

Включает аутентификацию. auth — это регулярное выражение для предоставления доступа по адресам электронной почты. Параметр auth позволяет включить аутентификацию в Flower. По умолчанию в качестве значения auth используется пустая строка, что указывает на то, что аутентификация отключена

 — 

oauth2_key

Устанавливает ключ OAuth 2.0 (идентификатор клиента), выданный провайдером OAuth 2.0

 — 

oauth2_secret

Устанавливает секрет OAuth 2.0, выданный провайдером OAuth 2.0

 — 

oauth2_redirect_uri

Устанавливает URI, на который сервер OAuth 2.0 перенаправляет пользователя после успешной аутентификации и авторизации

 — 

cookie_secret

Устанавливает секретный ключ для подписи файлов cookie

 — 

Enable custom ulimits

Включение этой опции позволяет указать ограничения на использование ресурсов для процесса (ulimits). Если значения не указаны, будут использованы системные настройки по умолчанию. Настройки ulimit описаны в таблице Настройки Ulimit

[Service]
DefaultLimitCPU=
DefaultLimitFSIZE=
DefaultLimitDATA=
DefaultLimitSTACK=
DefaultLimitCORE=
DefaultLimitRSS=
DefaultLimitNOFILE=
DefaultLimitAS=
DefaultLimitNPROC=
DefaultLimitMEMLOCK=
DefaultLimitLOCKS=
DefaultLimitSIGPENDING=
DefaultLimitMSGQUEUE=
DefaultLimitNICE=
DefaultLimitRTPRIO=
DefaultLimitRTTIME=
Настройки Ulimit
Параметр Описание Соответствующая опция команды ulimit в CentOS

DefaultLimitCPU

Ограничение в секундах на количество процессорного времени, которое может потреблять процесс

cpu time ( -t)

DefaultLimitFSIZE

Максимальный размер файлов, которые может создать процесс, в блоках по 512 байт

file size ( -f)

DefaultLimitDATA

Максимальный размер сегмента данных процесса, в килобайтах

data seg size ( -d)

DefaultLimitSTACK

Максимальный размер стека, выделенный процессу, в килобайтах

stack size ( -s)

DefaultLimitCORE

Максимальный размер файла дампа (core dump) в байтах, который процесс может сохранить, в блоках по 512 байт

core file size ( -c)

DefaultLimitRSS

Максимальное количество памяти RAM (resident set size), которое может быть выделено процессу, в килобайтах

max memory size ( -m)

DefaultLimitNOFILE

Максимальное количество дескрипторов открытых файлов, разрешенное для процесса

open files ( -n)

DefaultLimitAS

Максимальный размер виртуальной памяти (адресного пространства) процесса, в килобайтах

virtual memory ( -v)

DefaultLimitNPROC

Максимальное количество процессов

max user processes ( -u)

DefaultLimitMEMLOCK

Максимальный размер памяти, который может быть заблокирован для процесса, в килобайтах. Блокировка памяти гарантирует, что память всегда находится в оперативной памяти (RAM) и файл подкачки не используется

max locked memory ( -l)

DefaultLimitLOCKS

Максимальное количество файлов, заблокированных процессом

file locks ( -x)

DefaultLimitSIGPENDING

Максимальное количество сигналов, ожидающих доставки в вызывающий поток

pending signals ( -i)

DefaultLimitMSGQUEUE

Максимальное количество байтов в очередях сообщений POSIX. Очереди сообщений POSIX позволяют процессам обмениваться данными в форме сообщений

POSIX message queues ( -q)

DefaultLimitNICE

Максимальный уровень приоритета NICE, который может быть назначен процессу

scheduling priority ( -e)

DefaultLimitRTPRIO

Максимальный приоритет планирования в реальном времени

real-time priority ( -r)

DefaultLimitRTTIME

Максимальный размер буфера конвейера (pipe), в блоках по 512 байт

pipe size ( -p)

Monitoring

Prometheus settings

 

Параметр Описание Значение по умолчанию

scrape_interval

Частота сбора метрик

1m

scrape_timeout

Время ожидания данных

10s

Password for grafana connection

Пароль пользователя Grafana для подключения к Prometheus

 — 

Prometheus users to login/logout to Prometheus

Учетные данные пользователей для входа в веб-интерфейс Prometheus

 — 

Service parameters

Параметры Prometheus

 — 

Service parameters
Параметр Описание Значение по умолчанию

config.file

Путь к основному конфигурационному файлу Prometheus, в котором определяются параметры задач сбора метрик, правила оповещений и другие настройки

/etc/admprom/prometheus/prometheus.yml

storage.tsdb.path

Директория, в которой хранятся файлы базы данных временных рядов (Time Series DataBase, TSDB) Prometheus

/var/lib/admprom/prometheus

web.console.libraries

Путь к библиотекам консоли, которые использует веб-интерфейс Prometheus

/usr/share/admprom/prometheus/console_libraries

web.console.templates

Директория с шаблонами консолей веб-интерфейса Prometheus

/usr/share/admprom/prometheus/consoles

web.config.file

Путь к файлу веб-конфигурации, который используется для аутентификации, настройки TLS и других параметров веб-сервера

/etc/admprom/prometheus/prometheus-auth.yml

storage.tsdb.retention.time

Время хранения данных во временных рядах до их удаления

15d

web.listen-address

IP-адрес и порт, на которых веб-интерфейс и API Prometheus принимают входящие подключения

0.0.0.0:11200

Grafana settings

 

Параметр Описание Значение по умолчанию

Grafana administrator’s password

Пароль администратора Grafana

 — 

Grafana listen port

Порт доступа к web-интерфейсу Grafana

11210

Node Exporter settings

 

Параметр Описание Значение по умолчанию

Listen port

Порт доступа к системным метрикам хоста в формате Prometheus

11203

Metrics endpoint

Конечная точка (endpoint), в которую Node Exporter экспортирует системные метрики в формате Prometheus

/metrics

SSL configuration

 

Параметр Описание Значение по умолчанию

[Prometheus] → Enable SSL

Определяет, используется ли SSL для Prometheus

false

[Prometheus] → Certificate file

Путь к файлу SSL-сертификата сервера Prometheus в формате PEM

/etc/admprom/prometheus/server.crt

[Prometheus] → Private key file

Путь к файлу приватного ключа SSL-сертификата сервера Prometheus

/etc/admprom/prometheus/server.key

[Prometheus] → Certificate authority file

Путь к файлу центра сертификации

/etc/admprom/prometheus/ca.crt

[Grafana] → Enable SSL

Определяет, используется ли SSL для Grafana

false

[Grafana] → Certificate file

Путь к файлу SSL-сертификата сервера Grafana в формате PEM

/etc/admprom/grafana/server.crt

[Grafana] → Private key file

Путь к файлу приватного ключа SSL-сертификата сервера Grafana

/etc/admprom/grafana/server.key

[Grafana] → Certificate authority file

Путь к файлу центра сертификации

/etc/admprom/grafana/ca.crt

[Node-exporter] → Enable SSL

Определяет, используется ли SSL для Node Exporter

false

[Node-exporter] → Certificate file

Путь к файлу SSL-сертификата сервера Node Exporter в формате PEM

/etc/ssl/server.crt

[Node-exporter] → Private key file

Путь к файлу закрытого ключа SSL-сертификата сервера Node Exporter

/etc/ssl/server.key

Set SSL rights for certs/key

Позволяет менять владельца и разрешения для SSL-сертификата и файлов ключей

false

Scrape config for statsd (statsd_scraper.yml)

 

Параметр Описание Значение по умолчанию

job_name

Имя задачи, в рамках которой будут собираться метрики

statsd_exporter

scrape_interval

Частота сбора метрик

5s

scrape_timeout

Определяет, как долго ждать ответ после отправки запроса на сбор метрик. Не может быть больше значения параметра scrape_interval

 — 

Scrape config for Flower (flower_scraper.yml)

 

Параметр Описание Значение по умолчанию

job_name

Имя задачи, в рамках которой будут собираться метрики

flower_exporter

scrape_interval

Частота сбора метрик

5s

scrape_timeout

Определяет, как долго ждать ответ после отправки запроса на сбор метрик. Не может быть больше значения параметра scrape_interval

 — 

Конфигурация компонента Statsd-exporter

 

Mapping config
Параметр Описание Значение по умолчанию

Mapping config

Мэппинг метрик Airflow StatsD

 — 

statsd-options.env
Параметр Описание Значение по умолчанию

web.listen-address

Порт, на котором отображается веб-интерфейс и метрики Prometheus

9102

statsd.mapping-config

Имя файла конфигурации для мэппинга метрик

/etc/statsd-exporter/conf/statsd-mapping.yml

statsd.listen-udp

UDP-порт, на который будут приходить строки метрик statsd. Заполняется из параметра statsd_port в airflow.cfg [metrics]

8125

web.enable-lifecycle

Позволяет осуществлять выключение и перезагрузку через HTTP-запрос

true

statsd.cache-size

Максимальный размер кеша мэппинга метрик. Если достигнут предел, сервис будет полагаться на политику least recently used

 — 

statsd.listen-tcp

Порт TCP, на который будут поступать строки метрик statsd. Оставьте значение пустым, чтобы отключить эту функцию

 — 

web.telemetry-path

Путь, по которому будут отображаться метрики

 — 

statsd.listen-unixgram

Путь сокета Unixgram для получения строк метрики statsd в датаграмме. Оставьте значение пустым, чтобы отключить эту функцию

 — 

statsd.unixsocket-mode

Разрешения сокета Unix

 — 

statsd.read-buffer

Размер в байтах буфера чтения передачи операционной системы, связанного с соединением UDP или Unixgram. Убедитесь, что параметр ядра net.core.rmem_max больше этого значения

 — 

statsd.cache-type

Тип кеша мэппинга метрик. Допустимые параметры: lru (least recently used) и random

 — 

statsd.event-queue-size

Размер внутренней очереди обработки событий

 — 

statsd.event-flush-threshold

Количество событий, которые необходимо хранить в очереди перед очисткой

 — 

statsd.event-flush-interval

Максимальное время между очистками очереди событий

 — 

debug.dump-fsm

Путь, по которому будет сохраняться внутренний FSM, сгенерированный для шаблона поиска (в виде файла Dot)

 — 

statsd.parse-dogstatsd-tags

Анализировать ли теги DogStatsd

true

statsd.parse-influxdb-tags

Анализировать ли теги InfluxDB

true

statsd.parse-librato-tags

Анализировать ли теги Librato

true

statsd.parse-signalfx-tags

Анализировать ли теги SignalFX

true

statsd.relay.address

Целевой адрес ретранслятора UDP в формате <хост:порт>

 — 

statsd.relay.packet-length

Максимальная длина пакета выходного сигнала реле для предотвращения фрагментации

 — 

statsd.udp-packet-queue-size

Размер внутренней очереди для обработки UDP-пакетов

 — 

log.level

Уровень логирования. Возможные значения: debug, info, warn, error

 — 

log.format

Формат вывода логов. Возможные значения: logfmt, json

 — 

Custom statsd-options.env

Это поле позволяет добавлять пользовательские параметры в файл конфигурации statsd-options.env

 — 

Redis

Redis configuration
Параметр Описание Значение по умолчанию

redis.conf

Файл конфигурации Redis

 — 

redis_port

Порт брокера Redis

6379

Sentinel configuration
Параметр Описание Значение по умолчанию

sentinel.conf

Файл конфигурации Sentinel

 — 

sentinel_port

Порт Sentinel

26379

Redis Server
Параметр Описание Значение по умолчанию

Enable custom ulimits

Отображает редактируемый конфиг ulimits для сервера Redis

 — 

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней