README.rst 10.6 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

N
nicolargo 已提交
23 24 25 26
.. image:: https://img.shields.io/badge/Donate-PayPal-green.svg
    :target: https://www.paypal.me/nicolargo

Follow Glances on Twitter: `@nicolargo`_
N
Nicolargo 已提交
27

N
nicolargo 已提交
28 29 30
Summary
=======

31
**Glances** is a cross-platform monitoring tool which aims to present a
C
Conor O'Callaghan 已提交
32
large amount of monitoring information through a curses or Web
N
nicolargo 已提交
33 34
based interface. The information dynamically adapts depending on the
size of the user interface.
N
nicolargo 已提交
35 36 37

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

38 39 40
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 已提交
41 42

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

44 45 46
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 已提交
47 48 49 50

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

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

A
Alessio Sergi 已提交
54
Optional dependencies:
A
Alessio Sergi 已提交
55

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

82
*Note for Python 2.6 users*
N
nicolargo 已提交
83

C
Conor O'Callaghan 已提交
84 85
Glances no longer supports Python 2.6. Please upgrade
to a minimum Python version of 2.7/3.3+ or downgrade to Glances 2.6.2 (last version
86 87 88 89
with Python 2.6 support).

*Note for CentOS Linux 6 and 7 users*

C
Conor O'Callaghan 已提交
90
Python 2.7, 3.3 and 3.4 are now available via SCL repositories. See:
91
https://lists.centos.org/pipermail/centos-announce/2015-December/021555.html.
N
nicolargo 已提交
92

A
Alessio Sergi 已提交
93 94 95
Installation
============

C
Conor O'Callaghan 已提交
96
There are several methods to test/install Glances on your system. Choose your weapon!
N
Nicolargo 已提交
97 98 99

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

C
Conor O'Callaghan 已提交
101
To install both dependencies and the latest Glances production ready version
A
Alessio Sergi 已提交
102
(aka *master* branch), just enter the following command line:
N
Nicolargo 已提交
103 104 105

.. code-block:: console

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

A
Alessio Sergi 已提交
108
or
109 110 111

.. code-block:: console

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

C
Conor O'Callaghan 已提交
114
*Note*: This is only supported on some GNU/Linux distributions. If you want to
A
Alessio Sergi 已提交
115
support other distributions, please contribute to `glancesautoinstall`_.
N
Nicolargo 已提交
116

A
Alessio Sergi 已提交
117
PyPI: The simple way
N
Nicolas Hennion 已提交
118 119
--------------------

C
Conor O'Callaghan 已提交
120
Glances is on ``PyPI``. By using PyPI, you will be using the latest
A
Alessio Sergi 已提交
121
stable version.
N
Nicolargo 已提交
122

A
Alessio Sergi 已提交
123
To install, simply use ``pip``:
A
Alessio Sergi 已提交
124 125 126

.. code-block:: console

N
Nicolargo 已提交
127
    pip install glances
N
Nicolas Hennion 已提交
128

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

N
Nicolargo 已提交
134 135 136
*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 已提交
137
You can also install the following libraries in order to use optional
138
features (like the Web interface, exports modules...):
N
Nicolargo 已提交
139 140 141

.. code-block:: console

N
nicolargo 已提交
142
    pip install 'glances[action,browser,cloud,cpuinfo,chart,docker,export,folders,gpu,ip,raid,snmp,web,wifi]'
N
Nicolargo 已提交
143

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

.. code-block:: console

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

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

.. code-block:: console

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

N
Nicolargo 已提交
158 159 160
Docker: the funny way
---------------------

C
Conor O'Callaghan 已提交
161
A Glances container is available. It includes the latest development
N
nicolargo 已提交
162
HEAD version. You can use it to monitor your server and all your other
C
Conor O'Callaghan 已提交
163
containers!
N
Nicolargo 已提交
164 165 166 167 168 169 170

Get the Glances container:

.. code-block:: console

    docker pull nicolargo/glances

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

.. code-block:: console

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

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

.. code-block:: console

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

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

.. 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 已提交
194

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

.. 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 已提交
202 203
GNU/Linux
---------
A
Alessio Sergi 已提交
204

205 206
`Glances` is available on many Linux distributions, so you should be
able to install it using your favorite package manager. Be aware that
N
nicolargo 已提交
207 208
when you use this method the operating system package for `Glances`
may not be the latest version.
A
Alessio Sergi 已提交
209

A
Alessio Sergi 已提交
210 211 212
FreeBSD
-------

