Часто задаваемые вопросы (FAQ)
Этот раздел содержит ответы на часто задаваемые вопросы по установке и настройке Sage.
Полная переустановка
Q: Как полностью удалить Sage для последующей переустановки?
Для полного удаления Sage выполните процедуру, описанную в разделе Полное удаление Sage.
Краткая инструкция:
- Выполните
wipeв контейнере установщика - Удалите сертификаты:
rm -rf ~/ansible/files/certificates/* - Удалите файлы клана:
rm -rf group_vars/sage/иrm -f secrets*.ignore.yml - Перезапустите Docker на всех серверах:
sudo systemctl restart docker - Начните установку заново с
checkиpreinstall
Работа с контейнером установщика
Q: Как вернуться в контейнер установщика?
Выполните команду sudo docker ps -a: если контейнер не находится в состоянии RUNNING, выполните команду sudo docker start sage-trukk-${SAGE_VERSION}. Для подключения к контейнеру далее выполните команду sudo docker attach sage-trukk-${SAGE_VERSION}.
Q: Можно ли использовать авторизацию SSH по паролю?
Да, если SSH-доступ к хостам осуществляется по паролю (без ключей), то его нужно передать в контейнер при старте.
Запустите контейнер со следующими аргументами:
sudo docker run -it --name sage-trukk-${SAGE_VERSION} --pull always --network host \
-v "${PWD}/certificates:/home/trukker/ansible/files/certificates:rw" \
-v "${PWD}/step:/home/trukker/ansible/files/step:rw" \
-v "${PWD}/clans:/home/trukker/ansible/clans:rw" \
-v "${PWD}/.ara:/home/trukker/.ara:rw" \
-v "${PWD}/sage-ssh:/home/trukker/.ssh:rw" \
-v "${PWD}/license:/home/trukker/ansible/files/licenses:rw" \
-v "${PWD}/key.json:/home/trukker/ansible/files/key.json:rw" \
-v "${PWD}/spirit/kratos:/home/trukker/ansible/files/spirit/kratos:rw" \
-e 'ANSIBLE_REMOTE_USER=<SSH логин для всех хостов>' \
cr.yandex/crp9e7v1gtl8rlvmji4q/sage-trukk-example:release-${SAGE_VERSION} bash
Внутри контейнера добавьте поле с SSH-паролем в файл clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/_secrets.yml:
ansible_password: my_password
Хранение данных и ретеншн
Q: Как указать директории для хранения данных на хостах?
Директории, где хранятся данные, описываются переменными data_dirs и data_dirs_defaults. Для переопределения значений по умолчанию используется переменная data_dirs_override.
- Необходимо указать директории хранилищ данных компонент Sage, в случае если они отличаются от значений по умолчанию (приведены ниже).
- Директории не должны содержать никаких данных перед установкой (включая скрытые/системные файлы).
- Разделы, содержащие хранилища данных, должны быть предварительно настроены в ОС и смонтированы в постоянном режиме (fstab).
- Для разделов, содержащих хранилища данных, рекомендуется использовать файловую систему xfs со следующими опциями монтирования:
- defaults,
- noatime.
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/_volumes.yml:
data_dirs_override:
clickhouse: /srv/clickhouse
docker: /srv/docker
docs: /srv/docs
opensearch_cluster_manager: /srv/opensearch-data
opensearch_data_hot: /srv/opensearch-data
opensearch_data_warm: /srv/opensearch-data
opensearch_single_node: /srv/opensearch-data
opensearch_proxy: /srv/opensearch-data/proxy
opensearch_proxy_single_node: /srv/opensearch-data/proxy
kafka: /srv/kafka
postgres: /srv/postgres
redis: /srv/redis
redpanda_console: /srv/redpanda_console
registry: /srv/registry
sage_apps: /srv/sage
vmbackup: /srv/victoriametrics_backup
vmrestore: /srv/victoriametrics_backup
vmstorage: /srv/victoriametrics_storage
Q: Как настроить теплое хранилище логов?
Чтобы использовать теплое хранилище логов, добавьте в инвентарь группу opensearch_data_warm и укажите время жизни данных (в часах) в горячем хранилище. После истечения заданного периода данные будут мигрированы в теплое хранилище (при условии, что индекс корректно создался).
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/hosts.yml:
opensearch_data_warm:
hosts:
es-[3:5].example.com:
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/luna.yml:
elastic_hot_storage: 48
Q: Как указать длительность хранения данных на Kafka?
Укажите политики хранения данных для Kafka в файле clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/kafka.yml. Например:
kafka_retention_bytes: "{{ '5G' | human_to_bytes }}"
kafka_retention_hours: 24
Примечание: При указании времени хранения учитывайте, что политика хранения задается для партиции, а не для топиков. Количество партиций по умолчанию равно количеству Furry-хостов, указать иное значение параметра невозможно.
По умолчанию фактор репликации равен количеству Kafka-хостов (параметр не может быть изменен).
Q: Как указать длительность хранения данных Opensearch?
Время хранения данных задается в настройках каждой из групп. Также можно ограничить общие допустимые политики хранения данных для Opensearch в файле clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/luna.yml. Например:
custom_luna_jobs_settings:
Elastic:
IlmRolloverService:
MinRetentionInDays: 7
MaxRetentionInDays: 14
ShardSizeForRollingInGb: 20
Расширенные параметры ротации индексов:
MinRetentionInDays- минимально возможный интервал ротации индексов в днях (например, если период хранения логов для группы равен 3 дням, то ротация будет выполняться каждые 7 дней, т.е. будем хранить логи 7 дней вместо 3 и создадим 1 индекс);MaxRetentionInDays- максимально возможный интервал ротации индексов в днях (например, если период хранения логов для группы равен 30 дней, то ротация будет выполняться каждые 14 дней, т.е. будем хранить логи 42 дня вместо 30 и создадим 3 индекса);ShardSizeForRollingInGb- требуемый средний размер всех шардов индекса для выполнения ротации.
Если индекс не попадает ни под одно из условий, ротация выполняется по истечении периода хранения логов для группы. После ротации индексы, которые вышли за период хранения логов для группы, удаляются.