Linux-系统监控工具-Glances-多功能 (linux属于什么操作系统)

教程大全 2025-07-20 16:52:27 浏览

Linux 上最常用的命令行进程监控工具是和它那色彩斑斓、功能丰富的表弟htop。

要监控 Linux 上的温度,可以使用lm-sensors。同样,还有很多实用工具可以监控其他实时指标,如磁盘 I/O、网络统计等。

Glances是一个系统监控工具,它把这些都联系在一起,并提供了更多的功能。我最喜欢的是,你可以在远程 Linux 服务器 上运行 Glances 来监控本地系统的系统资源,也可以通过 Web 浏览器监控。

下面是它的外观。下面截图中的终端已经用 Pywal 工具美化过,可以根据壁纸自动改变颜色。

你也可以将它集成到像Grafana这样的工具中,在一个直观的仪表盘中监控统计数据。

它是用 Python 编写的,这意味着它的绝大多数功能都可以在大多数平台上使用

Glances 的功能

让我们快速浏览一下 Glances 提供的主要功能:

在 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| /bin/bash

你可以从他们的文档中查看其他安装 Glances 的方法,甚至你还可以把它作为一个 Docker 容器来安装。

使用 Glances 监控本地系统上的 Linux 系统资源(独立模式)

你可以通过在终端上运行这个命令,轻松启动 Glances 来监控你的本地机器:

你可以立即观察到,它将很多不同的信息整合在一个屏幕上。我喜欢它在顶部显示电脑的公共和私人 IP:

Glances 也是交互式的,这意味着你可以在它运行时使用命令与它互动。你可以按将传感器显示在屏幕上;按将 TCP 连接列表显示在屏幕上;按将 CPU 统计扩展到显示单个线程。

你也可以使用方向键在进程列表中移动,并按不同的指标对表格进行排序。

你可以通过各种命令行选项来启动 Glances。此外,它还有很多交互式命令。你可以在他们的丰富的文档中找到完整的列表。

按键退出 Glances。

使用 Glances 监控远程 Linux 系统(客户端-服务器模式)

要监控远程计算机,你可以在客户端-服务器模式下使用 Glances。你需要在两个系统上都安装 Glances。

在远程 Linux 系统上,使用选项在服务器模式下启动 Glances:

在客户端系统中,使用下面的命令在客户端模式下启动 Glances 并连接到服务器:

glances -c server_ip_address

你也可以通过 SSH 进入任何一台电脑,然后启动 Glances,它可以完美地工作。更多关于客户端-服务器模式的信息请看这里。

使用 Glances 在 Web 浏览器中监控 Linux 系统资源(Web 模式)

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

要在 Web 模式下启动 Glances,请使用选项:

请注意,即使在 Linux 服务器上,它也可能显示 “Glances Web User Interface started on”,而实际上它使用的是服务器的 IP 地址。

最主要的是它使用的是 61208 端口号,你可以用它来通过网络浏览器访问 Glances。只要在服务器的 IP 地址后面输入端口号,比如。

你也可以在本地系统中使用或访问。

Web 模式也模仿终端的样子。网页版是根据响应式设计原则打造的,即使在手机上也很好看。

你可能想用密码来保护 Web 模式,这样只有授权的人才能使用它。默认的用户名是。

root@localhost:~# glances -w --passwordDefine the Glances webserver password (glances username):Password (confirm):Do you want to save the password? [Yes/No]: nGlances Web User Interface started on

你可以在快速入门指南中找到关于配置密码的更多信息。

导出 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这样的工具可以很容易地构建一个统一的仪表盘来监控多个服务器。

linux属于什么操作系统

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

关于 Glances 的结束语

Glances 使用psutilPython 库来访问不同的系统统计数据。早在 2017 年,我就曾使用相同的库构建了一个简单的 API 服务器来检索 CPU 的使用情况。我能够使用 Node-RED 构建的仪表盘监控一个集群中的所有树莓派。

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

在写这篇文章的时候,我确实尝试着在我的树莓派上安装 Glances,可惜所有的安装方法都出现了一些错误,失败了。当我成功后,我会更新文章,或者可能再写一篇文章,介绍在树莓派上安装的步骤。

我希望 Glances 能提供一种顶替或等的方法。让我们希望在即将到来的版本中得到它。

我希望这能给你提供大量关于 Glances 的信息。你们使用什么系统监控工具呢,请在评论中告诉我。



嵌入式Linux系统下 如何在CPU占用率过高的时候重启

