Перейти к основному содержимому
Версия: 1.12

Конфигурация установки Sage

Содержание

Общие сведения

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

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

Конфигурация выполняется внутри контейнера установщика.

Процесс конфигурирования

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

  1. Перейдите в директорию с командами:

    cd /workspace/ansible
  2. Подключите команды:

    source setup.sh
  3. Выберите клан, который хотите сконфигурировать:

    clan clans/msk/example/test # Используйте реальный путь к своему клану
  4. Перейдите в директорию с конфигурацией выбранного вами клана:

    cd $SAGE_HORDE_CLAN_PATH/group_vars/sage
  5. Внесите изменения в файл sage.yml:

    vim sage.yml

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

Конфигурация представлена набором переменных в формате YAML. Переменная имеет имя и значение.

Файл должен начинаться со строки, состоящей из трёх дефисов:

---
# Здесь вы задатите ваши значения для переменных

Типы переменных

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

ТипОписаниеПример
strСтроковое значение"example.com"
intЦелочисленное значение443
booleanЛогическое значениеtrue или false
listСписок значений["value1", "value2"]
dictСловарь (ключ-значение){key: value}

Примеры конфигурации

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

Важно!

Эти примеры демонстрируют синтаксис и формат записи переменных. Они не являются готовой конфигурацией для установки. Для корректной установки необходимо заполнить все обязательные переменные в соответствии с вашей инфраструктурой. С полным списком переменных можно ознакомиться ниже.

---
# Строка
sage_clan: "msk"

# Целое число
sage_alerts_smtp_port: 587

# Флаг
sage_enable_nginx_aliases: true

# Список строк
sage_remote_datacenters:
- "dc2"
- "dc3"

# Список целых чисел
sage_search_router_cb_break_on_status_codes:
- 500
- 502
- 503
Примечание

При редактировании файла sage.yml соблюдайте отступы. YAML чувствителен к отступам, и неправильное форматирование может привести к ошибкам при установке.

Переменные конфигурации

В этом разделе приведены доступные для конфигурации переменные. Некоторые из них обязательны — без них установка невозможна. Остальные являются опциональными, и вы можете изменить их по необходимости.

Обязательные переменные

Следующие переменные обязательны и должны быть определены:

Название переменнойТипОписание
sage_admin_passwordstrПароль администратора приложения.
sage_external_domainstrВнешний домен для доступа к Sage.
sage_certificate_sourcestrИсточник сертификатов. Разрешенные значения: external, self-signed
sage_clanstrИдентификатор клана.
sage_envstrНазвание окружения (например, dev, staging, prod).
sage_datacenterstrНазвание дата-центра.

Опциональные переменные

Следующие переменные не обязательны для базовой установки и служат для настройки дополнительных функций:

