Мониторинг ресурсов в консоли для обычного пользователя


Softovick

Столкнулся я в свое работе, что понадобилось мне выводить в консоли некоторые характеристики системы для отслеживания нагрузки и не только. Конечно, для этих целей можно использовать, например, Conky. Я же подскажу, как выводить некую информацию о нагрузке в чистой консоли. Иногда такие утилиты очень помогают.

Сводная информация о нагрузке
Чтобы посмотреть нагрузку на систему и некоторые другие параметры, например, время после загрузки, количество памяти и др, я использую утилиту под названием htop. Поставить ее можно при помощи команды sudo aptitude install htop
Выглядит она так
Таким образом достаточно наглядно можно увидеть нагрузку на процессор, количество потребляемой памяти, просмотреть и управлять списком запущенных задач и т.п. При этом утилита потребляет гораздо меньше ресурсов, чем стандартная утилита «Системный монитор».

Монитор сети
Единственное, что не хватило мне в htop — это монитор сетевой активности. Путем недолгих поисков я нашел, на мой взгляд, отличную утилиту под названием nload.
Ставится она также просто, командой sudo aptitude install nload
Настраивать особо не нужно, достаточно запустить nload и увидеть…

Как видите, достаточно наглядно показана динамика сетевой нагрузки, текущая скорость, среднее значение и минимум/максимум, а также общее количество байтов, переданных через сетевую карту. В принципе этого обычно достаточно, но можно посмотреть настройки по латинской букве O, где можно настроить интервал обновления, краевые значение на графике исходящего и входящего графика.

Скрипт для проверки почты
И наконец, еще один простой способ для оповещения в консоли о пришедших письмах. Для этого мне понадобилось написать простой скрипт на языке Python (сразу скажу, я его где-то в интернете нашел, авторство не мое).
Выглядит скрипт вот так

#!/usr/bin/python
import imaplib
USER="E-Mail"
PASS="Password"
SERVER="imap.gmail.com"
def check_ssl_imap_mail(server, user, passwd):
mail=imaplib.IMAP4_SSL(server)
mail.login(user, passwd)
mail.select()
return len( mail.search(None, 'UNSEEN')[1][0].split() )
print 'My mail - unread messages'
print check_ssl_imap_mail(SERVER, USER, PASS)

В моем случае проверка идет из ящика на GMail, теоретически может сработать на любом почтовом сервисе, поддерживающим IMAP. Не забываем сделать файл со скриптом доступным для выполнения.
Чтобы выводить информацию с периодической проверкой, я использую утилиту watch. Таким образом, для проверки почты раз в 30 сек. я запускаю в консоли команду watch -n 30 ./scriptcheckgmail.sh
Выглядит это примерно так
Естественно, следует учесть, что частый опрос почтового ящика может блокироваться сервисом, соответственно выбирайте оптимально минимальное время опроса. На мой взгляд, это в районе 30 — 60 секунд, не чаще.

UPD: специально для тех, у кого скрипт выдает ошибку, закачал пример на Pastebin.ubuntu.com

10 комментариев для “Мониторинг ресурсов в консоли для обычного пользователя”

  1. xip26 декабря 2010 ~ 16:23

    Для скрипта выдается ошибка, проверьте табуляции

  2. eigenein26 декабря 2010 ~ 16:31

    Благодарю, замечательные утилы! 🙂

  3. Softovick26 декабря 2010 ~ 18:45

    2xip — закатал пример на pastebin http://pastebin.ubuntu.com/547737/ , берите оттуда

  4. bvf26 декабря 2010 ~ 20:30

    htop классная утилита, спасибо за наводку. А сетевой мониторинг никакой… netstat -a выдает гораздо полезнее информацию.

  5. Михаил26 декабря 2010 ~ 20:45

    если вы знаете питон, можно в скрипт добавить звуковое оповещение? что бы не просто текст выводило? а проигрывало определенный файл

  6. Сергей28 декабря 2010 ~ 00:22

    Чтоб проигрывало звуковой файл (на том же десктопе где запущен скрипт) можно что то типа
    в начале того скрипта (перед определением функции check_ssl_imap_mail)

    import pygst
    pygst.require(«0.10»)
    import gst

    player=gst.el
    player=gst.element_factory_make(«playbin», «player»)
    player.set_property(«uri», «file:///home/seriy/file.mp3»)

    а уже в самой функции строку
    player.set_state(gst.STATE_PLAYING)

  7. vadim-nsk23 января 2011 ~ 21:12

    если нравится htop , то почему не смотреть iptraf за трафиком на интерфейсах? tcpdump, tshark кстати более полезны, например: wireshark запущенный на десктопе очень даже хорошо собирает информацию с сервера с их помощью. с почтой как то не очень хороший пример.

  8. Hariec16 февраля 2011 ~ 04:54

    Супер. как сделать чтобы смотрел не каждые 30-60 сек. а через 10 минут один раз например?

  9. Александр6 марта 2014 ~ 13:35

    В качестве монитора сети мне больше нравится nethogs он показывает какой процесс на сколько грузит сеть.

  10. multed4 декабря 2014 ~ 14:31

    а как же старый добрый atop? он еще и собирает статистику в бинарный формат.

Ваш комментарий

*