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

N
nicolargo 已提交
12 13 14 15
.. image:: https://pepy.tech/badge/glances/month
    :target: https://pepy.tech/project/glances
    :alt: Downloads

A
Alessio Sergi 已提交
16
.. image:: https://img.shields.io/travis/nicolargo/glances/master.svg?maxAge=3600&label=Linux%20/%20BSD%20/%20macOS
N
Nicolargo 已提交
17
    :target: https://travis-ci.org/nicolargo/glances
N
nicolargo 已提交
18 19 20 21 22 23
    :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)

N
nicolargo 已提交
24 25
.. image:: https://scrutinizer-ci.com/g/nicolargo/glances/badges/quality-score.png?b=develop
    :target: https://scrutinizer-ci.com/g/nicolargo/glances/?branch=develop
N
Nicolargo 已提交
26

N
Nicolas Hennion 已提交
27 28
.. image:: https://img.shields.io/badge/Donate-PayPal-green.svg
    :target: https://www.paypal.me/nicolargo
N
Nicolas Hennion 已提交
29

N
nicolargo 已提交
30 31
.. image:: https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo
    :target: https://twitter.com/nicolargo
N
Nicolas Hennion 已提交
32
    :align: center
N
nicolargo 已提交
33

N
nicolargo 已提交
34 35 36
Summary
=======

37
**Glances** is a cross-platform monitoring tool which aims to present a
C
Conor O'Callaghan 已提交
38
large amount of monitoring information through a curses or Web
N
nicolargo 已提交
39 40
based interface. The information dynamically adapts depending on the
size of the user interface.
N
nicolargo 已提交
41 42 43

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

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

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

50 51 52
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 已提交
53 54 55 56

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

A
Alessio Sergi 已提交
57
- ``python 2.7,>=3.4``
A
Alessio Sergi 已提交
58
- ``psutil>=5.3.0`` (better with latest version)
A
Alessio Sergi 已提交
59

A
Alessio Sergi 已提交
60
Optional dependencies:
A
Alessio Sergi 已提交
61

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

89
*Note for Python 2.6 users*
N
nicolargo 已提交
90

C
Conor O'Callaghan 已提交
91
Glances no longer supports Python 2.6. Please upgrade
A
Alessio Sergi 已提交
92
to a minimum Python version of 2.7/3.4+ or downgrade to Glances 2.6.2 (last version
93 94 95 96
with Python 2.6 support).

*Note for CentOS Linux 6 and 7 users*

A
Alessio Sergi 已提交
97
Python 2.7 and 3.4 are now available via SCL repositories. See:
98
https://lists.centos.org/pipermail/centos-announce/2015-December/021555.html.
N
nicolargo 已提交
99

A
Alessio Sergi 已提交
100 101 102
Installation
============

C
Conor O'Callaghan 已提交
103
There are several methods to test/install Glances on your system. Choose your weapon!
N
Nicolargo 已提交
104 105 106

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

C
Conor O'Callaghan 已提交
108
To install both dependencies and the latest Glances production ready version
A
Alessio Sergi 已提交
109
(aka *master* branch), just enter the following command line:
N
Nicolargo 已提交
110 111 112

.. code-block:: console

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

A
Alessio Sergi 已提交
115
or
116 117 118

.. code-block:: console

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

121 122
*Note*: This is only supported on some GNU/Linux distributions and Mac OS X.
If you want to support other distributions, please contribute to `glancesautoinstall`_.
N
Nicolargo 已提交
123

A
Alessio Sergi 已提交
124
PyPI: The simple way
N
Nicolas Hennion 已提交
125 126
--------------------

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

A
Alessio Sergi 已提交
130
To install, simply use ``pip``:
A
Alessio Sergi 已提交
131 132 133

.. code-block:: console

N
Nicolargo 已提交
134
    pip install glances
N
Nicolas Hennion 已提交
135

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

N
Nicolargo 已提交
141 142 143
*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 已提交
144
You can also install the following libraries in order to use optional
145
features (like the Web interface, exports modules...):
N
Nicolargo 已提交
146 147 148

.. code-block:: console

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

N
Nicolas Hennion 已提交
151 152 153 154
To upgrade Glances to the latest version:

.. code-block:: console

N
Nicolargo 已提交
155
    pip install --upgrade glances
156
    pip install --upgrade glances[...]
N
Nicolas Hennion 已提交
157

N
Nicolargo 已提交
158 159 160 161 162
If you need to install Glances in a specific user location, use:

.. code-block:: console

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

N
Nicolargo 已提交
165 166 167
Docker: the funny way
---------------------

C
Conor O'Callaghan 已提交
168
A Glances container is available. It includes the latest development
N
nicolargo 已提交
169
HEAD version. You can use it to monitor your server and all your other
C
Conor O'Callaghan 已提交
170
containers!
N
Nicolargo 已提交
171 172 173 174 175 176 177

Get the Glances container:

.. code-block:: console

    docker pull nicolargo/glances

178
Run the container in *console mode*:
N
Nicolargo 已提交
179 180 181

.. code-block:: console

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

184 185
Additionally, if you want to use your own glances.conf file, you can
create your own Dockerfile:
186 187 188 189 190 191 192

.. code-block:: console

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

193 194
Alternatively, you can specify something along the same lines with
docker run options:
195 196 197

.. code-block:: console

198
    docker run -v `pwd`/glances.conf:/glances/conf/glances.conf -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances
199

