Flight recorder
Пример на GitHub: flightrec
Flight recorder – это инструмент сбора событий, который собирает различную информацию о работающем экземпляре Tarantool:
- Журналы.
- Метрики.
- Запросы и ответы.
Эта информация помогает при расследовании инцидентов, связанных с аварийным завершением экземпляра Tarantool.
Flight recorder отключен по умолчанию и может быть включен и настроен для конкретного экземпляра Tarantool.
Чтобы включить flight recorder, установите параметр
flightrec.enabled в значение
true.
/code_snippets/snippets/config/instances.enabled/flightrec/config.yaml
После установки параметра flightrec.enabled в значение true начинается сбор данных в файл current.ttfr. Этот файл хранится в
каталоге snapshot.dir. По умолчанию
путь к файлу – var/lib/{{ instance_name }}/<file_name>.ttfr.
Если экземпляр аварийно завершает работу и перезагружается, выполнится ротация записей flight recorder: current.ttfr
переименовывается в <timestamp>.ttfr (например, 20230411T050721.ttfr), и для сбора данных создается новый файл
current.ttfr. При корректном завершении работы (например, с помощью os.exit()) после перезапуска запись продолжается в
существующий файл current.ttfr.
Когда flight recorder включен, можно задать параметры, связанные с журналированием, метриками и хранением данных запросов и ответов.
Конфигурация flightrec может выглядеть следующим образом:
/code_snippets/snippets/config/instances.enabled/flightrec/config.yaml
В примере заданы следующие параметры:
- flightrec.logs_size, определяющий размер хранилища журналов в байтах.
- flightrec.logs_log_level, определяющий уровень журналирования.
- flightrec.metrics_period, определяющий количество секунд хранения метрик после дампа.
- flightrec.metrics_interval, определяющий периодичность дампов метрик в секундах.
- flightrec.requests_size, определяющий размер хранилища данных запросов и ответов в байтах.
Подробнее см. в Параметрах конфигурации flight recorder.