Linux 系統管理員需要經常監控系統的各種資源和效能指標,如 CPU、記憶體、磁碟、網路、溫度等。雖然有很多命令列工具可以提供這些信息,但是它們通常只能顯示一部分數據,或者需要切換不同的命令和視窗。有沒有一款工具可以把所有重要的資訊集中在一個螢幕上,而且還能提供更多的功能和選項呢?答案是有的,它就是 Glances。 Glances 是一個用Python 編寫的開源工具,它可以在終端、瀏覽器或遠端伺服器上顯示Linux 系統的各種即時數據,包括進程、負載、記憶體、磁碟I/O、網路流量、檔案系統、溫度等。它還支援導出資料到不同的服務和資料庫,以及使用 REST API 和 XML-RPC API 進行整合。在本文中,我們將介紹如何在 Ubuntu 和其他 Linux 發行版上安裝和使用 Glances,以及它的一些主要功能和優勢
下面是它的外觀。下面截圖中的終端機已經用 Pywal 工具美化過,可以根據壁紙自動改變顏色。
你也可以將它整合到像 Grafana 這樣的工具中,在一個直覺的儀表板中監控統計資料。
它是用 Python 寫的,這意味著它的絕大多數功能都可以在大多數平台上使用。
Glances Data In Grafana Dashboard
#讓我們快速瀏覽 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 來監控你的本機機器:
glances
你可以立即觀察到,它將許多不同的資訊整合在一個螢幕上。我喜歡它在頂部顯示電腦的公共和私人 IP:
Glances 也是互動式的,這意味著你可以在它運行時使用命令與它互動。你可以按s
將感測器顯示在螢幕上;按k
將TCP 連線清單顯示在螢幕上;按1
將CPU 統計擴展到顯示單一執行緒。
你也可以使用方向键在进程列表中移动,并按不同的指标对表格进行排序。
你可以通过各种命令行选项来启动 Glances。此外,它还有很多交互式命令。你可以在他们的丰富的文档中找到完整的列表。
按 Ctrl+C
键退出 Glances。
要监控远程计算机,你可以在客户端-服务器模式下使用 Glances。你需要在两个系统上都安装 Glances。
在远程 Linux 系统上,使用 -s
选项在服务器模式下启动 Glances:
glances -s
在客户端系统中,使用下面的命令在客户端模式下启动 Glances 并连接到服务器:
glances -c server_ip_address
你也可以通过 SSH 进入任何一台电脑,然后启动 Glances,它可以完美地工作。更多关于客户端-服务器模式的信息请看这里。
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 --passwordDefine the Glances webserver password (glances username):Password (confirm):Do you want to save the password? [Yes/No]: nGlances Web User Interface started on http://0.0.0.0:61208/
你可以在快速入门指南中找到关于配置密码的更多信息。
使用 Glances 最大的优势之一就是开箱即用,它支持将数据导出到各种数据库、服务,并无缝集成到各种数据管道中。
你可以在监控的同时用这个命令导出到 CSV:
glances --export csv --export-csv-file /tmp/glances.csv
/tmp/glances.csv
是文件的位置。数据以时间序列的形式整齐地填入。
你也可以导出到其它大型应用程序,如 Prometheus,以启用条件触发器和通知。
它可以直接插入到消息服务(如 RabbitMQ、MQTT)、流媒体平台(如 Kafka),并将时间序列数据导出到数据库(如 InfluxDB),并使用 Grafana 进行可视化。
你可以在这里查看服务和导出选项的整个列表。
这是整个栈中我最喜欢的功能。Glances 不仅可以将各种指标汇集在一起,还可以通过 API 将它们暴露出来。
这个简单而强大的功能使得为任何特定的用例构建自定义应用程序、服务和中间件应用程序变得非常容易。
当你在 Web 模式下启动 Glances 时,REST API 服务器会自动启动。要在 API 服务器模式下启动它,你可以使用以下命令:
glances -w --disable-webui
REST API 的文档很全面,其响应也很容易与 Web 应用集成。这使得使用类似 Node-RED 这样的工具可以很容易地构建一个统一的仪表盘来监控多个服务器。
Glances 也提供了一个 XML-RPC 服务器,你可以在这里查看文档。
Glances 使用 psutil Python 库来访问不同的系统统计数据。早在 2017 年,我就曾使用相同的库构建了一个简单的 API 服务器来检索 CPU 的使用情况。我能够使用 Node-RED 构建的仪表盘监控一个集群中的所有树莓派。
Glances 可以为我节省一些时间,同时提供更多的功能,可惜我当时并不知道它。
在写这篇文章的时候,我确实尝试着在我的树莓派上安装 Glances,可惜所有的安装方法都出现了一些错误,失败了。当我成功后,我会更新文章,或者可能再写一篇文章,介绍在树莓派上安装的步骤。
我希望 Glances 能提供一种顶替 top
或 htop
等的方法。让我们希望在即将到来的版本中得到它。
本文介绍了 Glances 这款多功能的 Linux 系统监控工具,它可以让你在一个屏幕上查看系统的各种重要信息,并且提供了灵活的使用模式和导出选项。Glances 是一个非常实用和强大的工具,它可以帮助你更好地了解和管理你的 Linux 系统。如果你想要更多地学习和探索 Glances 的功能和配置,你可以参考它的 官方文档 ,或者在 GitHub 上查看它的 源码 和 反馈 。希望本文对你有所帮助!
以上是Glances:一款強大的 Linux 系統監控工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!