Linux下使用Glances具体方法

Glances是一个跨平台的监视工具,旨在通过curses或基于Web的界面提供大量监视信息,下面为大家详细讲解一下 Linux下使用Glances具体方法。

下面是它的外观。下面截图中的终端已经用 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:

多功能 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 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 能提供一种顶替 top 或 htop 等的方法。让我们希望在即将到来的版本中得到它。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/13839.html

(0)
晴川运维晴川运维
上一篇 2025年9月24日
下一篇 2025年9月24日

相关推荐

  • 详解shell if 判断

    UNIX Shell 里面比较字符写法 -eq 等于; -ne 不等于; -gt 大于; -lt 小于 ; -le 小于等于; -ge 大于等于; -z 空串; -n 非空串; =…

    Linux系统 2025年7月9日
  • 详解oracle连接查询

    连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运算符可以实现多个表查询,下面为大家详细讲解一下oracle连接查询。 一 Equijoins 等值…

    Linux系统 2025年9月24日
  • Linux下挂载U盘并访问文件

    挂载 U 盘和挂载光盘的方式是一样的,只不过光盘的设备文件名是固定的(/dev/sr0 或 /dev/cdrom),而 U 盘的设备文件名是在插入 U 盘后系统自动分配的,下面为大…

    Linux系统 2025年6月8日
  • 使用 systemd 作为问题定位工具

    虽然 systemd 并非真正的故障定位工具,但其输出中的信息为解决问题指明了方向。 没有人会认为 systemd 是一个故障定位工具,但当我的 web 服务器遇到问题时,我对 s…

    Linux系统 2025年6月8日
  • Linux下查看文件内容具体方法

    Linux下查看文件内容有多种方法,可以使用:cat、tac、nl、more等命令,下面详细的讲解一下各个命令的具体使用方法。 cat 由第一行开始显示文件内容 语法: cat&n…

    Linux系统 2025年6月8日
  • Linux重定向和管道符注意事项

    简而言之,输入重定向就是把文件导入到命令中, 输出重定向就是把原本要输出到屏幕的数据信息写入到指定文件中。在日常的使用中,我们使用输出重定向频率更高,所以又将输出重定向分为了标准输…

    Linux系统 2025年6月24日
  • Shell 脚本演练:日志关键字监控+自动告警

    该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人。 一、安装邮件服务 1、解压 tar -jxf&n…

    Linux系统 2025年6月14日
  • 详解Netstat命令使用实例

    Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UD…

    Linux系统 2025年9月22日
  • Python3 re模块match与search

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的…

    Linux系统 2025年7月10日
  • Ansible:像系统管理员一样思考的自动化框架

    这些年来,我已经写了许多关于 DevOps 工具的文章,也培训了这方面的人员。尽管这些工具很棒,但很明显,大多数都是按照开发人员的思路设计出来的。这也没有什么问题,因为以编程的方式…

    Linux系统 2025年9月21日

发表回复

登录后才能评论