glances-doc.rst 18.0 KB
Newer Older
A
Alessio Sergi 已提交
1 2 3 4
=======
Glances
=======

N
Nicolargo 已提交
5
This manual describes *Glances* version 2.1.1.
A
Alessio Sergi 已提交
6

7
Copyright © 2012-2014 Nicolas Hennion <nicolas@nicolargo.com>
A
Alessio Sergi 已提交
8

N
Nicolargo 已提交
9
October 2014
A
Alessio Sergi 已提交
10 11 12 13 14 15

.. contents:: Table of Contents

Introduction
============

A
Alessio Sergi 已提交
16 17 18 19 20
Glances is a cross-platform curses-based system monitoring tool which
aims to present a maximum of information in a minimum of space, ideally
to fit in a classical 80x24 terminal or higher to have additional
information. It can adapt dynamically the displayed information depending
on the terminal size.
A
Alessio Sergi 已提交
21

A
Alessio Sergi 已提交
22 23
Glances can also work in client/server mode. Remote monitoring could be
done via terminal or web interface.
A
Alessio Sergi 已提交
24

A
Alessio Sergi 已提交
25 26
Glances is written in Python and uses the `psutil`_ library to get
information from your system.
A
Alessio Sergi 已提交
27 28 29 30 31 32 33 34 35

Console (80x24)

.. image:: images/screenshot.png

Full view (>80x24)

.. image:: images/screenshot-wide.png

N
Nicolargo 已提交
36 37 38 39
Web interface (Firefox)

.. image:: images/screenshot-web.png

A
Alessio Sergi 已提交
40 41 42
Usage
=====

A
Alessio Sergi 已提交
43
Standalone Mode
A
Alessio Sergi 已提交
44 45 46 47 48 49 50 51
---------------

Simply run:

.. code-block:: console

    $ glances

A
Alessio Sergi 已提交
52
Client/Server Mode
A
Alessio Sergi 已提交
53 54
------------------

A
Alessio Sergi 已提交
55 56
If you want to remotely monitor a machine, called ``server``, from
another one, called ``client``, just run on the server:
A
Alessio Sergi 已提交
57 58 59 60 61 62 63 64 65 66 67

.. code-block:: console

    server$ glances -s

and on the client:

.. code-block:: console

    client$ glances -c @server

A
Alessio Sergi 已提交
68
where ``@server`` is the IP address or hostname of the server.
A
Alessio Sergi 已提交
69

A
Alessio Sergi 已提交
70 71
In server mode, you can set the bind address ``-B ADDRESS`` and listening
TCP port ``-p PORT``.
A
Alessio Sergi 已提交
72 73 74

In client mode, you can set the TCP port of the server ``-p PORT``.

N
Nicolargo 已提交
75 76
You can also set a password to access to the server ``--password``.

A
Alessio Sergi 已提交
77
Default binding address is ``0.0.0.0`` (Glances will listen on all the
78
available network interfaces) and TCP port is ``61209``.
A
Alessio Sergi 已提交
79 80 81

In client/server mode, limits are set by the server side.

A
Alessio Sergi 已提交
82 83
Glances is ``IPv6`` compatible. Just use the ``-B ::`` option to bind to
all IPv6 addresses.
N
Nicolas Hennion 已提交
84

A
Alessio Sergi 已提交
85 86
As an experimental feature, if Glances server is not detected by the
client, the latter will try to grab stats using the ``SNMP`` protocol:
N
Nicolargo 已提交
87 88 89

.. code-block:: console

A
Alessio Sergi 已提交
90
    client$ glances -c @snmpserver
N
Nicolargo 已提交
91

92
Note: Stats grabbed by SNMP request are limited.
N
Nicolargo 已提交
93

A
Alessio Sergi 已提交
94 95
Web Server Mode
---------------
N
Nicolargo 已提交
96

A
Alessio Sergi 已提交
97
If you want to remotely monitor a machine, called ``server``, from any
98
device with a web browser, just run on the server:
N
Nicolargo 已提交
99 100 101 102 103

.. code-block:: console

    server$ glances -w

A
Alessio Sergi 已提交
104 105 106
and on the client enter the following URL in your favorite web browser:

::
N
Nicolargo 已提交
107

A
Alessio Sergi 已提交
108
    http://@server:61208
N
Nicolargo 已提交
109 110

where ``@server`` is the IP address or hostname of the server.
N
Nicolargo 已提交
111

A
Alessio Sergi 已提交
112 113 114
The Glances web interface follows responsive web design principles.

Screenshot from Chrome on Android
115 116

.. image:: images/screenshot-web2.png
A
Alessio Sergi 已提交
117

N
Nicolas Hennion 已提交
118

A
Alessio Sergi 已提交
119
Command Reference
A
Alessio Sergi 已提交
120 121
=================

A
Alessio Sergi 已提交
122
Command-Line Options
A
Alessio Sergi 已提交
123 124
--------------------

125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -d, --debug           Enable debug mode
  -C CONF_FILE, --config CONF_FILE
                        path to the configuration file
  --enable-history      enable the history mode
  --disable-bold        disable bold mode in the terminal
  --disable-diskio      disable disk I/O module
  --disable-fs          disable filesystem module
  --disable-network     disable network module
  --disable-sensors     disable sensors module
  --disable-process     disable process module
  --disable-process-extended
                        disable extended stats on top process
  --disable-log         disable log module
  --output-csv OUTPUT_CSV
                        export stats to a CSV file
  -c CLIENT, --client CLIENT
                        connect to a Glances server by IPv4/IPv6 address or
                        hostname
  -s, --server          run Glances in server mode
  -p PORT, --port PORT  define the client/server TCP port [default: 61209]
  -B BIND_ADDRESS, --bind BIND_ADDRESS
                        bind server to the given IPv4/IPv6 address or hostname
  --password-badidea PASSWORD_ARG
                        define password from the command line
  --password            define a client/server password from the prompt or
                        file
  --snmp-community SNMP_COMMUNITY
                        SNMP community
  --snmp-port SNMP_PORT
                        SNMP port
  --snmp-version SNMP_VERSION
                        SNMP version (1, 2c or 3)
  --snmp-user SNMP_USER
                        SNMP username (only for SNMPv3)
  --snmp-auth SNMP_AUTH
                        SNMP authentication key (only for SNMPv3)
  --snmp-force          force SNMP mode
  -t TIME, --time TIME  set refresh time in seconds [default: 3 sec]
  -w, --webserver       run Glances in web server mode
  -f PROCESS_FILTER, --process-filter PROCESS_FILTER
                        set the process filter patern (regular expression)
  --process-short-name  force short name for processes name
  -b, --byte            display network rate in byte per second
  -1, --percpu          start Glances in per CPU mode
  --theme-white         optimize display for white background
A
Alessio Sergi 已提交
172

A
Alessio Sergi 已提交
173
Interactive Commands
A
Alessio Sergi 已提交
174 175
--------------------

N
Nicolas Hennion 已提交
176
The following commands (key pressed) are supported while in Glances:
A
Alessio Sergi 已提交
177

N
Nicolargo 已提交
178 179 180 181 182 183
``ENTER``
    Set the process filter
    Filter is a regular expression pattern:

    - gnome: all processes starting with the gnome string
    - .*gnome.*: all processes containing the gnome string
A
Alessio Sergi 已提交
184
``a``
A
Alessio Sergi 已提交
185
    Sort process list automatically
A
Alessio Sergi 已提交
186

A
Alessio Sergi 已提交
187
    - If CPU iowait ``>60%``, sort processes by I/O read and write
A
Alessio Sergi 已提交
188 189 190
    - If CPU ``>70%``, sort processes by CPU usage
    - If MEM ``>70%``, sort processes by memory usage
``b``
A
Alessio Sergi 已提交
191
    Switch between bit/s or Byte/s for network I/O
A
Alessio Sergi 已提交
192
``c``
A
Alessio Sergi 已提交
193
    Sort processes by CPU usage
A
Alessio Sergi 已提交
194 195
``d``
    Show/hide disk I/O stats
196 197
``e``
    Enable/disable top extended stats
A
Alessio Sergi 已提交
198 199
``f``
    Show/hide file system stats
200
``g``
201
    Generate hraphs for current history
A
Alessio Sergi 已提交
202
``h``
A
Alessio Sergi 已提交
203
    Show/hide the help screen
A
Alessio Sergi 已提交
204
``i``
A
Alessio Sergi 已提交
205
    Sort processes by I/O rate
A
Alessio Sergi 已提交
206 207 208
``l``
    Show/hide log messages
