Рейтинг:0

Как избежать потери данных при ротации логов в linux/kubernetes?

флаг in

Краткий
Мы запускаем наши рабочие нагрузки в kubernetes на AWS EKS. Все наши приложения пишут логи в /var/журнал/app_logs каталог с использованием путь к хосту. (да, это не лучшая практика, это связано с устаревшей кодовой базой, в конечном итоге мы хотим перейти на STDOUT).

Проблемы, с которыми мы сталкиваемся:

  1. Мы полагаемся на почасовую logrotate вращать файлы под /var/журнал/app_logs
  2. Во время почасовой границы мы склонны терять логлайны
  3. При расследовании кажется, что копироватьусечение создает этот datalos
  4. Похоже, что приложение не может записывать в файл журнала во время ротации журнала, и мы теряем эти журналы во время ротации.
  5. Поскольку эти службы работают в кубернет контейнеры/капсулы, мы не сможем использовать останавливаться оказание услуг, вращать и Начало сервисный подход.

Рабочие узлы EKS запущены Амазон Линукс (центос).

logrotate.conf мы используем:

"/var/log/app_logs/*.log" {
  создать 664 фу фу
  ежедневно
  отсутствует
  копироватьусечение
  повернуть 7
  компресс
  задержка сжатия
  непустой
  общие скрипты
  постротировать
    /bin/bash /opt/scripts/upload-logs.sh
  эндскрипт
  }

Можем ли мы что-нибудь сделать, чтобы избежать этой потери данных, настроив logrotate конфигурация? или есть ли какие-либо аналогичные инструменты, которые решают эту проблему в средах на основе kubernetes.

user9517 avatar
флаг cn
https://serverfault.com/questions/189477/rotate-logs-of-a-dumb-non-interactive-application/189880#189880
dm90 avatar
флаг in
@ user9517 Спасибо за ответ! Но проблема в этой (нашей) установке в том, что у нас нет всего пары процессов на Linux-сервере. Все эти журналы взяты из модулей kubernetes.Возможно, мы не сможем отправить сигнал об уничтожении в модуль, и в этом случае это усложнит задачу, убив модуль, и в конечном итоге он будет перенесен на другое место.

Ответить или комментировать

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