README.rst 13.1 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://img.shields.io/docker/pulls/nicolargo/glances
    :target: https://hub.docker.com/r/nicolargo/glances/
    :alt: Docker pull

N
nicolargo 已提交
16 17
.. image:: https://pepy.tech/badge/glances/month
    :target: https://pepy.tech/project/glances
N
nicolargo 已提交
18
    :alt: Pypi downloads
N
nicolargo 已提交
19

A
Alessio Sergi 已提交
20
.. image:: https://img.shields.io/travis/nicolargo/glances/master.svg?maxAge=3600&label=Linux%20/%20BSD%20/%20macOS
N
Nicolargo 已提交
21
    :target: https://travis-ci.org/nicolargo/glances
N
nicolargo 已提交
22 23 24 25 26 27
    :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 已提交
28 29
.. 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 已提交
30

N
nicolargo 已提交
31 32
.. image:: https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/nicolargo
    :target: https://github.com/sponsors/nicolargo
N
Nicolas Hennion 已提交
33

N
nicolargo 已提交
34 35
.. image:: https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo
    :target: https://twitter.com/nicolargo
N
nicolargo 已提交
36

N
nicolargo 已提交
37 38 39
Summary
=======

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

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

47 48 49
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 已提交
50 51

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

53 54 55
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 已提交
56 57 58 59

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

N
nicolargo 已提交
60
- ``python>=2.7`` or ``python>=3.4``
A
Alessio Sergi 已提交
61
- ``psutil>=5.3.0`` (better with latest version)
A
Alessio Sergi 已提交
62

N
nicolargo 已提交
63 64 65 66 67 68
*Note for Python 2.6 users*

Glances no longer supports Python 2.6. Please upgrade
to a minimum Python version of 2.7/3.4+ or downgrade to Glances 2.6.2 (last version
with Python 2.6 support).

A
Alessio Sergi 已提交
69
Optional dependencies:
A
Alessio Sergi 已提交
70

N
nicolargo 已提交
71 72
- ``bernhard`` (for the Riemann export module)
- ``bottle`` (for Web server mode)
N
nicolargo 已提交
73
- ``cassandra-driver`` (for the Cassandra export module)
74
- ``chevron`` (for the action script feature)
N
nicolargo 已提交
75
- ``couchdb`` (for the CouchDB export module)
76
- ``docker`` (for the Docker monitoring support) [Linux/macOS-only]
N
nicolargo 已提交
77
- ``elasticsearch`` (for the Elastic Search export module)
78
- ``graphitesender`` (For the Graphite export module)
N
nicolargo 已提交
79
- ``hddtemp`` (for HDD temperature monitoring support) [Linux-only]
N
nicolargo 已提交
80 81
- ``influxdb`` (for the InfluxDB version 1 export module)
- ``influxdb-client``  (for the InfluxDB version 2 export module) [Only for Python >= 3.6]
82
- ``kafka-python`` (for the Kafka export module)
N
nicolargo 已提交
83
- ``netifaces`` (for the IP plugin)
N
nicolargo 已提交
84
- ``py3nvml`` (for the GPU plugin) [Only for Python 3]
N
Nicolargo 已提交
85
- ``pika`` (for the RabbitMQ/ActiveMQ export module)
N
nicolargo 已提交
86
- ``potsdb`` (for the OpenTSDB export module)
87
- ``prometheus_client`` (for the Prometheus export module)
88
- ``py-cpuinfo`` (for the Quicklook CPU info module)
N
nicolargo 已提交
89
- ``pygal`` (for the graph export module)
N
nicolargo 已提交
90 91
- ``pymdstat`` (for RAID support) [Linux-only]
- ``pysnmp`` (for SNMP support)
N
nicolargo 已提交
92
- ``pySMART.smartx`` (for HDD Smart support) [Linux-only]
N
nicolargo 已提交
93
- ``pyzmq`` (for the ZeroMQ export module)
A
RESTful  
Alessio Sergi 已提交
94
- ``requests`` (for the Ports, Cloud plugins and RESTful export module)
N
nicolargo 已提交
95
- ``scandir`` (for the Folders plugin) [Only for Python < 3.5]
N
nicolargo 已提交
96
- ``sparklines`` (for the Quick Plugin sparklines option)
N
nicolargo 已提交
97
- ``statsd`` (for the StatsD export module)
98
- ``wifi`` (for the wifi plugin) [Linux-only]
N
nicolargo 已提交
99
- ``zeroconf`` (for the autodiscover mode)
A
Alessio Sergi 已提交
100

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

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

A
Alessio Sergi 已提交
106
PyPI: The simple way
N
Nicolas Hennion 已提交
107 108
--------------------

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