``m``
A
Alessio Sergi 已提交
209
    Sort processes by MEM usage
A
Alessio Sergi 已提交
210 211 212 213
``n``
    Show/hide network stats
``p``
    Sort processes by name
A
Alessio Sergi 已提交
214 215
``q``
    Quit
216 217
``r``
    Reset history
A
Alessio Sergi 已提交
218
``s``
N
Nicolargo 已提交
219
    Show/hide sensors stats
A
Alessio Sergi 已提交
220
``t``
A
Alessio Sergi 已提交
221
    View network I/O as combination
A
Alessio Sergi 已提交
222
``u``
A
Alessio Sergi 已提交
223
    View cumulative network I/O
A
Alessio Sergi 已提交
224 225 226 227
``w``
    Delete finished warning log messages
``x``
    Delete finished warning and critical log messages
M
Markus Roth 已提交
228
``z``
A
Alessio Sergi 已提交
229
    Show/hide processes stats
A
Alessio Sergi 已提交
230 231
``1``
    Switch between global CPU and per-CPU stats
232 233
``/``
    Switch between short name / command line (processes name)
A
Alessio Sergi 已提交
234 235 236 237

Configuration
=============

N
Nicolas Hennion 已提交
238
No configuration file is mandatory to use Glances.
A
Alessio Sergi 已提交
239

A
Alessio Sergi 已提交
240
Furthermore a configuration file is needed to set up limits, disks or
241 242
network interfaces to hide and/or monitored processes list or to define
alias.
A
Alessio Sergi 已提交
243 244 245

By default, the configuration file is under:

246 247 248 249 250 251
:Linux: ``/etc/glances/glances.conf``
:\*BSD and OS X: ``/usr/local/etc/glances/glances.conf``
:Windows: ``%APPDATA%\glances\glances.conf``

On Windows XP, the ``%APPDATA%`` path is:

A
Alessio Sergi 已提交
252
::
A
Alessio Sergi 已提交
253

254
    C:\Documents and Settings\<User>\Application Data
A
Alessio Sergi 已提交
255

256
Since Windows Vista and newer versions:
A
Alessio Sergi 已提交
257

A
Alessio Sergi 已提交
258
::
A
Alessio Sergi 已提交
259

260
    C:\Users\<User>\AppData\Roaming
261 262
    or
    %userprofile%\AppData\Roaming
A
Alessio Sergi 已提交
263

264 265 266
You can override the default configuration, located in one of the above
directories on your system, except for Windows.

A
Alessio Sergi 已提交
267 268
Just copy the ``glances.conf`` file to your ``$XDG_CONFIG_HOME`` directory,
e.g., on Linux:
A
Alessio Sergi 已提交
269 270 271 272

.. code-block:: console

    mkdir -p $XDG_CONFIG_HOME/glances
A
Alessio Sergi 已提交
273
    cp /usr/share/doc/glances/glances.conf $XDG_CONFIG_HOME/glances/
A
Alessio Sergi 已提交
274

A
Alessio Sergi 已提交
275 276
On OS X, you should copy the configuration file to
``~/Library/Application Support/glances/``.
A
Alessio Sergi 已提交
277

278 279 280 281 282 283 284 285 286 287 288 289
Logs and debug mode
===================

Glances logs all its internal messages to a log file. By default, only 
INFO & WARNING & ERROR &CRITICAL levels are logged, but DEBUG messages 
can ben logged using the -d option on the command line. 

By default, the configuration file is under:

:Linux, \*BSD and OS X: ``/tmp/glances.conf``
:Windows: ``%APPDATA%\Local\temp\glances.conf``

A
Alessio Sergi 已提交
290
Anatomy Of The Application
A
Alessio Sergi 已提交
291 292 293 294 295 296 297 298 299 300
==========================

Legend
------

| ``GREEN`` stat counter is ``"OK"``
| ``BLUE`` stat counter is ``"CAREFUL"``
| ``MAGENTA`` stat counter is ``"WARNING"``
| ``RED`` stat counter is ``"CRITICAL"``

A
Alessio Sergi 已提交
301 302
*Note*: only stats with colored background will be logged in the alert
view.
N
Nicolargo 已提交
303

A
Alessio Sergi 已提交
304 305 306 307 308
Header
------

.. image:: images/header.png

