Skip to content

监控浏览您的系统。 GNU/Linux、BSD、Mac OS 和 Windows 操作系统的 top/htop 替代方案。

License

Notifications You must be signed in to change notification settings

yuanzhongqiao/glances

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一览 - 关注您的系统

Github 星星 Docker 拉取 皮皮下载 Linux 测试(GitHub 操作) 贡献者 代码质量 赞助商 @nicolargo

概括

Glances是一款开源系统跨平台监控工具。它可以实时监控系统的各个方面,如CPU、内存、磁盘、网络使用情况等。它还可以监控正在运行的进程、登录用户、温度、电压、风扇速度等。它还支持容器监控、支持Docker、LXC等不同的容器管理系统。该信息显示在易于阅读的仪表板中,也可用于通过 Web 界面或命令行界面远程监控系统。它易于安装和使用,并且可以自定义以仅显示您感兴趣的信息。

https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/glances-summary.png

在客户端/服务器模式下,可以通过终端、Web 界面或 API(XML-RPC 和 RESTful)进行远程监控。统计数据还可以导出到文件或外部时间/值数据库、CSV 或直接输出到 STDOUT。

https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/glances-responsive-webdesign.png

Glances 是用 Python 编写的,并使用库从您的系统中获取信息。它基于开放式架构,开发人员可以在其中添加新插件或导出模块。

项目赞助

您可以帮助我实现改进这个开源项目的目标,或者只是通过以下方式说“谢谢”:

  • 使用一次性或每月级别的 Github赞助商页面赞助我
  • 给我发送一些比特币:185KN9FCix3svJYp7JQM7hRMfSKyeaJR4X
  • 在我的愿望清单页面上给我买一件礼物

非常感谢任何和所有的贡献。

要求

  • python>=3.8(较低的Python版本请使用Glances 3.4.x)
  • psutil>=5.3.0(最新版本更好)
  • defusedxml(为了猴子补丁xmlrpc)
  • ujson(标准 json 模块的优化替代方案)

Python 2 用户注意事项

Glances 版本 4 或更高版本不支持 Python 2(和 Python 3 < 3.8)。如果您需要 Python 2 支持,请使用 Glances 版本 3.4.x。

可选依赖项:

  • batinfo(用于电池监控)
  • bernhard(对于黎曼导出模块)
  • cassandra-driver(对于 Cassandra 导出模块)
  • chevron(对于动作脚本功能)
  • docker(用于容器 Docker 监控支持)
  • elasticsearch(对于Elastic Search导出模块)
  • FastAPIUvicorn(对于 Web 服务器模式)
  • graphitesender(对于Graphite导出模块)
  • hddtemp(用于硬盘温度监控支持)[仅限 Linux]
  • influxdb(对于 InfluxDB 版本 1 导出模块)
  • influxdb-client (对于 InfluxDB 版本 2 导出模块)
  • jinja2(用于模板化,由 FastAPI 在后台使用)
  • kafka-python(对于Kafka导出模块)
  • netifaces(对于IP插件)
  • orjson(快速 JSON 库,由 FastAPI 在后台使用)
  • py3nvml(对于 GPU 插件)
  • pycouchdb(对于 CouchDB 导出模块)
  • pika(对于RabbitMQ/ActiveMQ导出模块)
  • podman(用于容器 Podman 监控支持)
  • potsdb(对于OpenTSDB导出模块)
  • prometheus_client(对于 Prometheus 导出模块)
  • py-cpuinfo(对于 Quicklook CPU 信息模块)
  • pygal(对于图形导出模块)
  • pymdstat(用于 RAID 支持)[仅限 Linux]
  • pymongo(对于 MongoDB 导出模块)
  • pysnmp(用于 SNMP 支持)
  • pySMART.smartx(用于 HDD 智能支持)[仅限 Linux]
  • pyzmq(对于 ZeroMQ 导出模块)
  • requests(适用于端口、云插件和 RESTful 导出模块)
  • sparklines(对于快速插件迷你图选项)
  • statsd(对于 StatsD 导出模块)
  • wifi(适用于 wifi 插件)[仅限 Linux]
  • zeroconf(对于自动发现模式)

