Как отслеживать использование ЦП в Linux с течением времени — CloudSavvy IT

верхняя утилита, отображающая текущее использование ЦП для каждого запущенного процесса

Верхняя утилита отображает текущее использование ЦП для каждого запущенного процесса, но что, если вы хотите отслеживать это с течением времени и отображать это на графике? Для этого есть несколько утилит, если у вашего облачного провайдера их еще нет.

В качестве примечания: если она еще не установлена, утилита htop (на фото выше) намного удобнее в использовании, чем по умолчанию.

Тривиальное решение: используйте графики своего облачного провайдера

Это решение, безусловно, самое простое в использовании, но оно будет доступно не всем. Если вы используете AWS, CloudWatch упрощает мониторинг использования ЦП.

От Консоль управления CloudWatch, вы выбираете «Метрики», а затем просматриваете метрики для EC2. Метрика «CPUUtilization» отображает среднюю загрузку ЦП:

В консоли управления CloudWatch выберите "Метрики" а затем просмотрите показатели для EC2.

Средняя загрузка ЦП измеряется с шагом 5 минут, но вы можете включить расширенный мониторинг для экземпляра и увеличить его до 1 минуты. Однако это требует дополнительных затрат. Вы также можете легко установить будильник, когда загрузка ЦП станет слишком высокой.

Если вы используете Google Cloud Platform, при выборе экземпляра на вкладке «Мониторинг» появляется график.

График, который отображается на Google Cloud Platform под "Мониторинг" вкладка при выборе экземпляра.

Azure имеет Azure Monitor, который отображает аналогичную информацию:

Azure Monitor отображает информацию, аналогичную Google Cloud Platform.

У большинства других облачных провайдеров такой график, скорее всего, тоже будет.

Использование / proc / loadavg

Лучший способ сделать это изначально — посмотреть, откуда top получает информацию. / proc / loadavg содержит средние значения за 1, 5 и 15 минут. Вы можете войти с кошкой
cat / proc / loadavg / 1,71 1,32 1,38 2/97 6429
Вы можете использовать это, чтобы сгенерировать график, распечатав каждую строку в CSV-файл с разделителями-запятыми, используя некую магию awk:
cat / proc / loadavg | awk ‘{print $ 1 «,» $ 2 «,» $ 3}’ >> cpu.csv
Подключите это к заданию cron, выполняющемуся каждую минуту, ротации журналов с помощью logrotate, и вы получите монитор процессора с жесткой настройкой. Вы можете импортировать CSV-файл в Excel, где будет легко изобразить среднюю загрузку ЦП на линейной диаграмме.

Обратите внимание, что приведенная выше команда печатает средние значения за 1, 5 и 15 минут. Если вы запускаете его каждую минуту, на самом деле нет необходимости печатать 5- и 15-минутные средние значения, потому что вы можете вычислить это с помощью вычислений.

Установить sysstat

Утилита sar отлично подходит для мониторинга производительности системы. Он включен как часть sysstat, который, вероятно, не установлен по умолчанию в вашей системе. Вам нужно будет получить его из диспетчера пакетов вашего дистрибутива. Для систем на основе Debian, таких как Ubuntu, это будет:
sudo apt-get install sysstat
Затем включите его, отредактировав / etc / default / sysstat и установив для параметра «ENABLED» значение true.

Это позволяет контролировать вашу систему и генерировать отчет каждые 10 минут, меняя их через неделю. Вы можете изменить это поведение, отредактировав sysstat crontab в /etc/cron.d/sysstat или изменив параметры вращения в настройках sysstat в / etc / sysstat / sysstat.

Вы можете создать отчет в реальном времени с помощью следующей команды:
sar -u 1 3
sysstat будет собирать данные об использовании ЦП в фоновом режиме каждую минуту, сохраняя их в / var / log / sysstat /. Затем вы можете импортировать эти данные для анализа, используя программу для работы с электронными таблицами или специальный инструмент, например сарграф, который отображает красивую диаграмму:

sargraph отображает диаграмму использования ЦП.

Вы также можете использовать утилиты командной строки для построения подобных графиков, например ttyplot, но ни один из них не может быть таким простым в использовании (и таким красивым), как графический интерфейс. Командная строка здесь лучше — диаграммы лучше.

Monit может предупредить вас, если загрузка процессора слишком высока

Логотип Monit

Monit — это пакет мониторинга с открытым исходным кодом для Unix, который проверяет состояние вашего сервера и может быть настроен для отправки вам уведомлений, если загрузка ЦП вашего сервера становится опасно высокой. Прочтите наше руководство по настройке, чтобы узнать больше.

Обратите внимание, что CloudWatch сразу же добивается того же с помощью предупреждений и может работать с несколькими различными метриками, а не только с использованием ЦП.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *