Glances – 适用于 Linux 系统的多功能系统监控工具

Linux 上最常用的用于进程监控的命令行工具是 top 及其丰富多彩、功能丰富的堂兄 .

要在 Linux 上监控温度,您可以使用 lm-sensors. 同样,有许多实用程序可以监控其他实时指标,例如磁盘 I/O、网络统计等。

一瞥 是一个系统监控工具,将它们联系在一起并提供更多功能。 我最喜欢的是,您可以在远程 Linux 服务器上使用 run Glances 并监视本地系统上的系统资源或通过 Web 浏览器监视它。

这是它的样子。 下面截图中的终端已经使用 Pywal 工具进行了美化,该工具会根据墙纸自动更改颜色。

您还可以将其集成到类似的工具中 格拉法纳 在直观的仪表板中监控统计数据。

它是用 Python 编写的,这意味着它可以在具有几乎所有功能的大多数平台上使用。

Glances 的特点

让我们快速浏览一下 Glances 提供的主要功能(双关语)。

  • 可以监控系统上的 15 多个指标(包括 docker 容器)。
  • 灵活的使用模式:独立、客户端-服务器、通过 SSH 和 Web 模式。
  • 可用于集成的多功能 REST API 和 XML-RPC。
  • 随时支持将数据导出到不同的服务和数据库。
  • 高度可配置,可适应不同的需求。
  • 非常全面的文档。

在 Ubuntu 和其他 Linux 发行版上安装 Glances

许多 Linux 发行版的官方存储库中都提供了 Glances。 这意味着您可以使用发行版的包管理器轻松安装它。

在基于 Debian/Ubuntu 的发行版上,您可以使用以下命令:

sudo apt install glances

您还可以使用 snap 包安装最新的 Glances:

sudo snap install glances 

由于 Glances 基于 Python,因此您也可以使用 PIP 在大多数 Linux 发行版上安装它。 先安装PIP,然后用它来安装Glances:

sudo pip3 install glances

如果不出意外,您始终可以使用 Glances 开发人员提供的自动安装脚本。 尽管我们在 It’s FOSS 不建议直接在您的系统上运行随机脚本。 这完全是你的决定。

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 模式)在 Web 浏览器中监控 Linux 系统资源

Glances 也可以在 Web 模式下运行。 这意味着您可以使用 Web 浏览器访问 Glances。 与之前的客户端-服务器模式不同,您不需要在客户端系统上安装 Glances。

要在 Web 模式下启动 Glances,请使用 -w 选项。

glances -w

请记住,即使在 Linux 服务器上实际使用服务器的 IP 地址时,它也可能显示“Glances Web User Interface started on https://0.0.0.0:61208”。

主要部分是它使用 61208 端口号,您可以使用它通过网络浏览器访问 Glances。 只需输入服务器的 IP 地址,然后输入端口号,如 https://123.123.123.123:61208。

您也可以在本地系统上使用 https://0.0.0.0:61208/ 或 https://localhost:61208/.

Web 模式还模拟终端外观。 Web 版本在构建时考虑了响应式设计原则,即使在手机上也很好看。

您可能希望使用密码保护 Web 模式,以便只有经过授权的人才能使用它。 默认用户名是 Glances。

[email protected]:~# 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 https://0.0.0.0:61208/

您可以在 快速入门指南.

将 Glances 数据导出到不同的服务

使用 Glances 的最大优势之一是开箱即用的支持将数据导出到各种数据库、服务并无缝集成到各种数据管道中。

您可以在使用此命令进行监控的同时导出为 CSV。

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

‘/tmp/glances.csv’ 是文件的位置。 数据作为时间序列整齐地填写。

您可以导出到功能强大的应用程序,例如 普罗米修斯 启用条件触发器和通知。

它可以直接插入 RabbitMQ、MQTT 等消息服务、Kafka 等流媒体平台,并将时间序列数据导出到 InfluxDB 等数据库,并使用 Grafana 进行可视化。

您可以查看完整的服务列表和导出选项 这里.

使用 REST API 将 Glances 与其他服务集成

这是我在整个堆栈中最喜欢的功能。 Glances 不仅将各种指标汇集在一起​​,还通过 API 公开它们。

这个简单而强大的功能使得为任何特定用例构建自定义应用程序、服务和中间件应用程序变得非常容易。

当您在 Web 模式下启动 Glances 时,REST API 服务器会自动启动。 要在仅 API 服务器模式下启动它,您可以使用以下命令。

glances -w --disable-webui

REST API 文档很全面,响应很容易与 Web 应用程序集成。 这使得构建一个统一的仪表板以使用类似的工具监控多个服务器变得容易 节点-RED.

Glances 还提供了一个 XML-RPC 服务器,你可以查看文档 这里.

结束对 Glances 的思考

Glances 使用 实用工具 python 库来访问不同的系统统计信息。 早在 2017 年,我就使用相同的库构建了一个简单的 API 服务器来检索 CPU 使用率。我能够使用使用 Node-RED 构建的仪表板监控集群中的所有 Raspberry Pi。

Glances 可以为我节省一些时间,同时提供更多功能,不幸的是我当时并不知道它。

在写这篇文章时,我确实尝试在我的 Raspberry Pi 上安装 Glances,不幸的是它失败了,所有安装方法都出现了一些错误。 当我成功时,我会更新这篇文章,或者写另一篇包含在 Raspberry Pi 上安装步骤的文章。

我希望 Glances 提供了一种杀死 top 或 htop 等进程的方法。 让我们希望我们能在即将发布的版本中得到它。

我希望这为您提供了大量有关 Glances 的信息。 你们都用什么系统监控工具? 请在评论中告诉我。