安装

有多种方法可以在您的系统上测试/安装 Glances。选择你的武器!

PyPI:标准方式

目光已开启PyPI。通过使用 PyPI,您将使用最新的稳定版本。

要安装 Glances,只需使用pip

pip install --user glances

注意:安装psutil(Glances 依赖项)需要 Python 标头。例如,在 Debian/Ubuntu 上,最简单的apt install python3-psutil或者需要首先安装python-dev软件包和 gcc(在 Fedora/CentOS/RHEL 上为python-devel)。对于 Windows,只需从二进制安装文件安装 psutil。

注2(对于Wifi插件):如果您想使用Wifi插件,您需要在系统上安装wireless-tools包。

默认情况下,Glances 安装时不包含 Web 界面依赖项。要安装它,请使用以下命令:

pip install --user 'glances[web]'

对于完整安装(具有所有功能):

pip install --user 'glances[all]'

要将 Glances 升级到最新版本:

pip install --user --upgrade glances

当前的开发分支已发布到 test.pypi.org 包索引。如果您想测试开发版本(可能不稳定),请输入:

pip install --user -i https://test.pypi.org/simple/ Glances

Glances 自动安装脚本:简单的方法

要安装依赖项和最新的 Glances 生产就绪版本(也称为分支),只需输入以下命令行:

curl -L https://bit.ly/glances | /bin/bash

或者

wget -O- https://bit.ly/glances | /bin/bash

注意:这仅在某些 GNU/Linux 发行版和 Mac OS X 上受支持。如果您想支持其他发行版,请贡献给Glacesautoinstall

Docker:有趣的方式

Glances Docker 镜像可用。您可以使用它来监控您的服务器和所有容器!

获取 Glances 容器:

docker pull nicolargo/glances:latest-full

以下标签可用:

  • latest-full包含所有依赖项的完整 Alpine Glances 映像(最新版本)
  • 最新的基本 Alpine Glances(最新版本)版本,具有最小的依赖性(FastAPI 和 Docker)
  • 开发具有所有依赖项的基本 Alpine Glances 映像(基于开发分支)(警告:可能不稳定)
  • ubuntu-latest-full用于包含所有依赖项的完整 Ubuntu Glances 映像(最新版本)
  • ubuntu-latest用于具有最小依赖性的基本 Ubuntu Glances(最新版本)版本(FastAPI 和 Docker)
  • ubuntu-dev用于具有所有依赖项的基本 Ubuntu Glances 映像(基于开发分支)(警告:可能不稳定)

在控制台模式下运行最新版本的 Glances 容器:

docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full

默认情况下,使用 /etc/glances/glances.conf 文件(基于 docker-compose/glances.conf)。

此外,如果您想使用自己的glances.conf文件,您可以创建自己的Dockerfile:

FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT

或者,您可以使用 docker run 选项指定相同的内容(请注意 Glaces 启动命令的 GLANCES_OPT 环境变量设置参数):

docker run -e TZ="${TZ}" -v `pwd`/glances.conf:/root/.config/glances/glances.conf -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /root/.config/glances/glances.conf" -it nicolargo/glances:latest-full

其中`pwd`/glances.conf是包含glances.conf文件的本地目录。

以Web服务器模式运行容器:

docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full

有关选项的完整列表,请参阅 Glances Docker文档页面。

GNU/Linux

Glances 可在许多 Linux 发行版上使用,因此您应该能够使用您最喜欢的包管理器来安装它。请注意,当您使用此方法时,Glances 的操作系统可能不是最新版本,并且仅启用基本插件。