A
Alessio Sergi 已提交
309 310 311
The header shows the hostname, OS name, release version, platform
architecture and system uptime (on the upper right corner).
Additionally, on GNU/Linux, it also shows the kernel version.
N
Nicolargo 已提交
312

A
Alessio Sergi 已提交
313
In client mode, the server connection status is displayed.
N
Nicolargo 已提交
314 315 316 317 318 319

Connected:

.. image:: images/connected.png

Disconnected:
320

N
Nicolargo 已提交
321
.. image:: images/disconnected.png
A
Alessio Sergi 已提交
322 323 324 325 326 327 328 329

CPU
---

Short view:

.. image:: images/cpu.png

A
Alessio Sergi 已提交
330 331
If enough horizontal space is available, extended CPU information are
displayed.
A
Alessio Sergi 已提交
332 333 334 335 336 337 338 339 340

Extended view:

.. image:: images/cpu-wide.png

To switch to per-CPU stats, just hit the ``1`` key:

.. image:: images/per-cpu.png

A
Alessio Sergi 已提交
341 342
The CPU stats are shown as a percentage and for the configured refresh
time. The total CPU usage is displayed on the first line.
A
Alessio Sergi 已提交
343

A
Alessio Sergi 已提交
344 345 346 347
| If user|system CPU is ``<50%``, then status is set to ``"OK"``
| If user|system CPU is ``>50%``, then status is set to ``"CAREFUL"``
| If user|system CPU is ``>70%``, then status is set to ``"WARNING"``
| If user|system CPU is ``>90%``, then status is set to ``"CRITICAL"``
A
Alessio Sergi 已提交
348

A
Alessio Sergi 已提交
349 350
*Note*: limit values can be overwritten in the configuration file under
the ``[cpu]`` and/or ``[percpu]`` sections.
N
Nicolas Hennion 已提交
351

A
Alessio Sergi 已提交
352 353 354 355 356
Load
----

.. image:: images/load.png

A
Alessio Sergi 已提交
357
On the *No Sheep* blog, *Zachary Tirrell* defines the load average [1]_:
A
Alessio Sergi 已提交
358 359 360

    "In short it is the average sum of the number of processes
    waiting in the run-queue plus the number currently executing
N
Nicolargo 已提交
361
    over 1, 5, and 15 minutes time periods."
A
Alessio Sergi 已提交
362 363

Glances gets the number of CPU core to adapt the alerts.
A
Alessio Sergi 已提交
364 365
Alerts on load average are only set on 15 minutes time period.
The first line also displays the number of CPU core.
A
Alessio Sergi 已提交
366

A
Alessio Sergi 已提交
367 368 369 370
| If load average is ``<0.7*core``, then status is set to ``"OK"``
| If load average is ``>0.7*core``, then status is set to ``"CAREFUL"``
| If load average is ``>1*core``, then status is set to ``"WARNING"``
| If load average is ``>5*core``, then status is set to ``"CRITICAL"``
A
Alessio Sergi 已提交
371

A
Alessio Sergi 已提交
372 373
*Note*: limit values can be overwritten in the configuration file under
the ``[load]`` section.
N
Nicolas Hennion 已提交
374

A
Alessio Sergi 已提交
375 376 377
Memory
------

A
Alessio Sergi 已提交
378
Glances uses two columns: one for the ``RAM`` and one for the ``SWAP``.
A
Alessio Sergi 已提交
379 380 381

.. image:: images/mem.png

A
Alessio Sergi 已提交
382 383
If enough space is available, Glances displays extended information for
the ``RAM``:
A
Alessio Sergi 已提交
384 385 386

.. image:: images/mem-wide.png

A
Alessio Sergi 已提交
387
Alerts are only set for used memory and used swap.
A
Alessio Sergi 已提交
388

A
Alessio Sergi 已提交
389 390 391 392
| If used memory|swap is ``<50%``, then status is set to ``"OK"``
| If used memory|swap is ``>50%``, then status is set to ``"CAREFUL"``
| If used memory|swap is ``>70%``, then status is set to ``"WARNING"``
| If used memory|swap is ``>90%``, then status is set to ``"CRITICAL"``
A
Alessio Sergi 已提交
393

A
Alessio Sergi 已提交
394 395
*Note*: limit values can be overwritten in the configuration file under
the ``[memory]`` and/or ``[memswap]`` sections.
N
Nicolas Hennion 已提交
396

