glances¶
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 Reference¶
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
-
-CCONF_FILE,--configCONF_FILE¶ path to the configuration file
-
--modules-list¶ display modules (plugins & exports) list and exit
-
--disable-pluginPLUGIN¶ disable PLUGIN (comma separed list)
-
--enable-pluginPLUGIN¶ enable PLUGIN (comma separed list)
-
--stdoutPLUGINS_STATS¶ display stats to stdout (comma separated list of plugins/plugins.attribute)
-
--exportEXPORT¶ enable EXPORT module (comma separed list)
-
--export-csv-fileEXPORT_CSV_FILE¶ file path for CSV exporter
-
--export-json-fileEXPORT_JSON_FILE¶ file path for JSON exporter
-
--disable-process¶ disable process module (reduce Glances CPU consumption)
-
--disable-webui¶ disable the Web UI (only the RESTful API will respond)
-
--light,--enable-light¶ light mode for Curses UI (disable all but top menu)
-
-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
-
--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
-
-cCLIENT,--clientCLIENT¶ 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
-
-pPORT,--portPORT¶ define the client/server TCP port [default: 61209]
-
-BBIND_ADDRESS,--bindBIND_ADDRESS¶ bind server to the given IPv4/IPv6 address or hostname
-
--username¶ define a client/server username
-
--password¶ define a client/server password
-
--snmp-communitySNMP_COMMUNITY¶ SNMP community
-
--snmp-portSNMP_PORT¶ SNMP port
-
--snmp-versionSNMP_VERSION¶ SNMP version (1, 2c or 3)
-
--snmp-userSNMP_USER¶ SNMP username (only for SNMPv3)
-
--snmp-authSNMP_AUTH¶ SNMP authentication key (only for SNMPv3)
-
--snmp-force¶ force SNMP mode
-
-tTIME,--timeTIME¶ set refresh time in seconds [default: 3 sec]
-
-w,--webserver¶ run Glances in web server mode (bottle lib needed)
-
--cached-timeCACHED_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
-
-fPROCESS_FILTER,--process-filterPROCESS_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 (not available on Windows)
-
-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:
ENTERSet the process filter
Note
On macOS please use
CTRL-Hto delete filter.Filter is a regular expression pattern:
gnome: matches all processes starting with thegnomestring.*gnome.*: matches all processes containing thegnomestring
aSort process list automatically
If CPU
>70%, sort processes by CPU usageIf MEM
>70%, sort processes by MEM usageIf CPU iowait
>60%, sort processes by I/O read and write
AEnable/disable Application Monitoring Process
bSwitch between bit/s or Byte/s for network I/O
BView disk I/O counters per second
cSort processes by CPU usage
dShow/hide disk I/O stats
DEnable/disable Docker stats
eEnable/disable top extended stats
EErase current process filter
fShow/hide file system and folder monitoring stats
FSwitch between file system used and free space
gGenerate graphs for current history
hShow/hide the help screen
iSort processes by I/O rate
IShow/hide IP module
kShow/hide TCP connections
lShow/hide log messages
mSort processes by MEM usage
MReset processes summary min/max
nShow/hide network stats
NShow/hide current time
pSort processes by name
q|ESC|CTRL-CQuit the current Glances session
QShow/hide IRQ module
rReset history
RShow/hide RAID plugin
sShow/hide sensors stats
tSort process by CPU times (TIME+)
TView network I/O as combination
uSort processes by USER
UView cumulative network I/O
wDelete finished warning log messages
WShow/hide Wifi module
xDelete finished warning and critical log messages
zShow/hide processes stats
0Enable/disable Irix/Solaris mode
Task’s CPU usage will be divided by the total number of CPUs
1Switch between global CPU and per-CPU stats
2Enable/disable left sidebar
3Enable/disable the quick look module
4Enable/disable all but quick look and load module
5Enable/disable top menu (QuickLook, CPU, MEM, SWAP and LOAD)
6Enable/disable mean GPU mode
/Switch between process command line or command name
In the Glances client browser (accessible through the --browser
command line argument):
ENTERRun the selected server
UPUp in the servers list
DOWNDown in the servers list
q|ESCQuit Glances
CONFIGURATION¶
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:
|
~/.config/glances, /etc/glances |
|
~/.config/glances, /usr/local/etc/glances |
|
~/Library/Application Support/glances, /usr/local/etc/glances |
|
%APPDATA%\glances |
On Windows XP,
%APPDATA%is:C:\Documents and Settings\<USERNAME>\Application Data.On Windows Vista and later:
C:\Users\<USERNAME>\AppData\Roaming.
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]
disable=False
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
With Glances 3.0 or higher it is also possible to use dynamic configuration value using system command. For example, if you to set the prefix of an InfluxDB export to the current hostname, use:
[influxdb]
...
prefix=`hostname`
Or if you want to add the Operating System name as a tag:
[influxdb]
...
tags=system:`uname -a`
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.
The location of the Glances depends of your operating system. You could displayed the Glances log file full path using the``glances -V`` command line.
The file is automatically rotate when the size is higher than 1 MB.
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), run the following command line:
$ glances -w
and open a Web browser with the returned URL
Monitor local machine and export stats to a CSV file:
$ glances –export csv –export-csv-file /tmp/glances.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
It is also possible to export stats to multiple endpoints:
$ glances -t 5 –export influxdb,statsd,csv
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>