200
Where \`pwd\`/glances.conf is a local directory containing your glances.conf file.
N
Nicolargo 已提交
201

202 203
Run the container in *Web server mode* (notice the `GLANCES_OPT` environment
variable setting parameters for the glances startup command):
204 205 206 207 208

.. 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 已提交
209 210
GNU/Linux
---------
A
Alessio Sergi 已提交
211

212 213
`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 已提交
214
when you use this method the operating system `package`_ for `Glances`
N
nicolargo 已提交
215
may not be the latest version.
A
Alessio Sergi 已提交
216

N
nicolargo 已提交
217

A
Alessio Sergi 已提交
218 219 220
FreeBSD
-------

A
Alessio Sergi 已提交
221
To install the binary package:
A
Alessio Sergi 已提交
222

A
Alessio Sergi 已提交
223 224 225 226
.. code-block:: console

    # pkg install py27-glances

A
Alessio Sergi 已提交
227 228 229
To install Glances from ports:

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

A
Alessio Sergi 已提交
231 232
    # cd /usr/ports/sysutils/py-glances/
    # make install clean
N
Nicolas Hennion 已提交
233

A
Alessio Sergi 已提交
234 235
macOS
-----
A
Alessio Sergi 已提交
236

237 238
If you do not want to use the glancesautoinstall script, follow this procedure.

A
Alessio Sergi 已提交
239
macOS users can install Glances using ``Homebrew`` or ``MacPorts``.
A
Alessio Sergi 已提交
240 241 242 243 244 245

Homebrew
````````

.. code-block:: console

N
nicolargo 已提交
246
    $ brew install glances
A
Alessio Sergi 已提交
247 248 249 250 251 252 253 254 255 256 257

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

258
Install `Python`_ for Windows (Python 2.7.9+ and 3.4+ ship with pip) and
C
Conor O'Callaghan 已提交
259
then run the following command:
N
Nicolargo 已提交
260 261 262 263

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
264

265 266 267 268 269 270 271 272 273
Alternatively, you could clone the repository and install with the following command.

.. code-block:: console

    $ git clone https://github.com/nicolargo/glances.git
    $ cd glances
    $ python setup.py install


274 275 276 277
Android
-------

You need a rooted device and the `Termux`_ application (available on the
C
Conor O'Callaghan 已提交
278
Google Play Store).
279 280 281 282 283 284 285 286

Start Termux on your device and enter:

.. code-block:: console

    $ apt update
    $ apt upgrade
    $ apt install clang python python-dev
N
nicolargo 已提交
287
    $ pip install bottle
288 289 290 291 292 293 294 295
    $ pip install glances

And start Glances:

.. code-block:: console

    $ glances

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

A
Alessio Sergi 已提交
299 300 301
Source
------

A
Alessio Sergi 已提交
302
To install Glances from source:
A
Alessio Sergi 已提交
303 304 305

.. code-block:: console

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

310
*Note*: Python headers are required to install psutil.
311

N
nicolargo 已提交
312 313 314
Chef
----

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

A
Alessio Sergi 已提交
318 319 320
Puppet
------

A
Alessio Sergi 已提交
321
You can install Glances using ``Puppet``: https://github.com/rverchere/puppet-glances
A
Alessio Sergi 已提交
322

N
nicolargo 已提交
323 324 325
Ansible
-------

N
nicolargo 已提交
326
A Glances ``Ansible`` role is available: https://galaxy.ansible.com/zaxos/glances-ansible-role/
N
nicolargo 已提交
327

A
Alessio Sergi 已提交
328 329 330
Usage
=====

N
Nicolargo 已提交
331
For the standalone mode, just run:
A
Alessio Sergi 已提交
332 333 334

.. code-block:: console

335
    $ glances
A
Alessio Sergi 已提交
336

N
Nicolargo 已提交
337 338 339 340 341 342
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
343
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358

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 已提交
359 360
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
361 362 363

.. code-block:: console

N
Nicolargo 已提交
364
    $ glances --browser
N
Nicolargo 已提交
365

366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
You can also display raw stats on stdout:

.. code-block:: console

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

or in a CSV format thanks to the stdout-csv option:

.. code-block:: console

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

A
Alessio Sergi 已提交
389
and RTFM, always.
N
Nicolas Hennion 已提交
390

A
Alessio Sergi 已提交
391 392 393
Documentation
=============

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

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

N
Nicolargo 已提交
398 399 400
Gateway to other services
=========================

N
nicolargo 已提交
401
Glances can export stats to: ``CSV`` file, ``JSON`` file, ``InfluxDB``, ``Cassandra``, ``CouchDB``,
402
``OpenTSDB``, ``Prometheus``, ``StatsD``, ``ElasticSearch``, ``RabbitMQ/ActiveMQ``,
A
RESTful  
Alessio Sergi 已提交
403
``ZeroMQ``, ``Kafka``, ``Riemann`` and ``RESTful`` server.
N
Nicolargo 已提交
404

N
Nicolargo 已提交
405 406 407
How to contribute ?
===================

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

A
Alessio Sergi 已提交
410
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
411 412 413 414

.. 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 已提交
415 416 417 418 419 420 421 422
Author
======

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

License
=======

A
Alessio Sergi 已提交
423
LGPLv3. See ``COPYING`` for more details.
A
Alessio Sergi 已提交
424

A
Alessio Sergi 已提交
425
.. _psutil: https://github.com/giampaolo/psutil
N
Nicolargo 已提交
426
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
A
Alessio Sergi 已提交
427
.. _@nicolargo: https://twitter.com/nicolargo
428
.. _Python: https://www.python.org/getit/
429
.. _Termux: https://play.google.com/store/apps/details?id=com.termux
430
.. _readthedocs: https://glances.readthedocs.io/
N
Nicolargo 已提交
431
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
432
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
N
nicolargo 已提交
433
.. _package: https://repology.org/metapackage/glances/packages