A
Alessio Sergi 已提交
397 398 399 400 401 402 403 404
Network
-------

.. image:: images/network.png

Glances displays the network interface bit rate. The unit is adapted
dynamically (bits per second, kbits per second, Mbits per second, etc).

A
Alessio Sergi 已提交
405 406
Alerts are only set if the maximum speed per network interface is available
(see sample in the configuration file).
A
Alessio Sergi 已提交
407

A
Alessio Sergi 已提交
408 409
*Note*: it is possibile to define a list of network interfaces to hide
and per-interface limit values in the ``[network]`` section of the
410
configuration file and aliases for interface name. 
N
Nicolas Hennion 已提交
411

A
Alessio Sergi 已提交
412 413 414 415 416 417 418
Disk I/O
--------

.. image:: images/diskio.png

Glances displays the disk I/O throughput. The unit is adapted dynamically.

A
Alessio Sergi 已提交
419
There is no alert on this information.
A
Alessio Sergi 已提交
420

A
Alessio Sergi 已提交
421
*Note*: it is possible to define a list of disks to hide under the
422
``[diskio]`` section in the configuration file and aliases for disk name.
423

A
Alessio Sergi 已提交
424
File System
A
Alessio Sergi 已提交
425 426 427 428 429 430 431
-----------

.. image:: images/fs.png

Glances displays the used and total file system disk space. The unit is
adapted dynamically.

A
Alessio Sergi 已提交
432
Alerts are set for used disk space.
A
Alessio Sergi 已提交
433

A
Alessio Sergi 已提交
434 435 436 437
| If used disk is ``<50%``, then status is set to ``"OK"``
| If used disk is ``>50%``, then status is set to ``"CAREFUL"``
| If used disk is ``>70%``, then status is set to ``"WARNING"``
| If used disk is ``>90%``, then status is set to ``"CRITICAL"``
A
Alessio Sergi 已提交
438

A
Alessio Sergi 已提交
439 440
*Note*: limit values can be overwritten in the configuration file under
the ``[filesystem]`` section.
N
Nicolas Hennion 已提交
441

N
Nicolargo 已提交
442 443 444
Sensors
-------

A
Alessio Sergi 已提交
445 446
Glances can displays the sensors information using `lm-sensors`,
`hddtemp` and `batinfo` [2]_.
N
Nicolargo 已提交
447

A
Alessio Sergi 已提交
448
All of the above libraries are available only on Linux.
N
Nicolargo 已提交
449

A
Alessio Sergi 已提交
450 451
As of lm-sensors, a filter is being applied in order to display
temperature only.
A
Alessio Sergi 已提交
452

A
Alessio Sergi 已提交
453
.. image:: images/sensors.png
N
Nicolargo 已提交
454 455

There is no alert on this information.
A
Alessio Sergi 已提交
456

457 458
*Note*: limit values and sensors alias names can be defined in the configuration 
file under the ``[sensors]`` section.
N
Nicolas Hennion 已提交
459

A
Alessio Sergi 已提交
460
Processes List
A
Alessio Sergi 已提交
461 462 463 464 465 466 467 468 469 470
--------------

Compact view:

.. image:: images/processlist.png

Full view:

.. image:: images/processlist-wide.png

N
Nicolas Hennion 已提交
471
Three views are available for processes:
A
Alessio Sergi 已提交
472 473

* Processes summary
A
Alessio Sergi 已提交
474
* Optional monitored processes list (see below)
N
Nicolas Hennion 已提交
475
* Processes list
A
Alessio Sergi 已提交
476

477 478 479
The processes summary line display:

* Tasks number (total number of processes)
A
Alessio Sergi 已提交
480
* Threads number
481 482 483
* Running tasks number
* Sleeping tasks number
* Other tasks number (not running or sleeping)
N
Nicolargo 已提交
484
* Sort key
485

A
Alessio Sergi 已提交
486 487
By default, or if you hit the ``a`` key, the processes list is
automatically sorted by:
A
Alessio Sergi 已提交
488

A
Alessio Sergi 已提交
489 490 491 492
* ``CPU`` if there is no alert (default behavior)
* ``CPU`` if a CPU or LOAD alert is detected
* ``MEM`` if a memory alert is detected
* ``Disk I/O`` if a CPU iowait alert is detected
N
Nicolas Hennion 已提交
493

