当前位置: 首页 > 科技观察

概览:一个多功能的Linux系统监控工具

时间:2023-03-19 16:18:49 科技观察

Linux上最常用的命令行进程监控工具是top及其丰富多彩且功能丰富的表亲htop。要在Linux上监控温度,可以使用lm-sensors。同样,有许多实用程序可用于监控其他实时指标,如磁盘I/O、网络统计信息等。Glances是一个系统监控工具,它将所有这些联系在一起并提供更多。我最喜欢的是您可以在远程Linux服务器上运行Glances以监视本地系统的系统资源,也可以通过Web浏览器运行。这是它的样子。下面截图中的终端用Pywal工具进行了美化,可以根据壁纸自动变换颜色。您还可以将其集成到Grafana等工具中,以在一个直观的仪表板中监控统计信息。它是用Python编写的,这意味着它的绝大部分功能都可以在大多数平台上使用。Glances功能GlancesGrafanaDashboard中的数据让我们快速浏览一下Glances提供的主要功能:最多可以监控系统上的15个指标(包括Docker容器)。灵活的使用模式:单机模式、客户端-服务器模式、通过SSH和Web模式。可用于集成的各种RESTAPI和XML-RPCAPI。支持轻松将数据导出到不同的服务和数据库。高度可配置和适应不同的需求。非常全面的文档。在Ubuntu和其他Linux发行版上安装GlancesGlances可以在许多Linux发行版的官方软件存储库中找到。这意味着您可以使用发行版的包管理器轻松安装它。在基于Debian/Ubuntu的发行版上,您可以使用以下命令:sudoaptinstallglances您还可以使用snap包安装最新的Glances:sudosnapinstallglances由于Glances是基于Python的,因此您也可以使用PIP在大多数上安装它Linux发行版。先安装PIP,再用它安装Glances:sudopip3installglances如果不出意外,也可以使用Glances开发者提供的自动安装脚本。虽然我们不建议直接在您的系统上运行随机脚本,但这完全取决于您:curl-Lhttps://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-cserver_ip_address您也可以通过SSH进入任何计算机,然后启动Glances,它就可以完美运行。可以在此处找到有关客户端-服务器模型的更多信息。使用Glances(Web模式)在Web浏览器中监控Linux系统资源Glances也可以在Web模式下运行。这意味着您可以使用Web浏览器访问Glances。与以前的客户端-服务器模型不同,您不需要在客户端系统上安装Glances。要以Web模式启动Glances,请使用-w选项:glances-w请注意,即使在Linux服务器上,它也可能显示“GlancesWeb用户界面在http://0.0.0.0:61208上启动”,而实际上它使用IP服务器的地址。最主要的是它使用端口号61208,您可以使用它通过Web浏览器访问Glances。在服务器IP地址后面输入端口号即可,如http://123.123.123.123:61208。也可以在本地系统使用http://0.0.0.0:61208/或https://localhost:61208/访问。Web模式还模仿了终端的外观。Web版本是根据响应式设计原则构建的,即使在移动设备上也看起来很棒。您可能希望使用密码保护Web架构,以便只有经过授权的人才能使用它。默认用户名是glances。root@localhost:~#glances-w--passwordDefinetheGlanceswebserverpassword(glancesusername):Password(confirm):你想保存密码吗?[是/否]:nGlancesWeb用户界面启动于http://0.0.0.0:61208/您可以在快速入门指南中找到有关配置密码的更多信息。将Glances数据导出到不同的服务使用Glances的最大优势之一是它可以开箱即用。支持数据导出到各种数据库、服务,无缝集成到各种数据管道中。您可以在监控时使用此命令导出为CSV:glances--exportcsv--export-csv-file/tmp/glances.csv/tmp/glances.csv是文件的位置。数据以时间序列的形式整齐地填充。您还可以导出到其他大型应用程序(如Prometheus)以启用条件触发器和通知。它可以直接插入消息服务(例如RabbitMQ、MQTT)、流媒体平台(例如Kafka),并将时间序列数据导出到数据库(例如InfluxDB)并使用Grafana进行可视化。您可以在此处查看完整的服务列表和导出选项。使用RESTAPI将Glances与其他服务集成是整个堆栈中我最喜欢的功能。Glances不仅汇集了各种指标,而且还通过API公开了它们。这个简单而强大的功能使得为任何特定用例构建自定义应用程序、服务和中间件应用程序变得非常容易。当您以Web模式启动Glances时,RESTAPI服务器会自动启动。要在API服务器模式下启动它,您可以使用以下命令:glances-w--disable-webuiRESTAPI有详细的文档,其响应很容易与Web应用程序集成。这使得使用Node-RED等工具构建统一的仪表板来监控多个服务器变得容易。Glances还提供了一个XML-RPC服务器,您可以在此处查看文档。Glances的结论Glances使用psutilPython库来访问各种系统统计信息。早在2017年,我就使用同一个库构建了一个简单的API服务器来检索CPU使用率。我能够使用由Node-RED构建的仪表板监控集群中的所有RaspberryPi。Glances可以在提供更多功能的同时为我节省一些时间,可惜我当时并不知道。在撰写本文时,我确实尝试在我的RaspberryPi上安装Glances,但不幸的是所有安装方法都因一些错误而失败。当我成功时,我会更新这篇文章,或者可能写另一篇文章来介绍在RaspberryPi上安装的步骤。我希望Glances能提供一种方法来替换top或htop等。希望我们在即将发布的版本中得到它。