标签 Glances 下的文章

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中国 荣誉推出

Glances 是一个用于监控系统的跨平台、基于文本模式的命令行工具。它是用 Python 编写的,使用 psutil 库从系统获取信息。你可以用它来监控 CPU、平均负载、内存、网络接口、磁盘 I/O,文件系统空间利用率、挂载的设备、所有活动进程以及消耗资源最多的进程。Glances 有很多有趣的选项。它的主要特性之一是可以在配置文件中设置阀值( careful 小心 warning 警告 critical 致命 ),然后它会用不同颜色显示信息以表明系统的瓶颈。

Glances 的功能

  • CPU 平均负载
  • 不同状态(如活动、休眠)进程的数量
  • 所有内存信息,如物理内存、交换空间、空闲内存
  • CPU 信息
  • 网络连接的上行/下行速度
  • 磁盘 I/O 读/写速度详细信息
  • 当前挂载设备的磁盘使用情况
  • 消耗资源最多的进程和他们的 CPU/内存使用情况

安装 Glances

Glances 在 Ubuntu 的软件仓库中,所以安装很简单。执行下面的命令安装 Glances:

sudo apt-get install glances

(LCTT 译注:若安装后无法正常使用,可考虑使用 pip 安装/升级 glances:sudo pip install --upgrade glances

Glances 使用方法

安装完成后,可以执行下面的命令启动 Glances:

glances

你将看到类似下图的输出:

glances monitor system output

要退出 Glances 终端,按 ESC 键或 Ctrl + C

默认情况下,时间间隔(LCTT 译注:显示数据刷新的时间间隔)是 1 秒,不过你可以在从终端启动 Glances 时自定义时间间隔。

要把时间间隔设为 5 秒,执行下面的命令:

glances -t 5

Glances 中不同颜色含义

Glances 中不同颜色的含义:

  • 绿色:正常(OK)
  • 蓝色:小心(careful)
  • 紫色:警告(warning)
  • 红色:致命(critical)

默认设置下,Glances 的阀值设置是:careful=50,warning=70,critical=90。你可以通过 “/etc/glances/” 目录下的默认配置文件 glances.conf 来自定义这些阀值。

Glances 的选项

Glances 提供了很多快捷键,可以在它运行时用来查找输出信息。

下面是一些常用的热键列表:

  • m : 按内存占用排序进程
  • p : 按进程名称排序进程
  • c : 按 CPU 占用率排序进程
  • i : 按 I/O 频率排序进程
  • a : 自动排序进程
  • d : 显示/隐藏磁盘 I/O 统计信息
  • f : 显示/隐藏文件系统统计信息
  • s : 显示/隐藏传感器统计信息
  • y : 显示/隐藏硬盘温度统计信息
  • l : 显示/隐藏日志
  • n : 显示/隐藏网络统计信息
  • x : 删除警告和严重日志
  • h : 显示/隐藏帮助界面
  • q : 退出
  • w : 删除警告记录

使用 Glances 监控远程系统

你也可以使用 Glances 监控远程系统。要在远程系统上使用它,使用下面的命令:

glances -s

你会看到类似下面的输出:

glances monitor remote system server

如你所见,Glances 运行在 61209 端口。

现在,到远程机器上执行下面的命令以连接到指定 IP 地址的 Glances 服务器上。假设 192.168.1.10 是你的 Glances 服务器 IP 地址。

glances -c -P 192.168.1.10

结论

对于每个 Linux 系统管理员来说,Glances 都是一个非常有用的工具。使用它,你可以轻松、高效地监控 Linux 系统。如果你有什么问题,自由地评论吧。


via: https://www.maketecheasier.com/glances-monitor-system-ubuntu/

作者:Hitesh Jethva 译者:bianjp 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

早些时候,我们提到过有很多可以用来监视系统性能的 Linux 系统监视工具。 但我们估计,或许更多的用户会倾向与绝大多数 Linux 发行版都带的工具 (top 命令)。

top 命令是 Linux 下的一个实时任务管理器, 同时也是用于在 GNU/Linux 发行版中寻找系统性能方面的瓶颈,并帮助我们作出正确操作的常用系统监视工具。 她有着一个极为简洁的界面,并自带少量的可以帮助我们快速了解系统性能的实用选项。

但是,有些时候想要通过她寻找一个占用系统资源比较大的应用或进程可能会比较困难。 因为 top 命令本身并不会帮助我们高亮那些吃太多 CPU内存,或者其他资源的程序。

为了达到这个目标,这里我们将介绍一款超牛逼的系统监视程序 —— Glances。 她可以自动高亮利用最高系统资源的程序,并为 Linux/Unix 服务器提供尽可能多的信息。

什么是 Glances?

Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。 通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器文件系统 空间的利用情况。

Glances 是一个用来监视 GNU/LinuxFreeBSD 操作系统的 GPL 授权的自由软件。

Glances 同时也提供了很多实用的选项。 其中我们能够在配置文件见到的一项主要的功能就是设置关键值及相应的标签 (careful[小心], warning[警告]critical[严重]), 然后她会自动帮我们用不同颜色标出系统达到某个瓶颈的信息。

Glances 主要功能

  • CPU 信息 (用户的相关应用, 系统核心程序和空闲程序)
  • 总内存信息,包括了物理内存,交换空间和空闲内存等等
  • 之前的 1 分钟、5 分钟和 15 分钟平均的 CPU 负载
  • 网络链接的下行和上行速度
  • 处理器总数,以及其活动状态
  • 硬盘 I/O 相关(读写)速度详情
  • 当前挂载设备的磁盘使用情况
  • 高 CPU 和内存使用的进程名,和相关应用的位置
  • 在底部显示当前日期和时间
  • 将消耗最高系统资源的进程用红色标出

下面是一个 Glances 的使用截图:

Glances View

在 Linux/Unix 系统中安装 Glances

虽然这个工具的发布比较晚,但你仍然可以在 Red Hat 系的系统中通过 EPEL 软件源安装。在终端用下面的命令安装:

对于 RHEL/CentOS/Fedora 发行版

# yum install -y glances

对于 Debian/Ubuntu/Linux Mint 发行版

$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
$ sudo apt-get update
$ sudo apt-get install glances

如何使用 Glances

首先,你需要在终端中输入以下命令

# glances

Glances Preview – Ubuntu 13.10

按下 ‘q‘ (‘ESC‘ 和 ‘Ctrl-C‘ 也可以) 退出 Glances 终端。 这里是从 CentOS 6.5 截取的另一张截图:

Glances Preview – CentOS 6.5

Glances 的默认刷新频率是 1 (秒),但是你可以通过在终端指定参数来手动定义其刷新频率

# glances -t 2

Glances 中颜色的含义

Glances 会用一下几种颜色来代表状态:

  • 绿色:OK(一切正常)
  • 蓝色:CAREFUL(需要注意)
  • 紫色:WARNING(警告)
  • 红色:CRITICAL(严重)

阀值可以在配置文件中设置,一般阀值被默认设置为(careful=50warning=70critical=90)。

我们可以按照自己的需求在配置文件(默认在 /etc/glances/glances.conf)中自定义。

Glances 的选项

除了很多命令行选项之外,Glances 还提供了更多的可在其运行时开关输出信息选项的快捷键,下面是一些例子:

  • a – 对进程自动排序
  • c – 按 CPU 百分比对进程排序
  • m – 按内存百分比对进程排序
  • p – 按进程名字母顺序对进程排序
  • i – 按读写频率(I/O)对进程排序
  • d – 显示/隐藏磁盘 I/O 统计信息
  • f – 显示/隐藏文件系统统计信息
  • n – 显示/隐藏网络接口统计信息
  • s – 显示/隐藏传感器统计信息
  • y – 显示/隐藏硬盘温度统计信息
  • l – 显示/隐藏日志(log)
  • b – 切换网络 I/O 单位(Bytes/bits)
  • w – 删除警告日志
  • x – 删除警告和严重日志
  • 1 – 切换全局 CPU 使用情况和每个 CPU 的使用情况
  • h – 显示/隐藏这个帮助画面
  • t – 以组合形式浏览网络 I/O
  • u – 以累计形式浏览网络 I/O
  • q – 退出(‘ESC‘ 和 ‘Ctrl&C‘ 也可以)

远程使用 Glances

你甚至也可以通过 Glances 来监视远程系统。 要在远程系统使用 ‘glances’,需要在服务器运行 ‘glances -s’(-s 启动服务器/客户端模式)命令。

# glances -s

Define the password for the Glances server
Password: 
Password (confirm): 
Glances server is running on 0.0.0.0:61209

注意:当你执行了‘glances’命令后,她会让你为 Glances 服务器设置密码。

当你设置完毕,你将看到 “Glances server is running on 0.0.0.0:61209” (Glances 服务器正在 0.0.0.0 的 61209 端口运行)的消息。

当 Glances 服务器启动后,到本地执行下面的命令来指定服务器IP地址或主机名以链接。

注:这里的 ‘172.16.27.56’ 是我 Glances 服务器的 IP 地址。

# glances -c -P 172.16.27.56

下面是一些在使用服务器/客户端模式时必须知道的事情:

* 在服务器模式,你可以通过 `-B 地址` 来设置绑定地址,也可以通过 `-p 端口` 来绑定监听的 TCP 端口
* 在客户端模式,你可以通过同样的 `-p 端口` 来指定服务器端口
* 默认的绑定地址是 0.0.0.0,但这么做会监听所有网络接口的指定端口
* 在服务器/客户端模式下,限制的阀值将由服务器的设置决定
* 你也可以在命令行下用过 `-P 密码` 的方式来为服务器端设置一个密码

总结

Glances 对于大多用户而言是个在系统资源上提供过多信息的工具。但是如果你是一个想要仅从命令行就能快速获取系统整体状况的系统管理员,那这个工具绝对是你的必备利器。

译者注

  1. 请不要将 glances(本文中的工具)和 glance(一个 OpenStack 的工具)这两个包搞混了
  2. Ubuntu 官方 Extra 源中的 glances 因为 python 库移动的问题导致无法正常使用 但可以通过建立软链接的方式临时修复:sudo ln -s /usr/lib/python2.7/dist-packages/glances /usr/share/pyshared/glances

via: http://www.tecmint.com/glances-an-advanced-real-time-system-monitoring-tool-for-linux/

译者:VizV 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

很少有命令行工具可以适应不同的终端尺寸,为用户提供最大限度的信息。绝大多数的工具的显示都是类似的——要么显示的信息混乱了或工具给出一个错误信息。不过, Glances 却是一个支持在80X24终端到任何更大尺寸终端上显示大量系统/网络监控相关信息的工具。

glances-main

提示 -- 这篇文章中的所有例子在Ubuntu 13.04的bash shell上测试过。

简短教程

Glances是一个系统监控工具,它在你的终端上能展示各种各样的系统相关信息。这些信息包括:

  • CPU相关信息
  • 磁盘IO相关信息
  • 内存相关信息
  • 挂载点相关信息
  • 网络接口相关信息
  • 进程相关信息
  • 等等

这是glances示例截图:

glances-1

它是用python写的并且利用psutils库获取所有系统相关信息的显示。Glances在终端上的显示非常灵活,比如,它可以在小至80X24的终端上显示更多的信息。

这是在较小终端上的glances截图:

glances-small-terminal

你可以看到甚至在较小终端上它也能显示一些信息。

你不仅可以用Glances对本地系统监控,它也能用于监控远程系统。在远程系统使用glances,运行以下命令:

glances -s

并且在客户端执行:

glances -c [ip-address-of-server]

在C/S模式中,使用glances有一些用户应该记住的重点[取自glances官方文档]:

在服务器端,你可以用 -B address 和 -p port 来设置绑定的IP地址和端口。在客户端,使用 -p port 来指定连接的服务器端的端口。默认的绑定地址是0.0.0.0(即监听在全部网络接口上)和61209/TCP端口上。

在C/S模式下,限制是在服务器端设置的。你也可以通过 -P password 来指定一个连接口令。Glances 也支持IPv6,可以通过 -B :: 来绑定到全部的IPv6地址上。

此外,这有几个命令行选项可用于自定义信息,像:

  • 使用 -m 禁止显示挂载相关信息
  • 使用 -n 禁止显示网络相关信息
  • 使用 -t 设置屏幕刷新时间间隔
  • 等等

通过man手册页探索和发现更多这样的选项。

除了命令行选项,glances提供许多帮助选项,你可以当glances正在运行的时候使用,这是选项列表:

glances-help

所以你可以看到glances不仅灵活显示也高度可定制。

下载/安装

这是一些与glances工具有关的重要链接:

你可以从软件源下载和安装Glances,但这需要预装python-dev模块。Ubuntu用户可以通过Ubuntu软件中心直接下载和安装。本文使用的版本是1.7.1与PsUtil 0.6.1。

总结

Glances是个工具,可以用于系统管理员快速了解完整的系统概况。在你的宝贝电脑上是个很好的工具,可以在你调试一些系统相关问题上派上用场。显示灵活想必是极好的。

优点

  • 在同等情况下提供许多系统相关信息
  • 灵活的显示

缺点

  • 较小终端时必须指定一些选项,以便显示更多信息。
  • 从源代码构建依赖于附加库,像python-dev。

你曾今用过Glances或类似的工具吗?你的经历是什么?分享你的故事吧。

via: http://mylinuxbook.com/glances-an-all-in-one-system-monitoring-tool/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Vito 校对:wxy