Glances — инструмент мониторинга системы в реальном времени (аналог top/htop)

Thank you for reading this post, don't forget to subscribe!

top — это дис­пет­чер задач в Linux. top наи­бо­лее часто исполь­зу­е­мый инстру­мент мони­то­рин­га систе­мы в дис­три­бу­ти­вах GNU/Linux для поис­ка узких мест свя­зан­ных с про­из­во­ди­тель­но­стью в систе­ме. Эти инстру­мен­ты помо­га­ют нам пред­при­ни­мать кор­рек­ти­ру­ю­щие дей­ствия. top име­ет при­ят­ный мини­ма­лист­ский интер­фейс, постав­ля­ет­ся с неболь­шим коли­че­ством опций, кото­рые поз­во­ля­ют нам быст­рее полу­чить луч­шее пред­став­ле­ние об общей про­из­во­ди­тель­но­сти системы.

Одна­ко ино­гда очень слож­но най­ти приложение/процесс, кото­рый потреб­ля­ет мно­го систем­ных ресур­сов, так как коман­да top не име­ет воз­мож­но­сти выде­лять про­грам­мы, кото­рые потреб­ля­ют слиш­ком мно­го ресур­сов про­цес­со­ра, опе­ра­тив­ной памя­ти и дру­гих ресурсов.

Для сохра­не­ния тако­го под­хо­да мы пред­ла­га­ем мощ­ную про­грам­му мони­то­рин­га систе­мы под назва­ни­ем Glances, кото­рая авто­ма­ти­че­ски выде­ля­ет про­грам­мы, кото­рые исполь­зу­ют самые высо­кие систем­ные ресур­сы и предо­став­ля­ют мак­си­мум инфор­ма­ции о сер­ве­ре Linux/Unix.

Что такое Glances?

Glances — это крос­сплат­фор­мен­ный инстру­мент для мони­то­рин­га систе­мы на осно­ве команд­ной стро­ки, напи­сан­ный на язы­ке Python, исполь­зу­ю­щий биб­лио­те­ку psutil для полу­че­ния инфор­ма­ции из систе­мы. С Glance мы можем отсле­жи­вать исполь­зо­ва­ние про­цес­со­ра, сред­ней нагруз­ки, памя­ти, сете­вых интер­фей­сов, дис­ко­во­го вво­да-выво­да, про­цес­сов и исполь­зо­ва­ния фай­ло­вой системы.

Glances — это бес­плат­ный инстру­мент, лицен­зи­ро­ван­ный под GPL для мони­то­рин­га опе­ра­ци­он­ных систем GNU/Linux и FreeBSD. В Glances так­же есть мно­го инте­рес­ных опций. Одной из основ­ных функ­ций, явля­ет­ся то, что мы можем уста­но­вить поро­го­вые зна­че­ния (осто­рож­ные, пре­ду­пре­жда­ю­щие и кри­ти­че­ские) в фай­ле кон­фи­гу­ра­ции, и инфор­ма­ция будет отоб­ра­жать­ся в цве­тах, кото­рые ука­зы­ва­ют на узкое место в системе.

Особенности Glances
  • Инфор­ма­ция о про­цес­со­ре (поль­зо­ва­тель­ские при­ло­же­ния, систем­ные про­грам­мы и неза­ня­тые программы).
  • Общая инфор­ма­ция о памя­ти, вклю­чая RAM, Swap, Free memory и т. д.
  • Сред­няя загруз­ка про­цес­со­ра за послед­ние 1, 5 и 15 минут.
  • Ско­рость загрузки/выгрузки по сети.
  • Общее коли­че­ство про­цес­сов, актив­ных и спя­щих про­цес­сов и т. д.
  • Инфор­ма­ция о ско­ро­сти дис­ко­во­го ввода/вывода (чте­ние или запись)
  • Под­клю­чен­ные устрой­ства исполь­зу­ю­щие диск в насто­я­щее время.
  • top-повые про­цес­сы с исполь­зо­ва­ни­ем ЦП/памяти, име­на­ми и место­по­ло­же­ни­ем приложения.
  • Пока­зы­ва­ет теку­щую дату и вре­мя внизу.
  • Под­све­чи­ва­ет про­цесс, кото­рый потреб­ля­ет мак­си­маль­ные систем­ные ресур­сы крас­ным цветом.

Вот при­мер скрин­шо­та Glances.

Установка Glances в Linux/Unix системах