用脚本就可以搞定的! 当发现CPU占用率过高时,会自动重启相关程序。 。 #设置最大内存占用百分比PID_MEM_MAX=”85″#设置最大系统负载SYS_LOAD_MAX=”1″#设置需要监控的服务名称NAME_LIST=”PHP5-cgimysql”forNAMEin$NAME_LISTdo#初始化内存统计PID_MEM_SUM=0#获取该程序总进程数PID_NUM_SUM=`psaux|grep$NAME|wc-l`#列出每个进程内存占用百分比PID_MEM_LIST=`psaux|grep$NAME|awk‘{print$4}’`#计算所有进程总内存占用forPID_MEMin$PID_MEM_LISTdoPID_MEM_SUM=`echo$PID_MEM_SUM+$PID_MEM|bc`done#获取最近一分钟系统负载SYS_LOAD=`uptime|awk‘{print$(NF-2)}’|sed‘s/,//’`#比较内存占用和系统负载是否超过阀值MEM_VULE=`awk‘BEGIN{print(‘”$PID_MEM_SUM”‘>=’”$PID_MEM_MAX”‘?”1″:”0″)}’`LOAD_VULE=`awk‘BEGIN{print(‘”$SYS_LOAD”‘>=’”$SYS_LOAD_MAX”‘?”1″:”0″)}’`#如果系统内存占用和系统负载超过阀值,则进行下面操作。 if[$MEM_VULE=1]||[$LOAD_VULE=1];then#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“killall$NAME”“(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>>/var/log/#正常停止服务/etc/init.d/$NAMEstopsleep3#强制关闭pkill$NAME#重启/etc/init.d/$NAMEstart#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”“(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>>/var/log/“$NAMEveryhealth!(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>/dev/nullfidone以上代码保存为一个文件,例如:auto_添加计划任务,设置每分钟检查一次(注意文件的位置要搞正确)crontab-e*****/bin/bash/root/auto_请确保您的Linux系统中已经安装了bc,否则会出现错误。 查看是否安装了bc可以使用命令:bc-v如果没有安装,centos可以用yum-yinstallbc安装,然后执行命令:sh/bin/bash/root/auto_服务器根据CPU负载及内存占用自动重启的bashshell脚本:#!/bin/sh#usage:*/2****root/root/#[CentOS]VPS服务器根据CPU负载及内存占用自动重启脚本#设置最小剩余内存,一般至少要剩余50M可用(单位兆)FREE_MEM_MIN=”50″#设置最大系统负载SYS_LOAD_MAX=”3″#设置重启服务的最小剩余内存(单位兆)RESTART_FREE_MEM_MIN=”500″#设置需要监控的服务名称NAME_LIST=”HTTPdmysqld”forNAMEin$NAME_LISTdo#获得剩余内存(单位兆)FREE_MEM=`free-m|grepMem|awk‘{print$4}’`#获得已用内存(单位兆)#FREE_MEM=`free-m|grepMem|awk‘{print$3}’`#获取最近一分钟系统负载SYS_LOAD=`uptime|awk‘{print$(NF-2)}’|sed‘s/,//’`#比较内存占用和系统负载是否超过阀值MEM_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘<’”$FREE_MEM_MIN”‘?”1″:”0″)}’`LOAD_VULE=`awk‘BEGIN{print(‘”$SYS_LOAD”‘>=’”$SYS_LOAD_MAX”‘?”1″:”0″)}’`#测试结果#LOAD_VULE=”1″#echo$(date+”%y-%m-%d%H:%M:%S”)“DEBUG$NAME”“(FREE_MEM:$FREE_MEM|$MEM_VULE,LOAD:$SYS_LOAD|$LOAD_VULE)”>>/var/log/autoreboot_#如果系统内存占用和系统负载超过阀值,则进行下面操作。 if[$MEM_VULE=1]||[$LOAD_VULE=1];then#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“killall$NAME”“(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>>/var/log/#正常停止服务service$NAMEstopsleep3#强制关闭skill$NAME#重启sleep10foriin123doFREE_MEM=`free-m|grepMem|awk‘{print$4}’`MEM_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘>=’”$RESTART_FREE_MEM_MIN”‘?”1″:”0″)}’`if[`pgrep$NAME|wc-l`-le0]&&[$MEM_VULE=1]thenservice$NAMEstartsleep15echo“AutoStart:”$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”`ps-ef|grep$NAME|wc-l`>/var/log/#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”“(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>>/var/log/_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘>=’”$RESTART_FREE_MEM_MIN”‘?”1″:”0″)}’`if[`pgrep$NAME|wc-l`-le0]&&[$MEM_VULE=1]thenservice$NAMEstartsleep15echo“AutoStart:”$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”`ps-ef|grep$NAME|wc-l`>/var/log/“$NAMEveryhealth!(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>/dev/nullfifidone

