Назад | Перейти на главную страницу

Мониторинг рабочих apache, которые прекращаются oomkiller (kubernetes)

У меня есть докер-контейнер на основе php: 7.2-apache-stretch работает в кубернетах / ранчо. Текущий предел памяти k8s слишком мал, поэтому пользователи получают ошибки и усекаются страницы, когда рабочие процессы перестают работать. Поскольку родительский процесс httpd не убивается, мой контейнер не умирает и не перезапускается, для чего я хотел бы увидеть журналы. Я также был удивлен, что не увидел никаких журналов в stdout / stderr контейнера, когда эти процессы прекращаются.

Перед тем, как поднять предел оперативной памяти до более разумного значения, я надеялся понять, как построить ведение журнала / оповещение об этом условии.

Существуют ли стандарты / лучшие практики для мониторинга / предупреждения об этих событиях памяти?

Возможные варианты, которые я рассмотрел, но пока не смог выяснить:

  1. Настройте k8s / rancher, чтобы где-то регистрировать события oom-killer (или узнавать, где они)
  2. Настройте родительский процесс Apache на смерть, если рабочий был убит oomkiller
  3. Настройте Apache для регистрации в stderr, когда рабочий процесс убит.
  4. Настроить Apache для работы с одним процессом? Возможно, конфигурация apache mpm по умолчанию не идеальна для контейнеризации.
  5. Переключиться на другой веб-сервер?
  6. Другие идеи?