多功能 Linux 系統監控工具Glances功能介紹

安全劍客發表於2020-09-22
導讀  上最常用的 行程式監控工具是 top 和它那色彩斑斕、功能豐富的表弟 htop。要監控 Linux 上的溫度,可以使用 lm-sensors。同樣,還有很多實用工具可以監控其他實時指標,如磁碟 I/O、網路統計等。

Glances 是一個系統監控工具,它把這些都聯絡在一起,並提供了更多的功能。我最喜歡的是,你可以在遠端 Linux 伺服器上執行 Glances 來監控本地系統的系統資源,也可以透過 Web 瀏覽器監控。

多功能 Linux 系統監控工具Glances功能介紹多功能 Linux 系統監控工具Glances功能介紹

下面是它的外觀。下面截圖中的終端已經用 Pywal 工具美化過,可以根據桌布自動改變顏色。

多功能 Linux 系統監控工具Glances功能介紹多功能 Linux 系統監控工具Glances功能介紹

你也可以將它整合到像 Grafana 這樣的工具中,在一個直觀的儀表盤中監控統計資料。

它是用 Python 編寫的,這意味著它的絕大多數功能都可以在大多數平臺上使用。

Glances 的功能

多功能 Linux 系統監控工具Glances功能介紹多功能 Linux 系統監控工具Glances功能介紹

Glances Data In Grafana Dashboard

讓我們快速瀏覽一下 Glances 提供的主要功能:

  • 可以監控系統上的 15 個之多的指標(包括 Docker 容器)。
  • 靈活的使用模式:單機模式、客戶端-伺服器模式、透過 SSH 和 Web 模式。
  • 可用於整合的各種 REST API 和 XML-RPC API。
  • 支援將資料輕鬆匯出到不同的服務和資料庫。
  • 高度的可配置性和適應不同的需求。
  • 非常全面的文件。
在 Ubuntu 和其他 Linux 發行版上安裝 Glances

Glances 在許多 Linux 發行版的官方軟體庫中都有。這意味著你可以使用你的發行版的軟體包管理器來輕鬆安裝它。

在基於 Debian/Ubuntu 的發行版上,你可以使用以下 :

sudo apt install glances

你也可以使用 snap 包安裝最新的 Glances:

sudo snap install glances

由於 Glances 是基於 Python 的,你也可以使用 PIP 在大多數 Linux 發行版上安裝它。先安裝 PIP,然後用它來安裝 Glances:

sudo pip3 install glances

如果沒有別的辦法,你還可以使用 Glances 開發者提供的自動安裝 。雖然我們不建議直接在你的系統上隨便執行 ,但這完全取決於你自己:

curl -L | /bin/bash

你可以從他們的文件中檢視其他安裝 Glances 的方法,甚至你還可以把它作為一個 Docker 容器來安裝。

使用 Glances 監控本地系統上的 Linux 系統資源(獨立模式)

你可以透過在終端上執行這個命令,輕鬆啟動 Glances 來監控你的本地機器:

glances

你可以立即觀察到,它將很多不同的資訊整合在一個螢幕上。我喜歡它在頂部顯示電腦的公共和私人 IP:

多功能 Linux 系統監控工具Glances功能介紹多功能 Linux 系統監控工具Glances功能介紹

Glances 也是互動式的,這意味著你可以在它執行時使用命令與它互動。你可以按 s 將感測器顯示在螢幕上;按 k 將 TCP 連線列表顯示在螢幕上;按 1 將 CPU 統計擴充套件到顯示單個執行緒。

你也可以使用方向鍵在程式列表中移動,並按不同的指標對錶格進行排序。

你可以透過各種命令列選項來啟動 Glances。此外,它還有很多互動式命令。你可以在他們的豐富的文件中找到完整的列表。

按 Ctrl+C 鍵退出 Glances。

使用 Glances 監控遠端 Linux 系統(客戶端-伺服器模式)

要監控遠端計算機,你可以在客戶端-伺服器模式下使用 Glances。你需要在兩個系統上都安裝 Glances。

在遠端 Linux 系統上,使用 -s 選項在伺服器模式下啟動 Glances:

glances -s

在客戶端系統中,使用下面的命令在客戶端模式下啟動 Glances 並連線到伺服器:

glances -c server_ip_address

你也可以透過 SSH 進入任何一臺電腦,然後啟動 Glances,它可以完美地工作。更多關於客戶端-伺服器模式的資訊請看這裡。

使用 Glances 在 Web 瀏覽器中監控 Linux 系統資源(Web 模式)

Glances 也可以在 Web 模式下執行。這意味著你可以使用 Web 瀏覽器來訪問 Glances。與之前的客戶端-伺服器模式不同,你不需要在客戶端系統上安裝 Glances。

要在 Web 模式下啟動 Glances,請使用 -w 選項:

glances -w

請注意,即使在 Linux 伺服器上,它也可能顯示 “Glances Web User Interface started on ”,而實際上它使用的是伺服器的 IP 地址。

最主要的是它使用的是 61208 埠號,你可以用它來透過網路瀏覽器訪問 Glances。只要在伺服器的 IP 地址後面輸入埠號,比如 。

你也可以在本地系統中使用 / 或 訪問。

Web 模式也模仿終端的樣子。網頁版是根據響應式設計原則打造的,即使在手機上也很好看。

你可能想用密碼來保護 Web 模式,這樣只有授權的人才能使用它。預設的使用者名稱是 glances。

root@localhost:~# glances -w --password
Define the Glances webserver password (glances username):
Password (confirm):
Do you want to save the password? [Yes/No]: n
Glances Web User Interface started on /

你可以在快速入門指南中找到關於配置密碼的更多資訊。

匯出 Glances 資料到不同的服務

使用 Glances 最大的優勢之一就是開箱即用,它支援將資料匯出到各種資料庫、服務,並無縫整合到各種資料管道中。

你可以在監控的同時用這個命令匯出到 CSV:

glances --export csv --export-csv-file /tmp/glances.csv

/tmp/glances.csv 是檔案的位置。資料以時間序列的形式整齊地填入。

你也可以匯出到其它大型應用程式,如 Prometheus,以啟用條件觸發器和通知。

它可以直接插入到訊息服務(如 RabbitMQ、MQTT)、流媒體平臺(如 Kafka),並將時間序列資料匯出到資料庫(如 InfluxDB),並使用 Grafana 進行視覺化。

你可以在這裡檢視服務和匯出選項的整個列表。

使用 REST API 將 Glances 與其他服務進行整合

這是整個棧中我最喜歡的功能。Glances 不僅可以將各種指標彙集在一起,還可以透過 API 將它們暴露出來。

這個簡單而強大的功能使得為任何特定的用例構建自定義應用程式、服務和中介軟體應用程式變得非常容易。

當你在 Web 模式下啟動 Glances 時,REST API 伺服器會自動啟動。要在 API 伺服器模式下啟動它,你可以使用以下命令:

glances -w --disable-webui

REST API 的文件很全面,其響應也很容易與 Web 應用整合。這使得使用類似 Node-RED 這樣的工具可以很容易地構建一個統一的儀表盤來監控多個伺服器。

Glances 也提供了一個 XML-RPC 伺服器,你可以在這裡檢視文件。

關於 Glances 的結束語

Glances 使用 psutil Python 庫來訪問不同的系統統計資料。早在 2017 年,我就曾使用相同的庫構建了一個簡單的 API 伺服器來檢索 CPU 的使用情況。我能夠使用 Node-RED 構建的儀表盤監控一個叢集中的所有樹莓派。

Glances 可以為我節省一些時間,同時提供更多的功能,可惜我當時並不知道它。

在寫這篇文章的時候,我確實嘗試著在我的樹莓派上安裝 Glances,可惜所有的安裝方法都出現了一些錯誤,失敗了。當我成功後,我會更新文章,或者可能再寫一篇文章,介紹在樹莓派上安裝的步驟。

我希望 Glances 能提供一種頂替 top 或 htop 等的方法。讓我們希望在即將到來的版本中得到它。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2723373/,如需轉載,請註明出處,否則將追究法律責任。

相關文章