README.rst 13.3 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
============

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

A
Alessio Sergi 已提交
63
Optional dependencies:
A
Alessio Sergi 已提交
64

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

94
*Note for Python 2.6 users*
N
nicolargo 已提交
95

C
Conor O'Callaghan 已提交
96
Glances no longer supports Python 2.6. Please upgrade
A
Alessio Sergi 已提交
97
to a minimum Python version of 2.7/3.4+ or downgrade to Glances 2.6.2 (last version
98 99 100 101
with Python 2.6 support).

*Note for CentOS Linux 6 and 7 users*

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

A
Alessio Sergi 已提交
105 106 107
Installation
============

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

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

C
Conor O'Callaghan 已提交
113
To install both dependencies and the latest Glances production ready version
A
Alessio Sergi 已提交
114
(aka *master* branch), just enter the following command line:
N
Nicolargo 已提交
115 116 117

.. code-block:: console

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

A
Alessio Sergi 已提交
120
or
121 122 123

.. code-block:: console

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

126 127
*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 已提交
128

A
Alessio Sergi 已提交
129
PyPI: The simple way
N
Nicolas Hennion 已提交
130 131
--------------------

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

A
Alessio Sergi 已提交
135
To install, simply use ``pip``:
A
Alessio Sergi 已提交
136 137 138

.. code-block:: console

N
Nicolargo 已提交
139
    pip install glances
N
Nicolas Hennion 已提交
140

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

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

.. code-block:: console

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

N
Nicolas Hennion 已提交
156 157 158 159
To upgrade Glances to the latest version:

.. code-block:: console

N
Nicolargo 已提交
160
    pip install --upgrade glances
161
    pip install --upgrade glances[...]
N
Nicolas Hennion 已提交
162

N
Nicolargo 已提交
163 164 165 166 167
If you need to install Glances in a specific user location, use:

.. code-block:: console

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

170 171 172 173 174 175 176
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

    pip install -i https://test.pypi.org/simple/ Glances

N
Nicolargo 已提交
177 178 179
Docker: the funny way
---------------------

C
Conor O'Callaghan 已提交
180
A Glances container is available. It includes the latest development
N
nicolargo 已提交
181
HEAD version. You can use it to monitor your server and all your other
C
Conor O'Callaghan 已提交
182
containers!
N
Nicolargo 已提交
183

184
Get the Glances container (latest develop branch):
N
Nicolargo 已提交
185 186 187

.. code-block:: console

188 189 190 191
    docker pull nicolargo/glances:dev

Note, you can choose another branch with :

192 193 194
- 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 已提交
195

196
Run the container in *console mode*:
N
Nicolargo 已提交
197 198 199

.. code-block:: console

200
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:dev
N
nicolargo 已提交
201

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

.. code-block:: console

207
    FROM nicolargo/glances:dev
208 209 210
    COPY glances.conf /glances/conf/glances.conf
    CMD python -m glances -C /glances/conf/glances.conf $GLANCES_OPT

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

.. code-block:: console

216
    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:dev
217

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

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

.. code-block:: console

225
    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:dev
226

N
Nicolargo 已提交
227 228
GNU/Linux
---------
A
Alessio Sergi 已提交
229

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

N
nicolargo 已提交
235

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

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

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

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

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

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

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

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

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

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

Homebrew
````````

.. code-block:: console

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

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

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

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
282

283 284 285 286 287 288 289 290 291
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


292 293 294 295
Android
-------

You need a rooted device and the `Termux`_ application (available on the
C
Conor O'Callaghan 已提交
296
Google Play Store).
297 298 299 300 301 302 303

Start Termux on your device and enter:

.. code-block:: console

    $ apt update
    $ apt upgrade
O
Oren Amsalem 已提交
304
    $ apt install clang python
N
nicolargo 已提交
305
    $ pip install bottle
306 307 308 309 310 311 312 313
    $ pip install glances

And start Glances:

.. code-block:: console

    $ glances

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

A
Alessio Sergi 已提交
317 318 319
Source
------

A
Alessio Sergi 已提交
320
To install Glances from source:
A
Alessio Sergi 已提交
321 322 323

.. code-block:: console

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

328
*Note*: Python headers are required to install psutil.
329

N
nicolargo 已提交
330 331 332
Chef
----

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

A
Alessio Sergi 已提交
336 337 338
Puppet
------

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

N
nicolargo 已提交
341 342 343
Ansible
-------

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

A
Alessio Sergi 已提交
346 347 348
Usage
=====

N
Nicolargo 已提交
349
For the standalone mode, just run:
A
Alessio Sergi 已提交
350 351 352

.. code-block:: console

353
    $ glances
A
Alessio Sergi 已提交
354

N
Nicolargo 已提交
355 356 357 358 359 360
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
361
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
362 363 364 365 366 367 368 369 370 371 372 373 374 375 376

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 已提交
377 378
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
379 380 381

.. code-block:: console

N
Nicolargo 已提交
382
    $ glances --browser
N
Nicolargo 已提交
383

384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
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 已提交
407
and RTFM, always.
N
Nicolas Hennion 已提交
408

A
Alessio Sergi 已提交
409 410 411
Documentation
=============

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

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

N
Nicolargo 已提交
416 417 418
Gateway to other services
=========================

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

N
Nicolargo 已提交
423 424 425
How to contribute ?
===================

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

A
Alessio Sergi 已提交
428
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
429 430 431 432

.. 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 已提交
433 434 435 436 437
Donation
========

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

N
nicolargo 已提交
438
See the sponsors_ page.
N
Nicolas Hennion 已提交
439

A
Alessio Sergi 已提交
440 441 442 443 444
Author
======

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

N
Nicolas Hennion 已提交
445 446 447
.. 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 已提交
448 449 450
License
=======

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

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