Почему загрузка ЦП AWS EC2 мгновенно достигает 100 % из-за IOWait?

У меня есть большое веб-приложение, работающее в AWS с многочисленными экземплярами EC2. Время от времени — примерно два или три раза в неделю — я получаю тревожное уведомление от моей системы мониторинга Sensu, уведомляющее меня о том, что моих экземпляров загрузил ЦП на 100%.

Это уведомление:

CheckCPU TOTAL WARNING: total=100.0 user=0.0 nice=0.0 system=0.0 idle=25.0 iowait=100.0 irq=0.0 softirq=0.0 steal=0.0 guest=0.0

Host: my_host_name
Timestamp: 2016-09-28 13:38:57 +0000
Address: XX.XX.XX.XX
Check Name: check-cpu-usage
Command: /etc/sensu/plugins/check-cpu.rb -w 70 -c 90
Status: 1
Occurrences: 1

Это кажется кратковременным явлением, и процессор возвращается к нормальному уровню в течение нескольких секунд. Так что, похоже, не о чем слишком беспокоиться. Но мне все равно интересно, почему так происходит. Обратите внимание, что ЦП занят 100% IOWaits.

К вашему сведению, система мониторинга Amazon не замечает этот сигнал. См. изображения ниже, показывающие уровни ЦП и ввода-вывода в 13:38.

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

Интересно, что AWS сообщает мне, что этот экземпляр скоро будет удален. Может ли это быть связано?

введите здесь описание изображения


person Saqib Ali    schedule 28.09.2016    source источник


Ответы (2)


AWS отображает только 5-минутный период, и похоже, что ваша проверка ЦП настроена на отправку сигналов тревоги после одного события. Если интервал проверки вашего ЦП составляет менее 5 минут, консоль AWS может увеличивать среднее значение, чтобы скрыть фактический всплеск ЦП.

Я бы рекомендовал сузить консоль мониторинга AWS до меньшего периода, чтобы увидеть, видите ли вы там всплеск.

person vase    schedule 30.09.2016

Я бы добавил это как комментарий, но у меня нет такой репутации.

Я заметил, что мои экземпляры ec2 делают это, но гораздо дольше и после обновления + обновления apt-get. Я понял, что это был Apache, затем начал использовать Nginx в новом экземпляре для тестирования, и он просто сделал это, запустил apt-get несколько часов назад, а затем вернулся, чтобы найти экземпляр, использующий полный процессор - в течение нескольких часов! Хорошо, что это всего лишь тестовая машина, но мне интересно, что не так с ubuntu/apt-get, что может быть причиной этого. С этого момента, я думаю, мне придется перезагрузить машину после apt-get, так как это, кажется, единственный способ вернуть ее в нормальное состояние.

person Edelmar Ziegler    schedule 11.10.2016