мониторинг ООМ с помощью Прометея - PullRequest
0 голосов
/ 03 марта 2020

Я бы хотел использовать Prometheus для отслеживания случаев появления системного убийцы OOM в Debian / Ubuntu. В частном случае Redis иногда прерывается из-за OOM, и уже существующее предупреждение о нехватке доступной памяти не срабатывает, потому что это происходит слишком быстро. Но я хотел бы сделать решение максимально разумным и универсальным, а также не тратить на него много времени, поэтому давайте не будем фокусироваться на самом Redis. У меня есть идеи:

  • использовать существующие метрики Prometheus, связанные с памятью, запускать их только на очень низких значениях (ie. 1% памяти осталось) и на низких значениях for (* 1013). *. 5 секунд) - это решение может работать и его очень просто реализовать, но я считаю, что оно может быть ненадежным (необязательно запускать на всех OOM и только на OOM)
  • периодически создавать скрипт bash для проверки dmesg и создание метрик на основе соответствующих результатов grep - вероятно, сработает, но проблема может заключаться в правильном распознавании сообщений dmesg, уже извлеченных из новых (не оповещать об одном и том же OOM дважды); также это решение не очень изящно
  • создайте собственный экспортер Prometheus - если написанное правильно, вероятно, будет работать, как ожидалось, но создание этого может быть большой работой, которую я хотел бы избежать

Я хотел бы спросить ваши предложения и мнения. Спасибо!

1 Ответ

1 голос
/ 04 марта 2020

node_vmstat_oom_kill metri c от экспортера узлов сообщит вам об этом.

...