README.rst 10.0 KB
Newer Older
N
Nicolas Hennion 已提交
1 2 3 4
===============================
Glances - An eye on your system
===============================

N
Nicolargo 已提交
5 6
.. image:: https://img.shields.io/pypi/v/glances.svg
    :target: https://pypi.python.org/pypi/Glances
N
nicolargo 已提交
7

N
nicolargo 已提交
8 9 10
.. image:: https://img.shields.io/github/stars/nicolargo/glances.svg
    :target: https://github.com/nicolargo/glances/
    :alt: Github stars
N
nicolargo 已提交
11

A
Alessio Sergi 已提交
12
.. image:: https://img.shields.io/travis/nicolargo/glances/master.svg?maxAge=3600&label=Linux%20/%20BSD%20/%20macOS
N
Nicolargo 已提交
13
    :target: https://travis-ci.org/nicolargo/glances
N
nicolargo 已提交
14 15 16 17 18 19
    :alt: Linux tests (Travis)

.. image:: https://img.shields.io/appveyor/ci/nicolargo/glances/master.svg?maxAge=3600&label=Windows
    :target: https://ci.appveyor.com/project/nicolargo/glances
    :alt: Windows tests (Appveyor)

20
.. image:: https://img.shields.io/scrutinizer/g/nicolargo/glances.svg
N
Nicolargo 已提交
21
    :target: https://scrutinizer-ci.com/g/nicolargo/glances/
N
Nicolargo 已提交
22 23 24

Follow Glances on Twitter: `@nicolargo`_ or `@glances_system`_

N
nicolargo 已提交
25 26 27
Summary
=======

28 29 30 31
**Glances** is a cross-platform monitoring tool which aims to present a
maximum of information in a minimum of space through a curses or Web
based interface. It can adapt dynamically the displayed information
depending on the user interface size.
N
nicolargo 已提交
32 33 34

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

35 36 37
It can also work in client/server mode. Remote monitoring could be done
via terminal, Web interface or API (XML-RPC and RESTful). Stats can also
be exported to files or external time/value databases.
N
nicolargo 已提交
38 39

.. image:: https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/glances-responsive-webdesign.png
A
Alessio Sergi 已提交
40

41 42 43
Glances is written in Python and uses libraries to grab information from
your system. It is based on an open architecture where developers can
add new plugins or exports modules.
A
Alessio Sergi 已提交
44 45 46 47

Requirements
============

48
- ``python 2.7,>=3.3``
N
nicolargo 已提交
49
- ``psutil>=2.0.0`` (better with latest version)
A
Alessio Sergi 已提交
50

A
Alessio Sergi 已提交
51
Optional dependencies:
A
Alessio Sergi 已提交
52

A
Alessio Sergi 已提交
53
- ``batinfo`` (for battery monitoring support) [Linux-only]
N
nicolargo 已提交
54 55
- ``bernhard`` (for the Riemann export module)
- ``bottle`` (for Web server mode)
N
nicolargo 已提交
56
- ``cassandra-driver`` (for the Cassandra export module)
N
nicolargo 已提交
57
- ``couchdb`` (for the CouchDB export module)
58
- ``docker`` (for the Docker monitoring support) [Linux-only]
N
nicolargo 已提交
59 60 61
- ``elasticsearch`` (for the Elastic Search export module)
- ``hddtemp`` (for HDD temperature monitoring support) [Linux-only]
- ``influxdb`` (for the InfluxDB export module)
62
- ``matplotlib`` (for graphical/chart support)
N
nicolargo 已提交
63 64
- ``netifaces`` (for the IP plugin)
- ``nvidia-ml-py`` (for the GPU plugin)
N
Nicolargo 已提交
65
- ``pika`` (for the RabbitMQ/ActiveMQ export module)
N
nicolargo 已提交
66 67
- ``potsdb`` (for the OpenTSDB export module)
- ``py3sensors`` (for hardware monitoring support) [Linux-only]
68
- ``py-cpuinfo`` (for the Quicklook CPU info module)
N
nicolargo 已提交
69 70 71 72 73
- ``pymdstat`` (for RAID support) [Linux-only]
- ``pysnmp`` (for SNMP support)
- ``pystache`` (for the action script feature)
- ``pyzmq`` (for the ZeroMQ export module)
- ``requests`` (for the Ports plugin)
N
nicolargo 已提交
74
- ``scandir`` (for the Folders plugin) [Only for Python < 3.5]
N
nicolargo 已提交
75
- ``statsd`` (for the StatsD export module)
76
- ``wifi`` (for the wifi plugin) [Linux-only]
N
nicolargo 已提交
77
- ``zeroconf`` (for the autodiscover mode)
A
Alessio Sergi 已提交
78

79
*Note for Python 2.6 users*
N
nicolargo 已提交
80

