Glances 顶级的HTOP替代方案

摘要

Glances 是一个跨平台的监控工具,旨在通过诅咒或基于Web的界面呈现大量的监控信息。信息根据用户界面的大小动态调整

它还可以在客户端/服务器模式下工作。远程监控可以通过终端、Web界面或API(XML-RPC和RESTful)来完成。还可以将统计数据导出到文件或外部时间/值数据库

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

要求

  • python>=2.7python>=3.4
  • psutil>=5.3.0(最新版本更好)
  • defusedxml(为了实现猴子路径xmlrpc)
  • future(用于Python 2支持)

Python 2.6用户注意事项

扫视不再支持Python 2.6。请至少升级到2.7/3.4+的Python版本或降级到2.6.2(支持Python 2.6的最新版本)

针对Python 2.x用户的弃用警告说明

Glance版本4.0将不再支持Python 2.x

可选依赖项:

  • bernhard(用于Riemann导出模块)
  • bottle(用于Web服务器模式)
  • cassandra-driver(用于Cassandra导出模块)
  • chevron(对于操作脚本功能)
  • couchdb(对于CouchDB导出模块)
  • docker(用于Docker监控支持)[仅Linux/MacOS]
  • elasticsearch(对于弹性搜索导出模块)
  • graphitesender(适用于Graphite导出模块)
  • hddtemp(支持硬盘温度监控)[仅限Linux]
  • influxdb(适用于InfluxDB版本1导出模块)
  • influxdb-client(适用于InfluxDB版本2导出模块)[仅适用于Python>=3.6]
  • kafka-python(用于卡夫卡导出模块)
  • netifaces(适用于IP插件)
  • py3nvml(适用于GPU插件)[仅适用于Python 3]
  • pika(适用于RabbitMQ/ActiveMQ导出模块)
  • potsdb(适用于OpenTSDB导出模块)
  • prometheus_client(适用于普罗米修斯出口模块)
  • py-cpuinfo(适用于QuickLook CPU信息模块)
  • pygal(用于图形导出模块)
  • pymdstat(用于RAID支持)[仅限Linux]
  • pysnmp(用于SNMP支持)
  • pySMART.smartx(用于硬盘智能支持)[仅限Linux]
  • pyzmq(适用于ZeroMQ导出模块)
  • requests(针对端口、云插件和REST风格的导出模块)
  • scandir(适用于文件夹插件)[仅适用于Python<3.5]
  • sparklines(适用于快速插件迷你图选项)
  • statsd(用于StatsD导出模块)
  • wifi(适用于wifi插件)[仅限Linux]
  • zeroconf(对于自动发现模式)

安装

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

PyPI:简单的方法

“扫视”处于打开状态PyPI通过使用PyPI,您将使用最新的稳定版本

要安装扫视,只需使用pip

pip install --user glances

注意事项:需要Python标头才能安装psutil,看一眼就知道了。例如,在Debian/Ubuntu上,您需要首先安装Python-dev包裹(Python-devel在Fedora/CentOS/RHEL上)。对于Windows,只需从二进制安装文件安装psutil

注2(适用于Wifi插件):如果您想使用Wifi插件,您需要安装无线-工具系统上的软件包

您还可以安装下列库以使用可选功能(如Web界面、导出模块):

pip install --user 'glances[action,browser,cloud,cpuinfo,docker,export,folders,gpu,graph,ip,raid,snmp,web,wifi]'

要将扫视升级到最新版本,请执行以下操作:

pip install --user --upgrade glances
pip install --user --upgrade glances[...]

如果需要在特定用户位置安装扫视,请使用:

export PYTHONUSERBASE=~/mylocalpath
pip install --user glances

如果您是管理员,并且要为所有用户安装扫视,请执行以下操作:

sudo pip install glances

当前的开发分支也发布到test.pypi.org包索引。如果要测试开发版本,请输入:

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

自动安装脚本一瞥:总而言之

要同时安装依赖项和最新的扫视生产就绪版本(又名师傅分支),只需输入以下命令行:

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

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

注意事项:这只在一些GNU/Linux发行版和MacOSX上受支持。如果您想支持其他发行版,请贡献给glancesautoinstall

多克:有趣的方式

一瞥容器是可用的。您可以使用它来监控您的服务器和所有其他容器!

获取扫视容器:

docker pull nicolargo/glances:<version>

示例:

  • Nicolargo/扫视:3.2.0(或尼古拉/扫视:阿尔卑斯-3.2.0)用于具有最小依赖关系的版本3.2.0
  • Nicolargo/扫视:3.2.0-Full对于具有完全依赖关系的版本3.2.0

有关完整的图像列表,请执行以下操作:

将容器放入控制台模式

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:3.2.0-full

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

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

或者,可以使用停靠码头管路选项沿相同的路线指定某些内容:

docker run -v `pwd`/glances.conf:/glances/conf/glances.conf -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it nicolargo/glances:3.2.0-full

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

将容器放入Web服务器模式(请注意GOLENICS_OPT环境变量设置GLEANCES STARTUP命令的参数):

docker run -d --restart="always" -p 61208-61209:61208-61209 -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host nicolargo/glances:3.2.0-full

GNU/Linux

Glance在许多Linux发行版上都可用,因此您应该能够使用您最喜欢的包管理器来安装它。请注意,当您使用此方法时,操作系统package因为浏览可能不是最新版本

FreeBSD

要安装二进制软件包,请执行以下操作:

# pkg install py37-glances

要从端口安装扫视,请执行以下操作:

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

MacOS

如果不想使用glancesautoinstall脚本,请按照以下过程操作

MacOS用户可以使用HomebrewMacPorts

自制酒

$ brew install glances

MacPorts

$ sudo port install glances

窗口

安装Python对于Windows(Python 2.7.9+和3.4+随pip一起提供),然后运行以下命令:

$ pip install glances

安卓系统

您需要一个带根的设备,并且Termux应用程序(在Google Play商店提供)

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

$ apt update
$ apt upgrade
$ apt install clang python
$ pip install bottle
$ pip install glances

开始扫视:

$ glances

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

来源

要从源安装扫视,请执行以下操作:

$ 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(感谢安东尼·鲁耶)

木偶

您可以使用以下命令安装扫视Puppethttps://github.com/rverchere/puppet-glances

可笑的

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

用法

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

$ glances

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

$ glances -w

并输入URLhttp://<ip>:61208在您最喜欢的Web浏览器中

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

$ glances -s

在服务器端,并运行:

$ glances -c <ip>

在客户端1上

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

$ glances --browser

您还可以在stdout上显示原始统计信息:

$ 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}
...

或CSV格式,这要归功于stdout-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
...

和RTFM,总是

文档

有关完整的文档,请查看readthedocs网站

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

其他服务的网关

扫视可以将统计数据导出到:CSV文件,JSON文件,InfluxDBCassandraCouchDBOpenTSDBPrometheusStatsDElasticSearchRabbitMQ/ActiveMQZeroMQKafkaRiemannGraphiteRESTful服务器

如何贡献?

如果你想为“扫视”项目做贡献,请阅读这篇文章。wiki页面

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



捐赠

如果这个项目对你有帮助,你可以给我小费;)

请参阅sponsors页面

作者

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


许可证

Glance是在LGPL版本3许可下分发的。看见COPYING有关更多详细信息,请参阅