A
Alessio Sergi 已提交
213
To install the binary package:
A
Alessio Sergi 已提交
214

A
Alessio Sergi 已提交
215 216 217 218
.. code-block:: console

    # pkg install py27-glances

A
Alessio Sergi 已提交
219 220 221
To install Glances from ports:

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

A
Alessio Sergi 已提交
223 224
    # cd /usr/ports/sysutils/py-glances/
    # make install clean
N
Nicolas Hennion 已提交
225

A
Alessio Sergi 已提交
226 227
macOS
-----
A
Alessio Sergi 已提交
228

A
Alessio Sergi 已提交
229
macOS users can install Glances using ``Homebrew`` or ``MacPorts``.
A
Alessio Sergi 已提交
230 231 232 233 234 235

Homebrew
````````

.. code-block:: console

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

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

249
Install `Python`_ for Windows (Python 2.7.9+ and 3.4+ ship with pip) and
C
Conor O'Callaghan 已提交
250
then run the following command:
N
Nicolargo 已提交
251 252 253 254

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
255

256 257 258 259
Android
-------

You need a rooted device and the `Termux`_ application (available on the
C
Conor O'Callaghan 已提交
260
Google Play Store).
261 262 263 264 265 266 267 268

Start Termux on your device and enter:

.. code-block:: console

    $ apt update
    $ apt upgrade
    $ apt install clang python python-dev
N
nicolargo 已提交
269
    $ pip install bottle
270 271 272 273 274 275 276 277
    $ pip install glances

And start Glances:

.. code-block:: console

    $ glances

N
nicolargo 已提交
278 279 280
You can also run Glances in server mode (-s or -w) in order to remotely
monitor your Android device.

A
Alessio Sergi 已提交
281 282 283
Source
------

A
Alessio Sergi 已提交
284
To install Glances from source:
A
Alessio Sergi 已提交
285 286 287

.. code-block:: console

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

292
*Note*: Python headers are required to install psutil.
293

N
nicolargo 已提交
294 295 296
Chef
----

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

A
Alessio Sergi 已提交
300 301 302
Puppet
------

A
Alessio Sergi 已提交
303
You can install Glances using ``Puppet``: https://github.com/rverchere/puppet-glances
A
Alessio Sergi 已提交
304 305 306 307

Usage
=====

N
Nicolargo 已提交
308
For the standalone mode, just run:
A
Alessio Sergi 已提交
309 310 311

.. code-block:: console

312
    $ glances
A
Alessio Sergi 已提交
313

N
Nicolargo 已提交
314 315 316 317 318 319
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
320
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
321 322 323 324 325 326 327 328 329 330 331 332 333 334 335

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 已提交
336 337
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
338 339 340

.. code-block:: console

N
Nicolargo 已提交
341
    $ glances --browser
N
Nicolargo 已提交
342

A
Alessio Sergi 已提交
343
and RTFM, always.
N
Nicolas Hennion 已提交
344

A
Alessio Sergi 已提交
345 346 347
Documentation
=============

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

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

N
Nicolargo 已提交
352 353 354
Gateway to other services
=========================

N
nicolargo 已提交
355
Glances can export stats to: ``CSV`` file, ``JSON`` file, ``InfluxDB``, ``Cassandra``, ``CouchDB``,
356
``OpenTSDB``, ``Prometheus``, ``StatsD``, ``ElasticSearch``, ``RabbitMQ/ActiveMQ``,
357
``ZeroMQ``, ``Kafka``, ``Riemann`` and ``Restful`` server.
N
Nicolargo 已提交
358

N
Nicolargo 已提交
359 360 361
How to contribute ?
===================

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

A
Alessio Sergi 已提交
364
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
365 366 367 368

.. 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 已提交
369 370 371 372 373 374 375 376
Author
======

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

License
=======

A
Alessio Sergi 已提交
377
LGPLv3. See ``COPYING`` for more details.
A
Alessio Sergi 已提交
378

A
Alessio Sergi 已提交
379
.. _psutil: https://github.com/giampaolo/psutil
N
Nicolargo 已提交
380
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
A
Alessio Sergi 已提交
381
.. _@nicolargo: https://twitter.com/nicolargo
382
.. _Python: https://www.python.org/getit/
383
.. _Termux: https://play.google.com/store/apps/details?id=com.termux
384
.. _readthedocs: https://glances.readthedocs.io/
N
Nicolargo 已提交
385
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
386
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F