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日

相关推荐

  • 讲解一下JavaScript中的对象

    我们知道生活中客观存在的一切事物皆为对象,那在程序中的对象是什么样子呢?我们可以将程序中的对象理解为客户端世界中的对象在一种计算机中的一种表示方式.所有的编程语言中提到的对象其性质…

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

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

    Linux系统 2025年9月24日
  • Linux中配置HAProxy实现Web负载均衡

    HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 一、测试环境 HAPr…

    Linux系统 2025年6月19日
  • 配置ssh-agent免密码认证具体步骤

    ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来…

    Linux系统 2025年6月4日
  • C语言中const修饰的指针

    当用const进行修饰时,根据const位置的不同有三种不同效果。 判断的标准是:const修饰谁,谁的内容就是不可变的。 const修饰指针变量时候有三种情况: 1 const …

    Linux系统 2025年6月8日
  • SELinux Targeted、MLS和Minimum策略

    对于 SELinux 来说,所选择的策略类型直接决定了使用哪种策略规则来执行主体(进程)可以访问的目标(文件或目录资源)。不仅如此,策略类型还决定需要哪些特定的安全上下文属性。通过…

    Linux系统 2025年10月22日
  • 初次登录 Linux 服务器马上要做的 9 件事

    在将新配置的服务器投入工作之前,请确保你知道你正在使用什么。 当我在 linux 上测试软件时(这是我工作中的一个常规部分),我需要使用多台运行 Linux 的不同架构的服务器。我…

    Linux系统 2025年6月21日
  • Vim常用的三种模式

    Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。 安装VIM …

    Linux系统 2025年6月8日
  • Linux Tee 命令使用实例

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,那么可以用到tee…

    Linux系统 2025年6月8日
  • Linux下实现双网卡bonding

    Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为…

    Linux系统 2025年9月23日

发表回复

登录后才能评论