Glances是一款免费、开源、现代且跨平台的实时系统监控工具,类似于top和htop。它不仅具备先进的功能,还能在多种模式下运行:独立模式、客户端/服务器模式以及Web服务器模式。
在Web服务器模式下,无需通过 SSH 登录远程服务器即可监控Linux服务器。只需将 Glances配置为Web服务器模式,然后通过Web浏览器访问它,即可实现远程监控,具体操作如下所述。
要以Web服务器模式运行Glances,您需要安装Python的Bottle模块(一个快速、简单且轻量级的WSGI微型Web框架),并使用适合Linux发行版的命令完成安装:
$ sudo apt install gazells python-bottle [在Debian、Ubuntu 和 Mint上]
$ sudo yum install gazels python-bottle [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
$ sudo emerge -a sys-apps/glances python-bottle [在Gentoo Linux上]
$ sudo apk add gazells python-bottle [在Alpine Linux上]
$ sudo pacman -S gazells python-bottle [在Arch Linux上]
$ sudo zypper install gazells python-bottle [在OpenSUSE上]
还可以直接用显示的PIP命令安装:
$ sudo pip install bottle
安装好上述软件包后,使用标志启用Glances-w在web服务器模式下运行,默认监听端口是62108:
$glances -w
或
$glances -w &
如果正在运行firewalld服务,应打开端口61208:
$ sudo firewall-cmd --permanent --add-port=61208/tcp
$ sudo firewall-cmd --reload
对于UFW防火墙可以运行:
$ sudo ufw allow 61208/tcp
$ sudo ufw reload
然后再用web浏览器用URLhttp://SERVER_IP:61208/访问 Glances UI。如果使用sysytemd系统和服务管理器,可以把Glances作为服务以 Web 服务器模式运行,让管理更高效。先在/usr/lib/systemd/system/glancesweb.service下创建服务单元文件(如把其命名为gazersweb.service)。
$ sudo vim /usr/lib/systemd/system/glancesweb.service
再将下面单元文件配置复制和粘贴到其中:
[Unit]
Description = Glances in Web Server Mode
After = network.target
[Service]
ExecStart = /usr/bin/glances -w -t 5
[Install]
WantedBy = multi-user.target
以上命令显示sysyemd是unit-of-type 服务,应在network.target之后加载。当系统处于网络目标中,systemd会用服务形式调用命令“ /usr/bin/glances -w -t 5-t ”指定实时更新的间隔。
这部分内容告诉 systemd,multi-user.target 需要 glancesweb.service 服务。因此,当您启用该服务时,systemd 会在 /etc/systemd/system/multi-user.target.wants/ 目录下创建一个符号链接,指向 /usr/lib/systemd/system/glancesweb.service。如果禁用该服务,这个符号链接将被删除。
启用新sysytemd服务,启动并查看器状态:
$ sudo systemctl enable glancesweb.service
$ sudo systemctl start glancesweb.service
$ sudo systemctl status glancesweb.service
在web浏览器中使用URLhttp://SERVER_IP:61208/通过Glances UI在任何设备上远程监控Linux服务器。还可以改变页面刷新率,只要在URL末尾添加以秒为单位据点,即可刷新率设置为8秒:
http://SERVERI_P:61208/8