N
nicolargo 已提交
112
To install Glances, simply use ``pip``:
A
Alessio Sergi 已提交
113 114 115

.. code-block:: console

N
nicolargo 已提交
116
    pip install --user glances
N
Nicolas Hennion 已提交
117

N
nicolargo 已提交
118 119 120 121
*Note*: Python headers are required to install `psutil`_, a Glances 
dependencie. For example, on Debian/Ubuntu you need to install first 
the *python-dev* package (*python-devel* on Fedora/CentOS/RHEL).
For Windows, just install psutil from the binary installation file.
A
Alessio Sergi 已提交
122

N
Nicolargo 已提交
123 124 125
*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 已提交
126
You can also install the following libraries in order to use optional
127
features (like the Web interface, exports modules...):
N
Nicolargo 已提交
128 129 130

.. code-block:: console

N
nicolargo 已提交
131
    pip install --user 'glances[action,browser,cloud,cpuinfo,docker,export,folders,gpu,graph,ip,raid,snmp,web,wifi]'
N
Nicolargo 已提交
132

N
Nicolas Hennion 已提交
133 134 135 136
To upgrade Glances to the latest version:

.. code-block:: console

N
nicolargo 已提交
137 138
    pip install --user --upgrade glances
    pip install --user --upgrade glances[...]
N
Nicolas Hennion 已提交
139

N
Nicolargo 已提交
140 141 142 143 144
If you need to install Glances in a specific user location, use:

.. code-block:: console

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

N
nicolargo 已提交
147 148 149 150 151 152
If you are administrator and want to install Glances for all users:

.. code-block:: console

    sudo pip install glances

153 154 155 156 157
The current develop branch is also published to the test.pypi.org package index.
If you want to test the develop version, enter:

.. code-block:: console

N
nicolargo 已提交
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
    pip install --user -i https://test.pypi.org/simple/ Glances


Glances Auto Install script: the total way
------------------------------------------

To install both dependencies and the 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*: This is only supported on some GNU/Linux distributions and Mac OS X.
If you want to support other distributions, please contribute to `glancesautoinstall`_.
179

N
Nicolargo 已提交
180 181 182
Docker: the funny way
---------------------

N
nicolargo 已提交
183 184
Glances containers are availables. You can use it to monitor your 
server and all your other containers!
N
Nicolargo 已提交
185

N
nicolargo 已提交
186
Get the Glances container:
N
Nicolargo 已提交
187 188 189

.. code-block:: console

N
nicolargo 已提交
190
    docker pull nicolargo/glances:latest
191 192 193

Note, you can choose another branch with :

194 195 196
- nicolargo/glances:latest for the last master branch (included multiple architectures 386, amd64, arm/v7 and arm64)
- nicolargo/glances:dev for the last develop branch (included multiple architectures 386, amd64, arm/v7 and arm64)
- nicolargo/glances:<version> for the specific <version> (included multiple architectures 386, amd64, arm/v7 and arm64)
N
Nicolargo 已提交
197

198
Run the container in *console mode*:
N
Nicolargo 已提交
199 200 201

.. code-block:: console

N
nicolargo 已提交
202
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:latest
N
nicolargo 已提交
203

204 205
Additionally, if you want to use your own glances.conf file, you can
create your own Dockerfile:
206 207 208

.. code-block:: console

N
nicolargo 已提交
209
    FROM nicolargo/glances:latest
210 211 212
    COPY glances.conf /glances/conf/glances.conf
    CMD python -m glances -C /glances/conf/glances.conf $GLANCES_OPT

213 214
Alternatively, you can specify something along the same lines with
docker run options:
215 216 217

.. code-block:: console

N
nicolargo 已提交
218
    docker run -v `pwd`/glances.conf:/glances/conf/glances.conf -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it nicolargo/glances:latest
219

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

222 223
Run the container in *Web server mode* (notice the `GLANCES_OPT` environment
variable setting parameters for the glances startup command):
224 225 226

.. code-block:: console

N
nicolargo 已提交
227
    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 nicolargo/glances:latest
228

N
Nicolargo 已提交
229 230
GNU/Linux
---------
A
Alessio Sergi 已提交
231