如何查看shell脚本是否正常运行,跪求liunx大神

因为不知道你的是什么脚本,不好判断。 bash -x 检测整个脚本实际运行过程是否正确对脚本执行加以监控,你可以通过在脚本中加入一些脚本执行状态结果的语句比如导出个日志文件啦,或者对执行结果进行判断啦,如果脚本是驻留在进程里,判断进程中是否有脚本啦,然后给你发个执行结果邮件。 还是得根据实际情况写。

我想要一些twilight中的经典台词(归纳一下)

1. Yes, it is enough. Enough for forever. (Edward)够,永远够了。 2. Surely it was a good way to die, in the place ofsomeone else, someone I loved. Noble,even. THat ought to count forsomething. (Bella)这无疑是个不错的死法,死在别人——我所钟爱的人的家里,甚至可以说,轰轰烈烈。 这应该算是死得其所。 3. When life offers you a dream so far beyond any ofyour expectations, it’s not reasonableto grieve when it comes to an end.(Bella)当生活给了你一个远远超过你期望的美梦,那么,当这一期结束时,也就没有理由再去伤心。 4. Sometimes I wondered if I was seeing the samethings through my eyes that the rest of theworld was seeing through there was a glitch in my brain. (Bella)有时候,我在想我眼里所看到的和世上所有其他人眼里所看到的是不是同样的东西。 也许,我脑袋里哪里短路了。 5. So did you stab Edward Cullen with a pencil orwhat? I’ve never seen him act like that. (Mike)那你有没有用铅笔什么的刺了EdwardCullen一下?我从来没有见过他那样。 6. Forks was literally my personal hell on earth.(Bella)Forks对我而言,简直就是一座人间地狱。 7. Once people start throwing wet stuff I go inside.(Bella)人们只要一开始扔湿东西,我就往屋里钻。 8. Edward Cullen is staring at you. (Jessica)Edward Cullen在盯着你看呢。 9. He unleashed the full, devastating power of hiseyes on me, as if trying to communicatesomething crucial. (Bella)他把那双眼睛的全部魅力都释放在我身上了,好像试图跟我说某件至关重要的事情似的。 10. I wasn’t interesting. And he …and brilliant…and mysterious…andperfect…and beautiful…andpossibly able to lift full-sized vans with one hand. (Bella)我没有意思,他有。 有意思……才华横溢……神秘莫测……完美无缺……仪表堂堂,而且还能够单手举起大型客货两用车。 11. Bella it’s not my fault if you are exceptionallyunobservant. (Edward)这可不能怪我,谁叫你这么不小心。 12. I thought you were suppose to be pretending Idon’t exist, not irritating me to death. (Bella)我看你是在装着没看见我在你后面,这没把我给气死。 13. Stupid, shiny volvo owner. (Bella)蠢货,这个开闪亮的VOLVO的家伙。 14. It was hard to believe that someone so beautifulcould be real. I was afraid that he might disappear in a sudden puff of smoke,and I would wake up. (Bella)很难相信居然真的有这么美的人。 我害怕他会突然像一缕青烟一样消失掉,而我就像做了一场梦一样。 15. I decided as long as I was going to hell, Imight as well do it thoroughly. (Edward)我想好了,反正是下地狱,我还不如来他个一不做二不休。 (16. I had been vacillating during the last monthbetween Bruce Wayne and Peter Parker. There was no way I was going to own up tothat. (Bella)上个月我一直认为他不是蝙蝠侠Bruce Wayne,就是蜘蛛侠PeterParker,老在这两人中犹豫不决。 我要坦白承认,那是绝对不可能的。 17. What if I’m not a superhero? What if I’m thebad guy?要是我不是超级英雄呢?要是我是个坏蛋呢?18. So you faint at the sight of blood? (Edward)这儿说,你看到血就发晕?19. You scared me for a minute there. I thoughtNewton was dragging your dead body off to bury it in the woods. (Edward)你在那儿可把我吓坏了好一会,我还以为Newton拖着你的尸体,要把你埋到树林里去呢。 20. Honestly-I’ve seen corpses with bettercolor. I was concerned that I might have to avenge your murder. (Edward)不瞒你说——我见过颜色更好看的尸体。 我当时一心想做的,就是我可能得报复杀害你的凶手

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