Шаг 5 из 6 · лаба · 30 мин
Приём событий встал, а перезапускать нельзя
Служба приёма событий под нагрузкой не может сохранить их на свой том и копит в памяти, а перезапуск их потеряет. Верни место на томе без перезапуска и сделай так, чтобы журнал службы больше не съедал том.
Ситуация
Служба lab-ingest принимает события от витрин магазина — по пять в секунду, без перерыва. Принятые события она
держит в памяти и каждые две секунды сохраняет пачкой на свой том /srv/ingest (каталог spool/), а каждое событие
записывает в журнал /srv/ingest/log/ingest.log.
Алерт: curl localhost:8090/healthz отвечает 503, события перестали ложиться на диск и копятся в памяти. Дежурный
до тебя уже «почистил» том, но место так и не появилось.
Перезапускать lab-ingest нельзя: события, которые ждут в памяти, при перезапуске пропадут.
Задача
- На томе
/srv/ingestснова есть место: занято меньше половины. Том тот же — не расширяй его и не подменяй. - Служба работает тем же процессом, что и во время сбоя.
- Приём событий в строю: новые события принимаются (202), очередь из памяти легла на диск.
- Служба пишет журнал в
/srv/ingest/log/ingest.log, и на томе нет удалённых, но открытых файлов. - Журнал больше не съест том: правило logrotate ротирует
ingest.log, как только он больше 10 МиБ, хранит не больше трёх архивов, и после ротации служба без перезапуска пишет в новый файл. logrotate на этой машине запускается каждый час.
Ограничения
lab-ingestиlab-clientsне перезапускай и не останавливай, их программы и юниты не меняй.
Часть фактов видна только через
sudo. Интернета на машине нет.
Лаба · самостоятельно
Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.
Цели
0 из 5-
На томе /srv/ingest снова есть место — занято меньше половины, том прежний — ещё не выполнена
-
Службу lab-ingest не перезапускали — работает тот же процесс, что и во время сбоя — ещё не выполнена
-
Приём событий в строю — события проверки приняты, очередь из памяти легла на диск — ещё не выполнена
-
Служба пишет журнал в /srv/ingest/log/ingest.log, удалённых открытых файлов на томе нет — ещё не выполнена
-
Правило logrotate ротирует ingest.log по размеру (не больше 10 МиБ, не больше 3 архивов), и после ротации служба без перезапуска пишет в новый файл — ещё не выполнена
Машина запускается
Подсказки
0 из 3Цели лабы
0 из 5-
На томе /srv/ingest снова есть место — занято меньше половины, том прежний — ещё не выполнена
-
Службу lab-ingest не перезапускали — работает тот же процесс, что и во время сбоя — ещё не выполнена
-
Приём событий в строю — события проверки приняты, очередь из памяти легла на диск — ещё не выполнена
-
Служба пишет журнал в /srv/ingest/log/ingest.log, удалённых открытых файлов на томе нет — ещё не выполнена
-
Правило logrotate ротирует ingest.log по размеру (не больше 10 МиБ, не больше 3 архивов), и после ротации служба без перезапуска пишет в новый файл — ещё не выполнена
Цели проверяются на машине после каждой команды.