A
Alessio Sergi 已提交
494 495 496 497 498 499
The number of processes in the list is adapted to the screen size.

``CPU%``
    % of CPU used by the process
``MEM%``
    % of MEM used by the process
N
Nicolargo 已提交
500
``VIRT``
501
    Total program size - Virtual Memory Size (VMS)
N
Nicolargo 已提交
502
``RES``
N
Nicolas Hennion 已提交
503
    Resident Set Size (RSS)
A
Alessio Sergi 已提交
504 505 506
``PID``
    Process ID
``USER``
N
Nicolargo 已提交
507
    User ID
A
Alessio Sergi 已提交
508
``NI``
A
Alessio Sergi 已提交
509
    Nice level of the process (niceness other than 0 is highlighted)
A
Alessio Sergi 已提交
510
``S``
A
Alessio Sergi 已提交
511
    Process status (running process is highlighted)
A
Alessio Sergi 已提交
512 513 514
``TIME+``
    Cumulative CPU time used
``IOR/s``
A
Alessio Sergi 已提交
515
    Per process I/O read rate (in Byte/s)
A
Alessio Sergi 已提交
516
``IOW/s``
A
Alessio Sergi 已提交
517
    Per process I/O write rate (in Byte/s)
N
Nicolargo 已提交
518
``COMMAND``
519 520
    Process command line
    User cans switch to the process name by pressing on the ``/`` key 
A
Alessio Sergi 已提交
521 522 523 524

Process status legend:

``R``
N
Nicolargo 已提交
525
    Running
A
Alessio Sergi 已提交
526
``S``
N
Nicolargo 已提交
527
    Sleeping (may be interrupted)
A
Alessio Sergi 已提交
528
``D``
N
Nicolargo 已提交
529
    Disk sleep (may not be interrupted)
A
Alessio Sergi 已提交
530
``T``
N
Nicolargo 已提交
531
    Traced / Stopped
A
Alessio Sergi 已提交
532
``Z``
N
Nicolargo 已提交
533
    Zombie
A
Alessio Sergi 已提交
534

535 536
In standalone mode, additionals informations are provided for the top process:

N
Nicolargo 已提交
537 538
.. image:: images/processlist-top.png

539 540 541 542 543
* CPU affinity (number of cores used by the process)
* Extended memory information (swap, shared, text, lib, data and dirty on Linux)
* Openned threads, files and network sessions (TCP and UDP)
* IO nice level  

N
Nicolargo 已提交
544 545
The extended stats feature could be disabled using the --disable-process-extended option (command line) or the ``e`` key (curses interface).

546
*Note*: limit values can be overwritten in the configuration file under
A
Alessio Sergi 已提交
547
the ``[process]`` section.
N
Nicolas Hennion 已提交
548

A
Alessio Sergi 已提交
549
Monitored Processes List
N
Nicolas Hennion 已提交
550 551
------------------------

A
Alessio Sergi 已提交
552
The monitored processes list allows user, through the configuration file,
A
Alessio Sergi 已提交
553 554
to group processes and quickly show if the number of running processes is
not good.
N
Nicolas Hennion 已提交
555

556 557
.. image:: images/monitored.png

N
Nicolas Hennion 已提交
558 559
Each item is defined by:

A
Alessio Sergi 已提交
560 561
* ``description``: description of the processes (max 16 chars).
* ``regex``: regular expression of the processes to monitor.
A
Alessio Sergi 已提交
562 563 564 565 566 567
* ``command`` (optional): full path to shell command/script for extended
  stat. Should return a single line string. Use with caution.
* ``countmin`` (optional): minimal number of processes. A warning will
  be displayed if number of processes < count.
* ``countmax`` (optional): maximum number of processes. A warning will
  be displayed if number of processes > count.
N
Nicolas Hennion 已提交
568 569 570

Up to 10 items can be defined.

A
Alessio Sergi 已提交
571 572
For example, if you want to monitor the Nginx processes on a Web server,
the following definition should do the job:
A
Alessio Sergi 已提交
573

A
Alessio Sergi 已提交
574
::
N
Nicolas Hennion 已提交
575 576

    [monitor]
577
    list_1_description=Nginx server
N
Nicolas Hennion 已提交
578 579 580 581 582
    list_1_regex=.*nginx.*
    list_1_command=nginx -v
    list_1_countmin=1
    list_1_countmax=4