81 82 83 84 85 86 87 88
Since version 2.7, Glances no longer support Python 2.6. Please upgrade
to at least Python 2.7/3.3+ or downgrade to Glances 2.6.2 (latest version
with Python 2.6 support).

*Note for CentOS Linux 6 and 7 users*

Python 2.7, 3.3 and 3.4 are now available via SCLs. See:
https://lists.centos.org/pipermail/centos-announce/2015-December/021555.html.
N
nicolargo 已提交
89

A
Alessio Sergi 已提交
90 91 92
Installation
============

N
Nicolargo 已提交
93 94 95 96
Several method to test/install Glances on your system. Choose your weapon !

Glances Auto Install script: the total way
------------------------------------------
N
Nicolargo 已提交
97

A
Alessio Sergi 已提交
98 99
To install both dependencies and latest Glances production ready version
(aka *master* branch), just enter the following command line:
N
Nicolargo 已提交
100 101 102

.. code-block:: console

N
Nicolargo 已提交
103
    curl -L https://bit.ly/glances | /bin/bash
N
Nicolargo 已提交
104

A
Alessio Sergi 已提交
105
or
106 107 108

.. code-block:: console

N
Nicolargo 已提交
109
    wget -O- https://bit.ly/glances | /bin/bash
110

A
Alessio Sergi 已提交
111 112
*Note*: Only supported on some GNU/Linux distributions. If you want to
support other distributions, please contribute to `glancesautoinstall`_.
N
Nicolargo 已提交
113

A
Alessio Sergi 已提交
114
PyPI: The simple way
N
Nicolas Hennion 已提交
115 116
--------------------

A
Alessio Sergi 已提交
117
Glances is on ``PyPI``. By using PyPI, you are sure to have the latest
A
Alessio Sergi 已提交
118
stable version.
N
Nicolargo 已提交
119

A
Alessio Sergi 已提交
120
To install, simply use ``pip``:
A
Alessio Sergi 已提交
121 122 123

.. code-block:: console

N
Nicolargo 已提交
124
    pip install glances
N
Nicolas Hennion 已提交
125

N
nicolargo 已提交
126
*Note*: Python headers are required to install `psutil`_. For example,
A
Alessio Sergi 已提交
127
on Debian/Ubuntu you need to install first the *python-dev* package.
128
For Fedora/CentOS/RHEL install first *python-devel* package. For Windows,
129
just install psutil from the binary installation file.
A
Alessio Sergi 已提交
130

N
Nicolargo 已提交
131 132 133
*Note 2 (for the Wifi plugin)*: If you want to use the Wifi plugin, you need
to install the *wireless-tools* package on your system.

A
Alessio Sergi 已提交
134
You can also install the following libraries in order to use optional
135
features (like the Web interface, exports modules, sensors...):
N
Nicolargo 已提交
136 137 138

.. code-block:: console

139
    pip install glances[action,batinfo,browser,cpuinfo,chart,docker,export,folders,gpu,ip,raid,snmp,web,wifi]
140
    pip install https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.zip
N
Nicolargo 已提交
141

N
Nicolas Hennion 已提交
142 143 144 145
To upgrade Glances to the latest version:

.. code-block:: console

N
Nicolargo 已提交
146
    pip install --upgrade glances
147
    pip install --upgrade glances[...]
N
Nicolas Hennion 已提交
148

N
Nicolargo 已提交
149 150 151 152 153
If you need to install Glances in a specific user location, use:

.. code-block:: console

    export PYTHONUSERBASE=~/mylocalpath
N
Nicolargo 已提交
154
    pip install --user glances
N
Nicolargo 已提交
155

N
Nicolargo 已提交
156 157 158
Docker: the funny way
---------------------

159 160 161
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 !
N
Nicolargo 已提交
162 163 164 165 166 167 168

Get the Glances container:

.. code-block:: console

    docker pull nicolargo/glances

169
Run the container in *console mode*:
N
Nicolargo 已提交
170 171 172 173

.. code-block:: console

    docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances
N
nicolargo 已提交
174

175 176
Additionally, if you want to use your own glances.conf file, you can
create your own Dockerfile:
177 178 179 180 181 182 183

.. code-block:: console

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

184 185
Alternatively, you can specify something along the same lines with
docker run options:
186 187 188 189 190 191

.. 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.
N
Nicolargo 已提交
192

193 194
Run the container in *Web server mode* (notice the `GLANCES_OPT` environment
variable setting parameters for the glances startup command):
195 196 197 198 199

.. code-block:: console

    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 docker.io/nicolargo/glances

N
Nicolargo 已提交
200 201
GNU/Linux
---------
A
Alessio Sergi 已提交
202

203 204 205
`Glances` is available on many Linux distributions, so you should be
able to install it using your favorite package manager. Be aware that
Glances may not be the latest one using this method.
A
Alessio Sergi 已提交
206