232 233
`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 已提交
234
when you use this method the operating system `package`_ for `Glances`
N
nicolargo 已提交
235
may not be the latest version.
A
Alessio Sergi 已提交
236

A
Alessio Sergi 已提交
237 238 239
FreeBSD
-------

A
Alessio Sergi 已提交
240
To install the binary package:
A
Alessio Sergi 已提交
241

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

S
Stefan Eßer 已提交
244
    # pkg install py37-glances
A
Alessio Sergi 已提交
245

A
Alessio Sergi 已提交
246 247 248
To install Glances from ports:

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

A
Alessio Sergi 已提交
250 251
    # cd /usr/ports/sysutils/py-glances/
    # make install clean
N
Nicolas Hennion 已提交
252

A
Alessio Sergi 已提交
253 254
macOS
-----
A
Alessio Sergi 已提交
255

256 257
If you do not want to use the glancesautoinstall script, follow this procedure.

A
Alessio Sergi 已提交
258
macOS users can install Glances using ``Homebrew`` or ``MacPorts``.
A
Alessio Sergi 已提交
259 260 261 262 263 264

Homebrew
````````

.. code-block:: console

N
nicolargo 已提交
265
    $ brew install glances
A
Alessio Sergi 已提交
266 267 268 269 270 271 272 273 274 275 276

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

277
Install `Python`_ for Windows (Python 2.7.9+ and 3.4+ ship with pip) and
C
Conor O'Callaghan 已提交
278
then run the following command:
N
Nicolargo 已提交
279 280 281 282

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
283

284 285 286 287
Android
-------

You need a rooted device and the `Termux`_ application (available on the
C
Conor O'Callaghan 已提交
288
Google Play Store).
289 290 291 292 293 294 295

Start Termux on your device and enter:

.. code-block:: console

    $ apt update
    $ apt upgrade
O
Oren Amsalem 已提交
296
    $ apt install clang python
N
nicolargo 已提交
297
    $ pip install bottle
298 299 300 301 302 303 304 305
    $ pip install glances

And start Glances:

.. code-block:: console

    $ glances

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

A
Alessio Sergi 已提交
309 310 311
Source
------

A
Alessio Sergi 已提交
312
To install Glances from source:
A
Alessio Sergi 已提交
313 314 315

.. code-block:: console

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

320
*Note*: Python headers are required to install psutil.
321

N
nicolargo 已提交
322 323 324
Chef
----

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

A
Alessio Sergi 已提交
328 329 330
Puppet
------

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

N
nicolargo 已提交
333 334 335
Ansible
-------

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

A
Alessio Sergi 已提交
338 339 340
Usage
=====

N
Nicolargo 已提交
341
For the standalone mode, just run:
A
Alessio Sergi 已提交
342 343 344

.. code-block:: console

345
    $ glances
A
Alessio Sergi 已提交
346

N
Nicolargo 已提交
347 348 349 350 351 352
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
353
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368

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 已提交
369 370
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
371 372 373

.. code-block:: console

N
Nicolargo 已提交
374
    $ glances --browser
N
Nicolargo 已提交
375

376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398
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 已提交
399
and RTFM, always.
N
Nicolas Hennion 已提交
400

A
Alessio Sergi 已提交
401 402 403
Documentation
=============

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

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

N
Nicolargo 已提交
408 409 410
Gateway to other services
=========================

N
nicolargo 已提交
411
Glances can export stats to: ``CSV`` file, ``JSON`` file, ``InfluxDB``, ``Cassandra``, ``CouchDB``,
412
``OpenTSDB``, ``Prometheus``, ``StatsD``, ``ElasticSearch``, ``RabbitMQ/ActiveMQ``,
N
nicolargo 已提交
413
``ZeroMQ``, ``Kafka``, ``Riemann``, ``Graphite`` and ``RESTful`` server.
N
Nicolargo 已提交
414

N
Nicolargo 已提交
415 416 417
How to contribute ?
===================

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

A
Alessio Sergi 已提交
420
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
421 422 423 424

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

N
Nicolas Hennion 已提交
425 426 427 428 429
Donation
========

If this project help you, you can give me a tip ;)

N
nicolargo 已提交
430
See the sponsors_ page.
N
Nicolas Hennion 已提交
431

A
Alessio Sergi 已提交
432 433 434 435 436
Author
======

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

N
Nicolas Hennion 已提交
437 438 439
.. image:: https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo
    :target: https://twitter.com/nicolargo

A
Alessio Sergi 已提交
440 441 442
License
=======

N
Nicolas Hennion 已提交
443
Glances is distributed under the LGPL version 3 license. See ``COPYING`` for more details.
A
Alessio Sergi 已提交
444

A
Alessio Sergi 已提交
445
.. _psutil: https://github.com/giampaolo/psutil
N
Nicolargo 已提交
446
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
447
.. _Python: https://www.python.org/getit/
448
.. _Termux: https://play.google.com/store/apps/details?id=com.termux
449
.. _readthedocs: https://glances.readthedocs.io/
N
Nicolargo 已提交
450
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
451
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
N
nicolargo 已提交
452
.. _package: https://repology.org/metapackage/glances/packages
N
nicolargo 已提交
453
.. _sponsors: https://github.com/sponsors/nicolargo