Skip to content

zwendzw/glances

 
 

Repository files navigation

Glances - An eye on your system

image

Downloads this month

Github stars

image

image

image

image

Follow Glances on Twitter: @nicolargo or @glances_system

Glances is a cross-platform curses-based system monitoring tool written in Python.

image

Requirements

  • python >= 2.6 or >= 3.3 (tested with version 2.6, 2.7, 3.3, 3.4, 3.5)
  • psutil >= 2.0.0
  • setuptools

Optional dependencies:

  • bottle (for Web server mode)
  • py3sensors (for hardware monitoring support) [Linux-only]
  • hddtemp (for HDD temperature monitoring support) [Linux-only]
  • batinfo (for battery monitoring support) [Linux-only]
  • pymdstat (for RAID support) [Linux-only]
  • pysnmp (for SNMP support)
  • zeroconf (for the autodiscover mode)
  • netifaces (for the IP plugin)
  • influxdb (for the InfluxDB export module)
  • statsd (for the StatsD export module)
  • pystache (for the action script feature)
  • docker-py (for the Docker monitoring support) [Linux-only]
  • matplotlib (for graphical/chart support)
  • pika (for the RabbitMQ/ActiveMQ export module)
  • bernhard (for the Riemann export module)
  • py-cpuinfo (for the Quicklook CPU info module)
  • scandir (for the Folders plugin) [Only for Python < 3.5]

Installation

Several method to test/install Glances on your system. Choose your weapon !

Glances Auto Install script: the total way

To install both dependencies and latest Glances production ready version (aka master branch), just enter the following command line:

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

or

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

Note: Only supported on some GNU/Linux distributions. If you want to support other distributions, please contribute to glancesautoinstall.

PyPI: The simple way

Glances is on PyPI. By using PyPI, you are sure to have the latest stable version.

To install, simply use pip:

pip install glances

Note: Python headers are required to install psutil. For example, on Debian/Ubuntu you need to install first the python-dev package. For Fedora/CentOS/RHEL install first python-devel package.

You can also install the following libraries in order to use optional features (like the Web interface):

pip install bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb potsdb statsd pystache docker-py pysnmp pika py-cpuinfo scandir

Install or upgrade Glances from the Git develop repository:

git clone -b develop https://github.com/nicolargo/glances.git

To upgrade Glances to the latest version:

pip install --upgrade glances

If you need to install Glances in a specific user location, use:

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

Docker: the funny way

A Glances container is available. It will include the latest development HEAD version. You can use it to monitor your server and all your others containers !

Get the Glances container:

docker pull nicolargo/glances

Run the container in console mode:

docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances

GNU/Linux

At the moment, packages exist for the following GNU/Linux distributions:

  • Arch Linux
  • Debian
  • Fedora/CentOS/RHEL
  • Gentoo
  • Slackware (SlackBuild)
  • Ubuntu
  • Void Linux

So you should be able to install it using your favorite package manager.

FreeBSD

To install the binary package:

# pkg install py27-glances

To install Glances from ports:

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

OS X

OS X users can install Glances using Homebrew or MacPorts.

Homebrew

$ brew install python
$ pip install glances

MacPorts

$ sudo port install glances

Windows

Install Python for Windows (Python 2.7.9+ and 3.4+ ship with pip) and then just:

$ pip install glances

Source

To install Glances from source:

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

Note: Python headers are required to install psutil. For example, on Debian/Ubuntu you need to install first the python-dev package.

Chef

An awesome Chef cookbook is available to monitor your infrastructure: https://supermarket.chef.io/cookbooks/glances (thanks to Antoine Rouyer)

Puppet

You can install Glances using Puppet: https://github.com/rverchere/puppet-glances

Known issue on RHEL/CentOS/Fedora installation

For Python 2.6 RedHat-based distros there might be an issue with starting Glances:

Traceback (most recent call last): File "/usr/bin/glances", line 5, in <module> from pkg_resources import load_entry_point File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module> workingset.require(_requires) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: argparse

Try upgrading setuptools, has been proven to solve the problem:

sudo pip install -U setuptools

Usage

For the standalone mode, just run:

$ glances

For the Web server mode, run:

$ glances -w

and enter the URL http://<ip>:61208 in your favorite web browser.

For the client/server mode, run:

$ glances -s

on the server side and run:

$ glances -c <ip>

on the client one.

You can also detect and display all Glances servers available on your network or defined in the configuration file:

$ glances --browser

and RTFM, always.

Documentation

For complete documentation have a look at the readthedocs website.

If you have any question (after RTFM!), please post it on the official Q&A forum.

Gateway to other services

Glances can export stats to: CSV file, InfluxDB, OpenTSDB, StatsD, RabbitMQ and Riemann server.

How to contribute ?

If you want to contribute to the Glances project, read this wiki page.

There is also a chat dedicated to the Glances developers:

image

Author

Nicolas Hennion (@nicolargo) <nicolas@nicolargo.com>

License

LGPL. See COPYING for more details.

Packages

No packages published

Languages

  • Python 88.3%
  • JavaScript 5.8%
  • HTML 5.2%
  • Other 0.7%