Glances

Glances

今天來介紹一個好用的工具,有時候我們在操作一些 Linux 主機,或是像筆者有在 RaspberryPi 架站需要看系統資源的消耗情況。那熟悉 Linux 的人會使用一些像是 top、htop、atop的工具,來看 CPU、Memory 之類的訊息。

什麼是 Glances?

Glances - An Eye on your system
Glances is a cross-platform curses-based system monitoring tool written in Python.

Glances 是一個以 Python 開發,支援 Linux、Windows、Mac OS ,並且提供 CPU、Memory、System Load、Process List、I/O 和 Network 等.......資訊的命令列監控工具。

安裝方式

以下幾種方法任選一種就好

Glances Auto Install script

curl -L https://bit.ly/glances | /bin/bash

Glances Auto Install script

wget -O- https://bit.ly/glances | /bin/bash

PyPI: The simple way

pip install glances

筆者是使用 pip 在 RespberryPi 上安裝,pip 會把可執行文件放到 $HOME/.local/bin 這個目錄下,記得去編輯 $HOME/.bashrc 檔案在檔案末加上以下的內容,才能正常使用。

export PATH=$PATH:$HOME/.local/bin
更多細部的安裝設定可以參考: https://github.com/nicolargo/glances/blob/master/README.rst#installation

使用方式

直接呼叫以下命令

glances

通常畫面上會用顏色標記出需要注意的部分,綠色代表正常、橘色紅色帶表資源緊張需要注意,我想這部分應該很直觀。
在這個畫面上按方向鍵上下可以移動選定的 Process 接著按下 'k' 就可以殺掉他。按方向鍵左右可以切換 Process 的排序。

接著按下 'h' 鍵,會顯示快捷鍵說明,大家可以看自己想要的功能在哪裡

Web 介面

如果你有遠端需要監控你的系統地需求的話,你可以用以下的指令跑起來,Glances 會啟動一個 Server 並且提供一個 Web 介面讓你看。

glances -w

看到這個輸出後,就可以連上你機器的 IP:61208 就可以看到 Web 監控介面。

P.S. 如果是使用 pip 安裝請記得用這個指令裝才能使用 Web 功能:pip install 'glances[web]'

API

啟用 Web 模式之後其實 Glances 就會暴露出 API 讓你可以取得系統資訊,詳細的 API 文件可以參考:https://glances.readthedocs.io/en/latest/api.html

後記

Glances 這套工具我覺得跟一般 top、htop 比起來最吸引我的除了更美觀以及資訊豐富的介面外,還有就是他有提供 API ,這讓我們這些手癢的開發者可以基於他的  API 去做一些二次開發或是串接到其他監控系統例如:Blockbox Exporter 或是 Gatus 我想都是一些可以變化出不同應用的可能性。