glances man page

glances ā€” An eye on your system

TL;DR

glances

glances -w

glances -s

glances -c hostname

glances -s --password

Synopsis

glances [Options]

Description

glances is a cross-platform curses-based 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. It can also work in client/server mode. Remote monitoring could be done via terminal or web interface.

glances is written in Python and uses the psutil library to get information from your system.

Options

Command-Line Options

-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

--disable-alert

disable alert/log module

--disable-amps

disable application monitoring process module

--disable-cpu

disable CPU module

--disable-diskio

disable disk I/O module

--disable-docker

disable Docker module

--disable-folders

disable folders module

--disable-fs

disable file system module

--disable-hddtemp

disable HD temperature module

--disable-ip

disable IP module

--disable-irq

disable IRQ module

--disable-load

disable load module

--disable-mem

disable memory module

--disable-memswap

disable memory swap module

--disable-network

disable network module

--disable-now

disable current time module

--disable-ports

disable Ports module

--disable-process

disable process module

--disable-raid

disable RAID module

--disable-sensors

disable sensors module

--disable-wifi

disable Wifi module

-0, --disable-irix

task's CPU usage will be divided by the total number of CPUs

-1, --percpu

start Glances in per CPU mode

-2, --disable-left-sidebar

disable network, disk I/O, FS and sensors modules

-3, --disable-quicklook

disable quick look module

-4, --full-quicklook

disable all but quick look and load

-5, --disable-top

disable top menu (QuickLook, CPU, MEM, SWAP and LOAD)

-6, --meangpu

start Glances in mean GPU mode

--enable-history

enable the history mode (matplotlib lib needed)

--disable-bold

disable bold mode in the terminal

--disable-bg

disable background colors in the terminal

--enable-process-extended

enable extended stats on top process

--export-graph

export stats to graph

--path-graph PATH_GRAPH

set the export path for graph history

--export-csv EXPORT_CSV

export stats to a CSV file

--export-cassandra

export stats to a Cassandra/Scylla server (cassandra lib needed)

--export-couchdb

export stats to a CouchDB server (couchdb lib needed)

--export-elasticsearch

export stats to an Elasticsearch server (elasticsearch lib needed)

--export-influxdb

export stats to an InfluxDB server (influxdb lib needed)

--export-opentsdb

export stats to an OpenTSDB server (potsdb lib needed)

--export-rabbitmq

export stats to RabbitMQ broker (pika lib needed)

--export-statsd

export stats to a StatsD server (statsd lib needed)

--export-riemann

export stats to Riemann server (bernhard lib needed)

--export-zeromq

export stats to a ZeroMQ server (zmq lib needed)

-c CLIENT, --client CLIENT

connect to a Glances server by IPv4/IPv6 address, hostname or hostname:port

-s, --server

run Glances in server mode

--browser

start the client browser (list of servers)

--disable-autodiscover

disable autodiscover feature

-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

--username

define a client/server username

--password

define a client/server password

--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 (bottle lib needed)

--cached-time CACHED_TIME

set the server cache time [default: 1 sec]

open-web-browser

try to open the Web UI in the default Web browser

-q, --quiet

do not display the curses interface

-f PROCESS_FILTER, --process-filter PROCESS_FILTER

set the process filter pattern (regular expression)

--process-short-name

force short name for processes name

--hide-kernel-threads

hide kernel threads in process list

--tree

display processes as a tree

-b, --byte

display network rate in byte per second

--diskio-show-ramfs

show RAM FS in the DiskIO plugin

--diskio-iops

show I/O per second in the DiskIO plugin

--fahrenheit

display temperature in Fahrenheit (default is Celsius)

--fs-free-space

display FS free space instead of used

--theme-white

optimize display colors for white background

--disable-check-update

disable online Glances version ckeck

Interactive Commands

The following commands (key pressed) are supported while in Glances:

ENTER

Set the process filter

NOTE:

On macOS please use CTRL-H to delete filter.

Filter is a regular expression pattern:

  • gnome: matches all processes starting with the gnome string
  • .*gnome.*: matches all processes containing the gnome string
a

Sort process list automatically

  • If CPU >70%, sort processes by CPU usage
  • If MEM >70%, sort processes by MEM usage
  • If CPU iowait >60%, sort processes by I/O read and write
A

Enable/disable Application Monitoring Process

b

Switch between bit/s or Byte/s for network I/O

B

View disk I/O counters per second

c

Sort processes by CPU usage

d

Show/hide disk I/O stats

D

Enable/disable Docker stats

e

Enable/disable top extended stats

E

Erase current process filter

f

Show/hide file system and folder monitoring stats

F

Switch between file system used and free space

g

Generate graphs for current history

h

Show/hide the help screen

i

Sort processes by I/O rate

I

Show/hide IP module

l

Show/hide log messages

m

Sort processes by MEM usage

M

Reset processes summary min/max

n

Show/hide network stats

N

Show/hide current time

p

Sort processes by name

q|ESC

Quit the current Glances session

Q

Show/hide IRQ module

r

Reset history

R

Show/hide RAID plugin

s

Show/hide sensors stats

t

Sort process by CPU times (TIME+)

