Linux中國

Glances:多功能 Linux 系統監控工具

Linux 上最常用的命令行進程監控工具top 和它那色彩斑斕、功能豐富的表弟 htop

監控 Linux 上的溫度,可以使用 lm-sensors。同樣,還有很多實用工具可以監控其他實時指標,如磁碟 I/O、網路統計等。

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

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

你也可以將它集成到像 Grafana 這樣的工具中,在一個直觀的儀錶盤中監控統計數據。

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

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 https://bit.ly/glances | /bin/bash

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

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

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

glances

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

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 http://0.0.0.0:61208」,而實際上它使用的是伺服器的 IP 地址。

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

你也可以在本地系統中使用 http://0.0.0.0:61208/https://localhost:61208/ 訪問。

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 http://0.0.0.0:61208/

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

導出 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 能提供一種頂替 tophtop 等的方法。讓我們希望在即將到來的版本中得到它。

我希望這能給你提供大量關於 Glances 的信息。你們使用什麼系統監控工具呢,請在評論中告訴我。

via: https://itsfoss.com/glances/

作者:Chinmay 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國