注意:Debian 软件包(以及所有其他基于 Debian 的发行版)不再包含 Web 界面使用的 JS 静态文件(请参阅 参考资料issue2021)。如果您想将其添加到 Glances 安装中,请按照说明操作:issue2021comment

自由BSD

要安装二进制包:

# pkg install py38-glances

要从端口安装 Glances:

# cd /usr/ports/sysutils/py-glances/
# make install clean

苹果系统

如果您不想使用 Glacesautoinstall 脚本,请按照此过程操作。

macOS 用户可以使用Homebrew或安装 Glances MacPorts

自制

$ brew install glances

Mac端口

$ sudo port install glances

视窗

安装适用于 Windows 的Python(Python 3.4+ 附带 pip),然后运行以下命令:

$ pip install glances

安卓

您需要已取得 root 权限的设备和Termux应用程序(可在 Google Play 商店中获取)。

在您的设备上启动 Termux 并输入:

$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn orjson jinja2
$ pip install glances

并开始一览:

$ glances

您还可以在服务器模式(-s 或 -w)下运行 Glances,以便远程监控您的 Android 设备。

来源

要从源安装 Glances:

$ wget https://github.com/nicolargo/glances/archive/vX.Y.tar.gz -O - | tar xz
$ cd glances-*
# python setup.py install

注意:安装 psutil 需要 Python 标头。

厨师

一本很棒的Chef食谱可用于监控您的基础设施: https://supermarket.chef.io/cookbooks/glances(感谢 Antoine Rouyer)

木偶

您可以使用以下方式安装 Glances Puppethttps://github.com/rverchere/puppet-glances

安西布尔

Ansible可用的Glances角色: https ://galaxy.ansible.com/zaxos/glances-ansible-role/

用法

对于独立模式,只需运行:

$ glances

对于 Web 服务器模式,运行:

$ glances -w

并在您最喜欢的网络浏览器中输入 URL http://<ip>:61208

对于客户端/服务器模式,运行:

$ glances -s

在服务器端并运行:

$ glances -c <ip>

在客户端一上。

您还可以检测并显示网络上可用或配置文件中定义的所有 Glances 服务器:

$ glances --browser

您还可以在标准输出上显示原始统计信息:

$ glances --stdout cpu.user,mem.used,load
cpu.user: 30.7
mem.used: 3278204928
load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27}
cpu.user: 3.4
mem.used: 3275251712
load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27}
...

或者通过 stdout-csv 选项采用 CSV 格式:

$ glances --stdout-csv now,cpu.user,mem.used,load
now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15
2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04
2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04
...

或者通过 stdout-json 选项采用 JSON 格式(此模式不支持属性,以便在输出中拥有真正的 JSON 对象):

$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...

和 RTFM,始终如此。

文档

如需完整文档,请访问readthedocs网站。

如果您有任何问题(RTFM之后!),请在官方问答论坛上发布。

通往其他服务的网关

Glances可以将 统计 信息导出到:CSV文件、JSON文件、、、、、、、、、、、、、、和服务器。_InfluxDBCassandraCouchDBOpenTSDBPrometheusStatsDElasticSearchRabbitMQ/ActiveMQZeroMQKafkaRiemannGraphiteRESTful

如何贡献?

如果您想为 Glances 项目做出贡献,请阅读此wiki页面。

还有一个专门针对 Glances 开发人员的聊天:

作者

尼古拉斯·亨尼恩 (@nicolargo) < nicolas@nicolargo.com >

https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo

执照

Glances 是根据 LGPL 版本 3 许可证分发的。请参阅COPYING了解更多详情。

About

监控浏览您的系统。 GNU/Linux、BSD、Mac OS 和 Windows 操作系统的 top/htop 替代方案。

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 85.8%
  • Vue 10.6%
  • Makefile 1.2%
  • JavaScript 1.1%
  • Dockerfile 0.7%
  • SCSS 0.5%
  • Other 0.1%