T

View network I/O as combination

u

Sort processes by USER

U

View cumulative network I/O

w

Delete finished warning log messages

W

Show/hide Wifi module

x

Delete finished warning and critical log messages

z

Show/hide processes stats

0

Enable/disable Irix/Solaris mode

Task's CPU usage will be divided by the total number of CPUs

1

Switch between global CPU and per-CPU stats

2

Enable/disable left sidebar

3

Enable/disable the quick look module

4

Enable/disable all but quick look and load module

5

Enable/disable top menu (QuickLook, CPU, MEM, SWAP and LOAD)

6

Enable/disable mean GPU mode

/

Switch between process command line or command name

In the Glances client browser (accessible through the --browser command line argument):

ENTER

Run the selected server

UP

Up in the servers list

DOWN

Down in the servers list

q|ESC

Quit Glances

Configuration

No configuration file is mandatory to use Glances.

Furthermore a configuration file is needed to access more settings.

Location

NOTE:

A template is available in the /usr{,/local}/share/doc/glances (Unix-like) directory or directly on GitHub.

You can put your own glances.conf file in the following locations:

Linux, SunOS ~/.config/glances, /etc/glances
*BSD ~/.config/glances, /usr/local/etc/glances
macOS ~/Library/Application Support/glances, /usr/local/etc/glances
Windows %APPDATA%\glances

User-specific options override system-wide options and options given on the command line override either.

Syntax

Glances reads configuration files in the ini syntax.

A first section (called global) is available:

[global]
# Does Glances should check if a newer version is available on PyPI?
check_update=true

Each plugin, export module and application monitoring process (AMP) can have a section. Below an example for the CPU plugin:

[cpu]
user_careful=50
user_warning=70
user_critical=90
iowait_careful=50
iowait_warning=70
iowait_critical=90
system_careful=50
system_warning=70
system_critical=90
steal_careful=50
steal_warning=70
steal_critical=90

an InfluxDB export module:

[influxdb]
# Configuration for the --export-influxdb option
# https://influxdb.com/
host=localhost
port=8086
user=root
password=root
db=glances
prefix=localhost
#tags=foo:bar,spam:eggs

or a Nginx AMP:

[amp_nginx]
# Nginx status page should be enable (https://easyengine.io/tutorials/nginx/status-page/)
enable=true
regex=\/usr\/sbin\/nginx
refresh=60
one_line=false
status_url=http://localhost/nginx_status

Logging

Glances logs all of its internal messages to a log file.

DEBUG messages can been logged using the -d option on the command line.

By default, the glances-USERNAME.log file is under the temporary directory:

*nix /tmp
Windows %TEMP%

If you want to use another system path or change the log message, you can use your own logger configuration. First of all, you have to create a glances.json file with, for example, the following content (JSON format):

{
    "version": 1,
    "disable_existing_loggers": "False",
    "root": {
        "level": "INFO",
        "handlers": ["file", "console"]
    },
    "formatters": {
        "standard": {
            "format": "%(asctime)s -- %(levelname)s -- %(message)s"
        },
        "short": {
            "format": "%(levelname)s: %(message)s"
        },
        "free": {
            "format": "%(message)s"
        }
    },
    "handlers": {
        "file": {
            "level": "DEBUG",
            "class": "logging.handlers.RotatingFileHandler",
            "formatter": "standard",
            "filename": "/var/tmp/glances.log"
        },
        "console": {
            "level": "CRITICAL",
            "class": "logging.StreamHandler",
            "formatter": "free"
        }
    },
    "loggers": {
        "debug": {
            "handlers": ["file", "console"],
            "level": "DEBUG"
        },
        "verbose": {
            "handlers": ["file", "console"],
            "level": "INFO"
        },
        "standard": {
            "handlers": ["file"],
            "level": "INFO"
        },
        "requests": {
            "handlers": ["file", "console"],
            "level": "ERROR"
        },
        "elasticsearch": {
            "handlers": ["file", "console"],
            "level": "ERROR"
        },
        "elasticsearch.trace": {
            "handlers": ["file", "console"],
            "level": "ERROR"
        }
    }
}

and start Glances using the following command line:

LOG_CFG=<path>/glances.json glances
NOTE:

Replace <path> by the folder where your glances.json file is hosted.

Examples

Monitor local machine (standalone mode):

$ glances

Monitor local machine with the web interface (Web UI):

$ glances -w

Monitor local machine and export stats to a CSV file:

$ glances --export-csv

Monitor local machine and export stats to a InfluxDB server with 5s refresh time (also possible to export to OpenTSDB, Cassandra, Statsd, ElasticSearch, RabbitMQ and Riemann):

$ glances -t 5 --export-influxdb

Start a Glances server (server mode):

$ glances -s

Connect Glances to a Glances server (client mode):

$ glances -c <ip_server>

Connect to a Glances server and export stats to a StatsD server:

$ glances -c <ip_server> --export-statsd

Start the client browser (browser mode):

$ glances --browser

Author

Nicolas Hennion aka Nicolargo <contact@nicolargo.com>

Info

Sep 09, 2017 2.11.1_DEVELOP Glances