README.rst 11.2 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
.. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fnicolargo%2Fglances.svg?type=shield
    :target: https://app.fossa.io/projects/git%2Bgithub.com%2Fnicolargo%2Fglances?ref=badge_shield

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

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

N
nicolargo 已提交
31 32 33
Summary
=======

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

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

41 42 43
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 已提交
44 45

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

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

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

A
Alessio Sergi 已提交
54
- ``python 2.7,>=3.4``
A
Alessio Sergi 已提交
55
- ``psutil>=5.3.0`` (better with latest version)
A
Alessio Sergi 已提交
56

A
Alessio Sergi 已提交
57
Optional dependencies:
A
Alessio Sergi 已提交
58

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

86
*Note for Python 2.6 users*
N
nicolargo 已提交
87

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

*Note for CentOS Linux 6 and 7 users*

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

A
Alessio Sergi 已提交
97 98 99
Installation
============

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

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

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

.. code-block:: console

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

A
Alessio Sergi 已提交
112
or
113 114 115

.. code-block:: console

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

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

A
Alessio Sergi 已提交
121
PyPI: The simple way
N
Nicolas Hennion 已提交
122 123
--------------------

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

A
Alessio Sergi 已提交
127
To install, simply use ``pip``:
A
Alessio Sergi 已提交
128 129 130

.. code-block:: console

N
Nicolargo 已提交
131
    pip install glances
N
Nicolas Hennion 已提交
132

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

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

.. code-block:: console

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

N
Nicolas Hennion 已提交
148 149 150 151
To upgrade Glances to the latest version:

.. code-block:: console

N
Nicolargo 已提交
152
    pip install --upgrade glances
153
    pip install --upgrade glances[...]
N
Nicolas Hennion 已提交
154

N
Nicolargo 已提交
155 156 157 158 159
If you need to install Glances in a specific user location, use:

.. code-block:: console

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

N
Nicolargo 已提交
162 163 164
Docker: the funny way
---------------------

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

Get the Glances container:

.. code-block:: console

    docker pull nicolargo/glances

175
Run the container in *console mode*:
N
Nicolargo 已提交
176 177 178

.. code-block:: console

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

181 182
Additionally, if you want to use your own glances.conf file, you can
create your own Dockerfile:
183 184 185 186 187 188 189

.. code-block:: console

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

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

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

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

.. 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 已提交
206 207
GNU/Linux
---------
A
Alessio Sergi 已提交
208

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

N
nicolargo 已提交
214

A
Alessio Sergi 已提交
215 216 217
FreeBSD
-------

A
Alessio Sergi 已提交
218
To install the binary package:
A
Alessio Sergi 已提交
219

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

    # pkg install py27-glances

A
Alessio Sergi 已提交
224 225 226
To install Glances from ports:

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

A
Alessio Sergi 已提交
228 229
    # cd /usr/ports/sysutils/py-glances/
    # make install clean
N
Nicolas Hennion 已提交
230

A
Alessio Sergi 已提交
231 232
macOS
-----
A
Alessio Sergi 已提交
233

A
Alessio Sergi 已提交
234
macOS users can install Glances using ``Homebrew`` or ``MacPorts``.
A
Alessio Sergi 已提交
235 236 237 238 239 240

Homebrew
````````

.. code-block:: console

N
nicolargo 已提交
241
    $ brew install glances
A
Alessio Sergi 已提交
242 243 244 245 246 247 248 249 250 251 252

MacPorts
````````

.. code-block:: console

    $ sudo port install glances

Windows
-------

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

.. code-block:: console

    $ pip install glances
A
Alessio Sergi 已提交
259

260 261 262 263 264 265 266 267 268
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


269 270 271 272
Android
-------

You need a rooted device and the `Termux`_ application (available on the
C
Conor O'Callaghan 已提交
273
Google Play Store).
274 275 276 277 278 279 280 281

Start Termux on your device and enter:

.. code-block:: console

    $ apt update
    $ apt upgrade
    $ apt install clang python python-dev
N
nicolargo 已提交
282
    $ pip install bottle
283 284 285 286 287 288 289 290
    $ pip install glances

And start Glances:

.. code-block:: console

    $ glances

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

A
Alessio Sergi 已提交
294 295 296
Source
------

A
Alessio Sergi 已提交
297
To install Glances from source:
A
Alessio Sergi 已提交
298 299 300

.. code-block:: console

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

305
*Note*: Python headers are required to install psutil.
306

N
nicolargo 已提交
307 308 309
Chef
----

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

A
Alessio Sergi 已提交
313 314 315
Puppet
------

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

N
nicolargo 已提交
318 319 320
Ansible
-------

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

A
Alessio Sergi 已提交
323 324 325
Usage
=====

N
Nicolargo 已提交
326
For the standalone mode, just run:
A
Alessio Sergi 已提交
327 328 329

.. code-block:: console

330
    $ glances
A
Alessio Sergi 已提交
331

N
Nicolargo 已提交
332 333 334 335 336 337
For the Web server mode, run:

.. code-block:: console

    $ glances -w

A
Alessio Sergi 已提交
338
and enter the URL ``http://<ip>:61208`` in your favorite web browser.
N
Nicolargo 已提交
339 340 341 342 343 344 345 346 347 348 349 350 351 352 353

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 已提交
354 355
You can also detect and display all Glances servers available on your
network or defined in the configuration file:
N
Nicolargo 已提交
356 357 358

.. code-block:: console

N
Nicolargo 已提交
359
    $ glances --browser
N
Nicolargo 已提交
360

A
Alessio Sergi 已提交
361
and RTFM, always.
N
Nicolas Hennion 已提交
362

A
Alessio Sergi 已提交
363 364 365
Documentation
=============

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

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

N
Nicolargo 已提交
370 371 372
Gateway to other services
=========================

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

N
Nicolargo 已提交
377 378 379
How to contribute ?
===================

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

A
Alessio Sergi 已提交
382
There is also a chat dedicated to the Glances developers:
N
Nicolargo 已提交
383 384 385 386

.. 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 已提交
387 388 389 390 391 392 393 394
Author
======

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

License
=======

A
Alessio Sergi 已提交
395
LGPLv3. See ``COPYING`` for more details.
A
Alessio Sergi 已提交
396

A
Alessio Sergi 已提交
397
.. _psutil: https://github.com/giampaolo/psutil
N
Nicolargo 已提交
398
.. _glancesautoinstall: https://github.com/nicolargo/glancesautoinstall
A
Alessio Sergi 已提交
399
.. _@nicolargo: https://twitter.com/nicolargo
400
.. _Python: https://www.python.org/getit/
401
.. _Termux: https://play.google.com/store/apps/details?id=com.termux
402
.. _readthedocs: https://glances.readthedocs.io/
N
Nicolargo 已提交
403
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users
404
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
N
nicolargo 已提交
405
.. _package: https://repology.org/metapackage/glances/packages