mirror of
https://github.com/nicolargo/glances.git
synced 2024-11-10 20:38:23 +03:00
350 lines
9.4 KiB
ReStructuredText
350 lines
9.4 KiB
ReStructuredText
===============================
|
|
Glances - An eye on your system
|
|
===============================
|
|
|
|
|
|
.. image:: https://img.shields.io/pypi/v/glances.svg
|
|
:target: https://pypi.python.org/pypi/Glances
|
|
.. image:: https://img.shields.io/pypi/dm/glances.svg
|
|
:target: https://pypi.python.org/pypi/glances#downloads
|
|
:alt: Downloads this month
|
|
.. image:: https://img.shields.io/github/stars/nicolargo/glances.svg
|
|
:target: https://github.com/nicolargo/glances/
|
|
:alt: Github stars
|
|
.. image:: https://travis-ci.org/nicolargo/glances.svg?branch=master
|
|
:target: https://travis-ci.org/nicolargo/glances
|
|
.. image:: https://circleci.com/gh/nicolargo/glances/tree/develop.svg?style=svg
|
|
:target: https://circleci.com/gh/nicolargo/glances/tree/develop
|
|
.. image:: https://img.shields.io/scrutinizer/g/nicolargo/glances.svg
|
|
:target: https://scrutinizer-ci.com/g/nicolargo/glances/
|
|
.. image:: https://api.flattr.com/button/flattr-badge-large.png
|
|
:target: https://flattr.com/thing/484466/nicolargoglances-on-GitHub
|
|
|
|
Follow Glances on Twitter: `@nicolargo`_ or `@glances_system`_
|
|
|
|
**Glances** is a cross-platform curses-based system monitoring tool
|
|
written in Python.
|
|
|
|
.. image:: https://raw.githubusercontent.com/nicolargo/glances/master/docs/_static/screenshot-wide.png
|
|
|
|
Requirements
|
|
============
|
|
|
|
- ``python >= 2.7`` or ``>= 3.3`` (tested with version 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]
|
|
|
|
Note for Python 2.6 users:
|
|
|
|
Glances 2.7 (or higher) no longer support Python 2.6. Please upgrade to
|
|
Python 2.7/3.3+ or downgrade Glances to 2.6.2 (latest version with Python
|
|
2.6 support).
|
|
|
|
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:
|
|
|
|
.. code-block:: console
|
|
|
|
curl -L https://bit.ly/glances | /bin/bash
|
|
|
|
or
|
|
|
|
.. code-block:: console
|
|
|
|
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``:
|
|
|
|
.. code-block:: console
|
|
|
|
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):
|
|
|
|
.. code-block:: console
|
|
|
|
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:
|
|
|
|
.. code-block:: console
|
|
|
|
git clone -b develop https://github.com/nicolargo/glances.git
|
|
|
|
|
|
To upgrade Glances to the latest version:
|
|
|
|
.. code-block:: console
|
|
|
|
pip install --upgrade glances
|
|
|
|
If you need to install Glances in a specific user location, use:
|
|
|
|
.. code-block:: console
|
|
|
|
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:
|
|
|
|
.. code-block:: console
|
|
|
|
docker pull nicolargo/glances
|
|
|
|
Run the container in console mode:
|
|
|
|
.. code-block:: console
|
|
|
|
docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances
|
|
|
|
Additionally, If you want to use your own glances.conf file, you can create your
|
|
own Dockerfile:
|
|
|
|
.. code-block:: console
|
|
|
|
FROM nicolargo/glances
|
|
COPY glances.conf /glances/conf/glances.conf
|
|
CMD python -m glances -C /glances/conf/glances.conf $GLANCES_OPT
|
|
|
|
Alternatively, you can specify something along the same lines with docker run options:
|
|
|
|
.. code-block:: console
|
|
|
|
docker run -v ./glances.conf:/glances/conf/glances.conf -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances
|
|
|
|
Where ./glances.conf is a local directory containing your glances.conf file.
|
|
|
|
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:
|
|
|
|
.. code-block:: console
|
|
|
|
# pkg install py27-glances
|
|
|
|
To install Glances from ports:
|
|
|
|
.. code-block:: console
|
|
|
|
# cd /usr/ports/sysutils/py-glances/
|
|
# make install clean
|
|
|
|
OS X
|
|
----
|
|
|
|
OS X users can install Glances using ``Homebrew`` or ``MacPorts``.
|
|
|
|
Homebrew
|
|
````````
|
|
|
|
.. code-block:: console
|
|
|
|
$ brew install python
|
|
$ pip install glances
|
|
|
|
MacPorts
|
|
````````
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo port install glances
|
|
|
|
Windows
|
|
-------
|
|
|
|
Install `Python`_ for Windows (Python 2.7.9+ and 3.4+ ship with pip) and
|
|
then just:
|
|
|
|
.. code-block:: console
|
|
|
|
$ pip install glances
|
|
|
|
Source
|
|
------
|
|
|
|
To install Glances from source:
|
|
|
|
.. code-block:: console
|
|
|
|
$ 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:
|
|
|
|
.. code-block:: console
|
|
|
|
$ glances
|
|
|
|
For the Web server mode, run:
|
|
|
|
.. code-block:: console
|
|
|
|
$ glances -w
|
|
|
|
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
|
|
|
|
For the client/server mode, run:
|
|
|
|
.. code-block:: console
|
|
|
|
$ glances -s
|
|
|
|
on the server side and run:
|
|
|
|
.. code-block:: console
|
|
|
|
$ 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:
|
|
|
|
.. code-block:: console
|
|
|
|
$ 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``, ``ElasticSearch``, ``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:: https://badges.gitter.im/Join%20Chat.svg
|
|
:target: https://gitter.im/nicolargo/glances?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
|
|
|
Author
|
|
======
|
|
|
|
Nicolas Hennion (@nicolargo) <nicolas@nicolargo.com>
|
|
|
|
License
|
|
=======
|
|
|
|
LGPL. See ``COPYING`` for more details.
|
|
|
|
.. _psutil: https://github.com/giampaolo/psutil
|
|
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
|
|
.. _@nicolargo: https://twitter.com/nicolargo
|
|
.. _@glances_system: https://twitter.com/glances_system
|
|
.. _Python: https://www.python.org/getit/
|
|
.. _readthedocs: https://glances.readthedocs.org/
|
|
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
|
|
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
|