A
Alessio Sergi 已提交
207 208 209
FreeBSD
-------

A
Alessio Sergi 已提交
210
To install the binary package:
A
Alessio Sergi 已提交
211

A
Alessio Sergi 已提交
212 213 214 215
.. code-block:: console

    # pkg install py27-glances

A
Alessio Sergi 已提交
216 217 218
To install Glances from ports:

.. code-block:: console
A
Alessio Sergi 已提交
219

A
Alessio Sergi 已提交
220 221
    # cd /usr/ports/sysutils/py-glances/
    # make install clean
N
Nicolas Hennion 已提交
222

A
Alessio Sergi 已提交
223 224
macOS
-----
A
Alessio Sergi 已提交
225

A
Alessio Sergi 已提交
226
macOS users can install Glances using ``Homebrew`` or ``MacPorts``.
A
Alessio Sergi 已提交
227 228 229 230 231 232

Homebrew
````````

.. code-block:: console

233
    $ brew install python
N
Nicolargo 已提交
234
    $ pip install glances
A
Alessio Sergi 已提交
235 236 237 238 239 240 241 242 243 244 245

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

246 247
Install `Python`_ for Windows (Python 2.7.9+ and 3.4+ ship with pip) and
then just:
N
Nicolargo 已提交
248 249 250 251

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
252 253 254 255

Source
------

A
Alessio Sergi 已提交
256
To install Glances from source:
A
Alessio Sergi 已提交
257 258 259

.. code-block:: console

260
    $ wget https://github.com/nicolargo/glances/archive/vX.Y.tar.gz -O - | tar xz
A
Alessio Sergi 已提交
261 262 263
    $ cd glances-*
    # python setup.py install

264
*Note*: Python headers are required to install psutil.
265

N
nicolargo 已提交
266 267 268
Chef
----

269 270
An awesome ``Chef`` cookbook is available to monitor your infrastructure:
https://supermarket.chef.io/cookbooks/glances (thanks to Antoine Rouyer)
N
nicolargo 已提交
271

A
Alessio Sergi 已提交
272 273 274
Puppet
------

A
Alessio Sergi 已提交
275
You can install Glances using ``Puppet``: https://github.com/rverchere/puppet-glances
A
Alessio Sergi 已提交
276 277 278 279

Usage
=====

N
Nicolargo 已提交
280
For the standalone mode, just run:
A
Alessio Sergi 已提交
281 282 283

.. code-block:: console

284
    $ glances
A
Alessio Sergi 已提交
285

N
Nicolargo 已提交
286 287 288 289 290 291
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
292
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
293 294 295 296 297 298 299 300 301 302 303 304 305 306 307

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.

A
Alessio Sergi 已提交
308 309
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
310 311 312

.. code-block:: console

N
Nicolargo 已提交
313
    $ glances --browser
N
Nicolargo 已提交
314

A
Alessio Sergi 已提交
315
and RTFM, always.
N
Nicolas Hennion 已提交
316

A
Alessio Sergi 已提交
317 318 319
Documentation
=============

A
Alessio Sergi 已提交
320
For complete documentation have a look at the readthedocs_ website.
A
Alessio Sergi 已提交
321

A
Alessio Sergi 已提交
322
If you have any question (after RTFM!), please post it on the official Q&A `forum`_.
N
Nicolargo 已提交
323

N
Nicolargo 已提交
324 325 326
Gateway to other services
=========================

N
nicolargo 已提交
327 328 329
Glances can export stats to: ``CSV`` file, ``InfluxDB``, ``Cassandra``, ``CouchDB``,
``OpenTSDB``, ``StatsD``, ``ElasticSearch``, ``RabbitMQ/ActiveMQ``, ``ZeroMQ``,
and  ``Riemann`` server.
N
Nicolargo 已提交
330

N
Nicolargo 已提交
331 332 333
How to contribute ?
===================

334
If you want to contribute to the Glances project, read this `wiki`_ page.
N
Nicolargo 已提交
335

A
Alessio Sergi 已提交
336
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
337 338 339 340

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

A
Alessio Sergi 已提交
341 342 343 344 345 346 347 348
Author
======

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

License
=======

A
Alessio Sergi 已提交
349
LGPLv3. See ``COPYING`` for more details.
A
Alessio Sergi 已提交
350

A
Alessio Sergi 已提交
351
.. _psutil: https://github.com/giampaolo/psutil
N
Nicolargo 已提交
352
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
A
Alessio Sergi 已提交
353 354
.. _@nicolargo: https://twitter.com/nicolargo
.. _@glances_system: https://twitter.com/glances_system
355
.. _Python: https://www.python.org/getit/
356
.. _readthedocs: https://glances.readthedocs.io/
N
Nicolargo 已提交
357
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
358
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F