Название переменнойТипОписаниеЗначение по умолчанию
sage_remote_datacenterslistСписок удаленных дата-центров.[]
sage_additional_providerslistДополнительные провайдеры, которые будут использоваться.[]
sage_auth_providerstrПровайдер аутентификации, который будет использоваться.keycloak
sage_keycloak_userslistСписок пользователей Keycloak.[]
sage_alerts_smtp_loginstrЛогин SMTP для уведомлений об алертах.
sage_alerts_smtp_passwordstrПароль SMTP для уведомлений об алертах.
sage_alerts_smtp_fromstrEmail-адрес, используемый для отправки уведомлений об алертах.pager_bot@localhost
sage_alerts_smtp_hoststrХост SMTP-сервера для отправки уведомлений.localhost
sage_alerts_smtp_portstrПорт SMTP-сервера.25
sage_alerts_smtp_need_authboolТребуется ли аутентификация для SMTP.False
sage_alerts_smtp_ssl_optionsstrПараметры SSL/TLS для SMTP.StartTlsWhenAvailable
sage_ldap_svc_usernamestrИмя пользователя LDAP-учетной записи службы.
sage_ldap_svc_passwordstrПароль LDAP-учетной записи службы.
sage_admin_userstrИмя администратора.admin
sage_search_router_cb_minimum_throughputintМинимальное количество запросов, необходимое для включения/отключения circuit breaker100
sage_search_router_cb_sampling_durationstrПродолжительность сэмплирования для circuit breaker00:00:30
sage_search_router_cb_break_durationstrПродолжительность, в течение которой circuit breaker будет отключён00:00:05
sage_search_router_cb_break_on_status_codeslistСтатус-коды, при которых circuit breaker будет отключён[503]
sage_search_router_cb_failure_ratiofloatПроцент ошибок, при которых circuit breaker будет отключён0.1
sage_alerts_escalation_webhook_secret_storagestrТип хранилища секретов вебхуков. Разрешенные значения: LocalAes, NoneNone
sage_alerts_webhook_keystrКлюч для шифрования вебхуков
sage_spirit_external_domainstrДомен Spirit
sage_iam_client_idstrClient ID для аутентификации в Spirit IAM
sage_iam_client_secretstrClient Secret для аутентификации в Spirit IAM
sage_spirit_oidc_providerslistСписок сторонних OIDC провайдеров для Spirit
sage_oidc_providerstrOIDC провайдер для аутентификации в Sagekeycloak
sage_spirit_login_webhookslistСписок вебхуков, которые срабатывают при входе пользователя в Spirit[]
sage_spirit_registration_webhookslistСписок вебхуков, которые срабатывают при регистрации пользователя в Spirit[]
sage_alerts_email_enabledboolВключение healthcheck-а email сервера для отправки алертовTrue
sage_metrics_allow_client_metricsboolФлаг позволяет в пользовательском коде алерта передавать статусы таймсерий алерта, и тем самым мы пишем метрики ALERTS, ALERTS_FOR_STATE и пушим их в Sage. Эти метрики необходимы для поддержки обратной совместимости дашбордов Grafana.False
sage_internal_subdomainstrОбщий поддомен компонент при внутреннем взаимодействииinternal.
sage_tracing_auth_requiredboolТребуется ли аутентификация для приема трассировокFalse
sage_enable_nginx_aliasesboolКомпоненты Sage начинают взаимодействовать с Nginx через алиасы в docker сетиFalse
sage_nginx_enable_proxy_protocolboolВключение поддержки proxy protocol для NginxFalse
sage_search_masking_groupslistГруппы к которым применяется маскирование[]
sage_search_masking_regexeslistРегулярные выражения для маскирования. Формат: [{"name": "Test", "pattern": ""\\b[A-Z][a-z]+\\b""}][]
sage_celestia_masking_settings_basemaskstrСтрока, содержащая подлежащие замене паттерны
sage_logs_auth_enabledboolВключить аутентификацию для записи логовFalse
sage_kafka_versionstrВыбор раскатывания новой и старой версии Kafkaupgrade
sage_kafka_version_rollbackboolФлаг для роллбэка версии Kafka в ходе ее обновления
sage_service_map_pgsql_sslmodestrТип подключения Service Map к PostgreSQL
sage_vector_export_logs_endpoint_uristrURI эндпоинта для отправки отфильтрованных логов
sage_vector_export_logs_endpoint_auth_headerstrЗаголовок авторизации для эндпоинта
sage_vector_export_logs_batch_timeout_secsintТаймаут батча в секундах1
sage_vector_export_logs_batch_max_eventsintМаксимальное количество событий в батче100
sage_vector_export_logs_batch_max_bytesintМаксимальный размер батча в байтах1048576
sage_vector_export_logs_retry_max_duration_secsintМаксимальная длительность retry в секундах30
sage_vector_export_logs_retry_initial_backoff_secsintНачальная задержка retry в секундах1
sage_vector_export_logs_custom_headersdictКастомные заголовки для HTTP endpoint{}
sage_vector_export_logs_groupslistСписок групп логов для чтения с фильтрами[]
sage_metric_retention_stsstrПериод хранения данных стандартного кластера VictoriaMetrics30d
sage_metric_retention_ltsstrПериод хранения данных долгосрочного кластера VictoriaMetrics1y
sage_images_sourcedictИсточник образов для Sage-компонентов.{'path': 'cr.yandex:443/crp9e7v1gtl8rlvmji4q', 'username': 'json_key', 'password': ''}
sage_crosscluster_jwt_keyslistСписок JWT-ключей для межкластерного взаимодействия.[]
sage_keycloak_oauth__clientsecretstrClient Secret для OAuth-аутентификации в Keycloak.
sage_anomaly_caches_max_alerts_countintОжидаемое максимальное количество алертов в системе, обрабатываемых Anomaly Analyzer1000
sage_anomaly_caches_max_series_countintОжидаемое максимальное количество временных рядов в системе, обрабатываемых Anomaly Analyzer10000
sage_anomaly_postgres_passwordstrПароль для подключения к PostgreSQL базе Anomaly Analyzer
sage_anomaly_topic_partition_numberintКоличество партиций для топиков anomaly-analyzer3
sage_celestia_blocklistlistСписок заблокированных запросов для Celestia[]
sage_limits_overridedictПереопределение лимитов для контейнеров Sage{}
sage_elastic_write_queue_sizeintРазмер Elasticsearch очереди для write (index, delete, update, bulk) пула потоков200
sage_kafka_retention_bytesintМаксимальный размер файла журнала Kafka перед его удалением10737418240
sage_kafka_retention_hoursintКоличество часов хранения файла журнала Kafka перед его удалением (в часах)24
sage_luna_ssh_usernamestrИмя пользователя SSH для Luna (используется для подключения к серверам с Grafana)ubuntu
sage_frost_rw_kafka_compressionstrТип сжатия для Kafka клиентаnone
sage_frost_rw_kafka_lingerintЗадержка отправки для frost_remote_write Kafka клиента (мс)0
sage_metrics_mirror_write_endpointstrEndpoint куда будут зеркалироваться метрики
sage_notifier_channels_email_enabledboolВключение канала доставки Email для отправки алертов Sage NotifierFalse