A
Alessio Sergi 已提交
583 584
If you also want to monitor the PHP-FPM daemon processes, you should add
another item:
A
Alessio Sergi 已提交
585

A
Alessio Sergi 已提交
586
::
N
Nicolas Hennion 已提交
587 588

    [monitor]
589
    list_1_description=Nginx server
N
Nicolas Hennion 已提交
590 591 592 593 594 595 596 597 598
    list_1_regex=.*nginx.*
    list_1_command=nginx -v
    list_1_countmin=1
    list_1_countmax=4
    list_1_description=PHP-FPM
    list_1_regex=.*php-fpm.*
    list_1_countmin=1
    list_1_countmax=20

599
In client/server mode, the list is defined on the server side.
A
Alessio Sergi 已提交
600 601
A new method, called `getAllMonitored`, is available in the APIs and
get the JSON representation of the monitored processes list.
602

603
Alerts are set as following:
604 605

| If number of processes is 0, then status is set to ``"CRITICAL"``
606
| If number of processes is min < current < max, then status is set to ``"OK"``
607 608
| Else status is set to ``"WARNING"``

A
Alessio Sergi 已提交
609 610 611 612 613
Logs
----

.. image:: images/logs.png

A
Alessio Sergi 已提交
614 615
A log messages list is displayed in the bottom of the screen if (and
only if):
A
Alessio Sergi 已提交
616 617 618 619 620 621

- at least one ``WARNING`` or ``CRITICAL`` alert was occurred
- space is available in the bottom of the console/terminal

Each alert message displays the following information:

A
Alessio Sergi 已提交
622 623 624
1. start datetime
2. duration if alert is terminated or `ongoing` if the alert is still in
   progress
A
Alessio Sergi 已提交
625
3. alert name
A
Alessio Sergi 已提交
626 627
4. {min,avg,max} values or number of running processes for monitored
   processes list alerts
A
Alessio Sergi 已提交
628

A
Alessio Sergi 已提交
629 630
Other Outputs
=============
A
Alessio Sergi 已提交
631

N
Nicolargo 已提交
632
It is possible to export statistics to CSV file.
A
Alessio Sergi 已提交
633

N
Nicolas Hennion 已提交
634
.. code-block:: console
A
Alessio Sergi 已提交
635

N
Nicolargo 已提交
636
    $ glances --output-csv /tmp/glances.csv
A
Alessio Sergi 已提交
637

N
Nicolargo 已提交
638
CSV files have two lines per stats:
A
Alessio Sergi 已提交
639

N
Nicolargo 已提交
640 641
- Stats description
- Stats (comma separated)
N
Nicolas Hennion 已提交
642

643 644 645 646
APIs Documentations
===================

Glances includes a `XML-RPC server`_ and a `RESTFULL-JSON`_ API which and can be used by another client software.
A
Alessio Sergi 已提交
647

648
APIs documentations are available at:
A
Alessio Sergi 已提交
649

650 651
- XML-RPC: https://github.com/nicolargo/glances/wiki/The-Glances-2.x-API-How-to
- RESTFULL-JSON: https://github.com/nicolargo/glances/wiki/The-Glances-RESTFULL-JSON-API
N
Nicolas Hennion 已提交
652

A
Alessio Sergi 已提交
653 654 655
Support
=======

N
Nicolargo 已提交
656 657
To post a question about Glances use case, please post it to the offical Q&A `forum`_.

A
Alessio Sergi 已提交
658 659
To report a bug or a feature request use the bug tracking system at
https://github.com/nicolargo/glances/issues.
A
Alessio Sergi 已提交
660

N
Nicolargo 已提交
661
Feel free to contribute !
A
Alessio Sergi 已提交
662 663 664


.. [1] http://nosheep.net/story/defining-unix-load-average/
A
Alessio Sergi 已提交
665
.. [2] https://github.com/nicolargo/batinfo
A
Alessio Sergi 已提交
666 667 668

.. _psutil: https://code.google.com/p/psutil/
.. _XML-RPC server: http://docs.python.org/2/library/simplexmlrpcserver.html
N
Nicolargo 已提交
669 670
.. _RESTFULL-JSON: http://jsonapi.org/
.. _forum: https://groups.google.com/forum/?hl=en#!forum/glances-users