Вы може­те уста­но­вить Glances в систе­мах на базе Red Hat, вклю­чив репо­зи­то­рий EPEL, а затем запу­стив сле­ду­ю­щую коман­ду в терминале.

На RHEL/CentOS/Fedora

В Debian/Ubuntu/Linux Mint

Использование Glances

Для нача­ла выпол­ни­те базо­вый син­так­сис на терминале.

Нажми­те ‘q‘ (ESC или Ctrl+C так­же рабо­та­ет), что­бы вый­ти из тер­ми­на­ла Glances. Вот еще один сни­мок экра­на, взя­тый из систе­мы CentOS 6.5.

По умол­ча­нию интер­вал вре­ме­ни равен ‘1‘ секун­де. Но вы може­те опре­де­лить поль­зо­ва­тель­ский интер­вал вре­ме­ни при запус­ке взгля­дов из терминала.

Цветовые коды Glances

Зна­че­ние кода цве­та Glances:

  • ЗЕЛЕНАЯ: ОК (все впорядке);
  • СИНИЙ: ОСТОРОЖНО (нуж­но внимание);
  • ФИОЛЕТОВЫЙ: ВНИМАНИЕ (опо­ве­ще­ние);
  • КРАСНЫЙ: КРИТИЧЕСКИЙ (кри­ти­че­ский);

Мы можем уста­но­вить поро­ги в кон­фи­гу­ра­ци­он­ном фай­ле. По умол­ча­нию зада­ны поро­го­вые зна­че­ния (осто­рож­но = 50, пре­ду­пре­жде­ние = 70 и кри­ти­че­ское = 90), кото­рые мы можем настро­ить в соот­вет­ствии с наши­ми потреб­но­стя­ми. Файл кон­фи­гу­ра­ции по умол­ча­нию нахо­дит­ся по адре­су /etc/glances/glances.conf.

Варианты отображения

Кро­ме того, несколь­ко пара­мет­ров команд­ной стро­ки, glances предо­став­ля­ет гораз­до боль­ше горя­чих кла­виш для поис­ка инфор­ма­ции во вре­мя рабо­ты. Ниже при­ве­ден спи­сок несколь­ких горя­чих клавиш.

a — сор­ти­ро­вать про­цес­сы автоматически;
c -сор­ти­ро­вать про­цес­сы по CPU%;
m — сор­ти­ров­ка про­цес­сов по MEM%;
p — сор­ти­ров­ка про­цес­сов по имени;
i — сор­ти­ров­ка про­цес­сов по ско­ро­сти ввода/вывода;
d — показать/скрыть ста­ти­сти­ку дис­ко­во­го ввода-вывода;
f — показать/скрыть ста­ти­сти­ку дирек­то­рий и файлов
n — показать/скрыть сете­вую статистику
s — показать/скрыть ста­ти­сти­ку датчиков
y — показать/скрыть ста­ти­сти­ку hddtemp
l — показать/скрыть логи
б — бай­ты или биты для сете­вых входов/выходов
w — уда­лить жур­на­лы предупреждений
x — уда­лить пре­ду­пре­жде­ния и кри­ти­че­ские журналы
1 — общая ста­ти­сти­ка ЦП
h — показать/скрыть этот экран справки
t — про­смотр сете­во­го вво­да-выво­да как комбинации
u — про­смот­реть сово­куп­ный сете­вой ввод/вывод
q — вый­ти (Esc и Ctrl-C тоже работают)

Используйте Glances на удаленных системах

С Glances вы так­же може­те кон­тро­ли­ро­вать уда­лен­ные систе­мы. Что­бы исполь­зо­вать «glances» в уда­лен­ных систе­мах, выпол­ни­те коман­ду glances -s (-s для режи­ма сервер/клиент) на сервере.

При­ме­ча­ние. После того, как вы вве­де­те коман­ду «glances», вам будет пред­ло­же­но ука­зать пароль для сер­ве­ра Glances. Опре­де­ли­те пароль и нажми­те Enter, вы уви­ди­те запуск glances на порт 61209.

Теперь перей­ди­те на уда­лен­ный хост и выпол­ни­те сле­ду­ю­щую коман­ду для под­клю­че­ния к сер­ве­ру Glances, ука­зав IP-адрес или имя хоста, как пока­за­но ниже. Здесь  172.16.27.56 IP-адрес мое­го glances сервера.

Ниже при­ве­де­ны несколь­ко замет­ных момен­тов, кото­рые поль­зо­ва­тель дол­жен знать при исполь­зо­ва­нии Glances в режи­ме сервер/клиент.