Skip to content

Releases: nicolargo/glances

Glances 3.1.0

19 Jan 16:08
Compare
Choose a tag to compare

Version 3.1

Enhancements and new features:

* Add a CSV output format to the STDOUT output mode #1363
* Feature request: HDD S.M.A.R.T. reports (thanks to @tnibert) #1288
* Sort docker stats #1276
* Prohibit some plug-in data from being exported to influxdb #1368
* Disable plugin from Glances configuration file #1378
* Curses-browser's server list paging added (thanks to @limfreee) #1385
* Client Browser's thread management added (thanks to @limfreee) #1391

Bugs corrected:

* TypeError: '<' not supported between instances of 'float' and 'str' #1315
* GPU plugin not exported to influxdb #1333
* Crash after running fine for several hours #1335
* Timezone listed doesn’t match system timezone, outputs wrong time #1337
* Compare issue with Process.cpu_times() #1339
* ERROR -- Can not grab extended stats (invalid attr name 'num_fds') #1351
* Action on port/web plugins is not working #1358
* Support for monochrome (serial) terminals e.g. vt220 #1362
* TypeError on opening (Wifi plugin) #1373
* Some field name are incorrect in CSV export #1372
* Standard output misbehaviour (need to flush) #1376
* Create an option to set the username to use in Web or RPC Server mode #1381
* Missing kernel task names when the webui is switched to long process names #1371
* Drive name with special characters causes crash #1383
* Cannot get stats in Cloud plugin (404) #1384

Others:

* Add Docker documentation (thanks to @rgarrigue)
* Refactor Glances logs (now called Glances events)
* "chart" extra dep replace by "graph" #1389

Glances 3.0.2

14 Oct 08:16
Compare
Choose a tag to compare

Version 3.0.2

Bug corrected:

* Glances IO Errorno 22 - Invalid argument #1326

Version 3.0.1

Bug corrected:

*  AMPs error if no output are provided by the system call #1314

Version 3.0

See the release note here: https://github.com/nicolargo/glances/wiki/Glances-3.0-Release-Note

Enhancements and new features:

* Make the left side bar width dynamic in the Curse UI #1177
* Add threads number in the process list #1259
* A way to have only REST API available and disable WEB GUI access #1149
* Refactor graph export plugin (& replace Matplolib by Pygal) #697
* Docker module doesn't export details about stopped containers #1152
* Add dynamic fields in all sections of the configuration file #1204
* Make plugins and export CLI option dynamical #1173
* Add a light mode for the console UI #1165
* Refactor InfluxDB (API is now stable) #1166
* Add deflate compression support to the RestAPI #1182
* Add a code of conduct for Glances project's participants #1211
* Context switches bottleneck identification #1212
* Take advantage of the psutil issue #1025 (Add process_iter(attrs, ad_value)) #1105
* Nice Process Priority Configuration #1218
* Display debug message if dep lib is not found #1224
* Add a new output mode to stdout #1168
* Huge refactor of the WebUI packaging thanks to @spike008t #1239
* Add time zone to the current time #1249
* Use HTTPs URLs to check public IP address #1253
* Add labels support to Promotheus exporter #1255
* Overlap in Web UI when monitoring a machine with 16 cpu threads #1265
* Support for exporting data to a MQTT server #1305

One more thing ! A new Grafana Dash is available with:
* Network interface variable
* Disk variable
* Container CPU

Bugs corrected:

* Crash in the Wifi plugin on my Laptop #1151
* Failed to connect to bus: No such file or directory #1156
* glances_plugin.py has a problem with specific docker output #1160
* Key error 'address' in the IP plugin #1176
* NameError: name 'mode' is not defined in case of interrupt shortly after starting the server mode #1175
* Crash on startup: KeyError: 'hz_actual_raw' on Raspbian 9.1 #1170
* Add missing mount-observe and system-observe interfaces #1179
* OS specific arguments should be documented and reported #1180
* 'ascii' codec can't encode character u'\U0001f4a9' in position 4: ordinal not in range(128) #1185
* KeyError: 'memory_info' on stats sum #1188
* Electron/Atom processes displayed wrong in process list #1192
* Another encoding issue... With both Python 2 and Python 3 #1197
* Glances do not exit when eating 'q' #1207
* FreeBSD blackhole bug #1202
* Glances crashes when mountpoint with non ASCII characters exists #1201
* [WEB UI] Minor issue on the Web UI #1240
* [Glances 3.0 RC1] Client/Server is broken #1244
* Fixing horizontal scrolling #1248
* Stats updated during export (thread issue) #1250
* Glances --browser crashed when more than 40 glances servers on screen 78x45 #1256
* OSX - Python 3 and empty percent and res #1251
* Crashes when influxdb option set #1260
* AMP for kernel process is not working #1261
* Arch linux package (2.11.1-2) psutil (v5.4.1): RuntimeWarning: ignoring OSError #1203
* Glances crash with extended process stats #1283
* Terminal window stuck at the last accessed *protected* server #1275
* Glances shows mdadm RAID0 as degraded when chunksize=128k and the array isn't degraded. #1299
* Never starts in a server on Google Cloud and FreeBSD #1292

Backward-incompatible changes:

* Support for Python 3.3 has been dropped (EOL 2017-09-29)
* Support for psutil < 5.3.0 has been dropped
* Minimum supported Docker API version is now 1.21 (Docker plugins)
* Support for InfluxDB < 0.9 is deprecated (InfluxDB exporter)
* Zeroconf lib should be pinned to 0.19.1 for Python 2.x
* --disable-<plugin> no longer available (use --disable-plugin <plugin>)
* --export-<exporter> no longer available (use --export <exporter>)

News command line options:

--disable-webui  Disable the WebUI (only RESTful API will respond)
--enable-light   Enable the light mode for the UI interface
--modules-list   Display plugins and exporters list
--disable-plugin plugin1,plugin2
                 Disable a list of comma separated plugins
--export exporter1,exporter2
                 Export stats to a comma separated exporters
--stdout plugin1,plugin2.attribute
                 Display stats to stdout

News configuration keys in the glances.conf file:

Graph:

[graph]
# Configuration for the --export graph option
# Set the path where the graph (.svg files) will be created
# Can be overwrite by the --graph-path command line option
path=/tmp
# It is possible to generate the graphs automatically by setting the
# generate_every to a non zero value corresponding to the seconds between
# two generation. Set it to 0 to disable graph auto generation.
generate_every=60
# See followings configuration keys definitions in the Pygal lib documentation
# http://pygal.org/en/stable/documentation/index.html
width=800
height=600
style=DarkStyle

Processes list Nice value:

[processlist]
# Nice priorities range from -20 to 19.
# Configure nice levels using a comma separated list.
#
# Nice: Example 1, non-zero is warning (default behavior)
nice_warning=-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
#
# Nice: Example 2, low priority processes escalate from careful to critical
#nice_careful=1,2,3,4,5,6,7,8,9
#nice_warning=10,11,12,13,14
#nice_critical=15,16,17,18,19

Docker plugin (related to #1152)

[docker]
# By default, Glances only display running containers
# Set the following key to True to display all containers
all=False

All configuration file values (related to #1204)

[influxdb]
# It is possible to use dynamic system command
prefix=`hostname`
tags=foo:bar,spam:eggs,system:`uname -a`

Glances 3.0

05 Sep 06:31
Compare
Choose a tag to compare

Glances 2.11

27 Aug 12:10
Compare
Choose a tag to compare

Enhancements and new features:

* New export plugin: standard and configurable Restfull exporter (issue #1129)
* Add a JSON export module (issue #1130)
* [WIP] Refactoring of the WebUI

Bugs corrected:

* Installing GPU plugin crashes entire Glances (issue #1102)
* Potential memory leak in Windows WebUI (issue #1056)
* glances_network `OSError: [Errno 19] No such device` (issue #1106)
* GPU plugin. <class 'TypeError'>: ... not JSON serializable"> (issue #1112)
* PermissionError on macOS (issue #1120)
* Cant move up or down in glances --browser (issue #1113)
* Unable to give aliases to or hide network interfaces and disks (issue #1126)
* `UnicodeDecodeError` on mountpoints with non-breaking spaces (issue #1128)

Installation:

* Create a Snap of Glances (issue #1101)

Glances 2.10

26 May 14:36
Compare
Choose a tag to compare

Enhancements and new features:

* New plugin to scan remote Web sites (URL) (issue #981)
* Add trends in the Curses interface (issue #1077)
* Add new repeat function to the action (issue #952)
* Use -> and <- arrows keys to switch between processing sort (issue #1075)
* Refactor __init__ and main scripts (issue #1050)
* [WebUI] Improve WebUI for Windows 10 (issue #1052)

Bugs corrected:

* StatsD export prefix option is ignored (issue #1074)
* Some FS and LAN metrics fail to export correctly to StatsD (issue #1068)
* Problem with non breaking space in file system name (issue #1065)
* TypeError: string indices must be integers (Network plugin) (issue #1054)
* No Offline status for timeouted ports? (issue #1084)
* When exporting, uptime values loop after 1 day (issue #1092)

Installation:

Glances 2.9.1

03 Apr 16:32
Compare
Choose a tag to compare

Version 2.9.1

Bugs corrected:

* Glances PerCPU issues with Curses UI on Android (issue #1071)
* Remove extra } in format string (issue #1073)

Glances 2.9.0

27 Mar 15:33
Compare
Choose a tag to compare

Version 2.9.0

Enhancements and new features:

* Add a Prometheus export module (issue #930)
* Add a Kafka export module (issue #858)
* Port in the -c URI (-c hostname:port) (issue #996)

Bugs corrected:

* On Windows --export-statsd terminates immediately and does not export (issue #1067)
* Glances v2.8.7 issues with Curses UI on Android (issue #1053)
* Fails to start, OSError in sensors_temperatures (issue #1057)
* Crashs after long time running the glances --browser (issue #1059)
* Sensor values don't refresh since psutil backend (issue #1061)
  • glances-version.db Permission denied (issue #1066)

Glances 2.8.1

06 Feb 18:39
Compare
Choose a tag to compare

Enhancements and new features:

* Enable docker plugin on Windows (issue #1009) - Thanks to @fraoustin

Bugs corrected:

* Glances export issue with CPU and SENSORS (issue #1024)
* Can't export data to a CSV file in Client/Server mode (issue #1023)
* Autodiscover error while binding on IPv6 addresses (issue #1002)
* GPU plugin is display when hitting '4' or '5' shortkeys (issue #1012)
* Interrupts and usb_fiq (issue #1007)
* Docker image does not work in web server mode! (issue #1017)
* IRQ plugin is not display anymore (issue #1013)
* Autodiscover error while binding on IPv6 addresses (issue #1002)

Glances 2.8

21 Jan 14:44
Compare
Choose a tag to compare

Changes:

* The curses interface on Windows is no more. The web-based interface is now
  the default. (issue #946)
* The name of the log file now contains the name of the current user logged in,
  i.e., 'glances-USERNAME.log'.
* IRQ plugin off by default. '--disable-irq' option replaced by '--enable-irq'.

Enhancements and new features:

* GPU monitoring (limited to NVidia) (issue #170)
* WebUI CPU consumption optimization (issue #836)
* Not compatible with the new Docker API 2.0 (Docker 1.13) (issue #1000)
* Add ZeroMQ exporter (issue #939)
* Add CouchDB exporter (issue #928)
* Add hotspot Wifi informations (issue #937)
* Add default interface speed and automatic rate thresolds (issue #718)
* Highlight max stats in the processes list (issue #878)
* Docker alerts and actions (issue #875)
* Glances API returns the processes PPID (issue #926)
* Configure server cached time from the command line --cached-time (issue #901)
* Make the log logger configurable (issue #900)
* System uptime in export (issue #890)
* Refactor the --disable-* options (issue #948)
* PID column too small if kernel.pid_max is > 99999 (issue #959)

Bugs corrected:

* Glances RAID plugin Traceback (issue #927)
* Default AMP crashes when 'command' given (issue #933)
* Default AMP ignores `enable` setting (issue #932)
* /proc/interrupts not found in an OpenVZ container (issue #947)

Glances 2.7 release notes

10 Sep 13:20
Compare
Choose a tag to compare

Welcome to the new Glances 2.7 version.

GLANCES

New features

Add a new Application Monitoring Process (AMP) #780

The AMP plugin replaces the old Monitoring Process plugin. It allows users to
define a processes list and optionally execute a specific action.

AMP

An entry in the AMP list should be defined by a regular expression (on the command
line). When the regular expression matchs (processes are "up and running"),
Glances do the following thinks:

  • if nothing is defined, the global CPU and memory of matched processes are
    displayed
  • a command line could be executed and the output will be displayed
  • a Python script existing in the glances/amps folder could be executed. For
    this last option a list of predefined scripts is provided by the Glances team:
    Nginx, Systemd and SystemV. You can write your owns Python scripts by following
    a existing script as a example.

If you want to monitor the Dropbox daemon, you should add the following section
in the Glances configuration file:

[amp_dropbox]
enable=true
regex=.*dropbox.*
refresh=3
command=dropbox status
one_line=false
countmin=1

How to read this configuration file ?

  • First of all, we add a new AMP section. An AMP entry should alway start with
    amp_ ([amp_dropbox]).
  • We enable the AMP entry (enable=true).
  • We want to focus on the dropbox process (regex=.dropbox.).
  • The AMP entry will be refreshed every 3 seconds (refresh=3).
  • The command line to execute if the process is up and running (command=dropbox status).
  • We force Glances to display all the output of the command line, not only the
    first line (one_line=false).
  • If the number of matching process is < 1, the line will be display with the
    Warning color (countmin=1).

See more examples in the default Glances configuration file (https://github.com/nicolargo/glances/blob/master/conf/glances.conf)

New Ports scanner plugin #734

The Ports Scanner plugin aims at monitoring local or remote TCP/ICMP ports status.

PORTS

A list of host/port is define in the configuration file and the result (RTT delay)
is displayed in the user interface.

[ports]
# Ports scanner plugin configuration
# Interval in second between two scans
refresh=30
# Set the default timeout (in second) for a scan (can be overwrite in the scan list)
timeout=3
# If port_default_gateway is True, add the default gateway on top of the scan list
port_default_gateway=True
# Define the scan list (port_x_- with 1 < x < 255)
# port_x_host (name or IP) is mandatory
# port_x_port (TCP port number) is optional (if not set, use ICMP)
# port_x_description is optional (if not set, define to host:port)
# port_x_timeout is optional and overwrite the default timeout value
# port_x_rtt_warning is optional and defines the warning threshold in ms
port_1_host=192.168.0.1
port_1_port=80
port_1_description=Home Box
port_1_timeout=1
port_2_host=www.free.fr
port_2_description=My ISP
port_3_host=www.google.com
port_3_description=Internet ICMP
port_3_rtt_warning=1000
port_4_host=www.google.com
port_4_description=Internet Web
port_4_port=80
port_4_rtt_warning=1000

CPU additional stats monitoring: Context switch, Interrupts... #810

The following CPU stats are grabbed and displayed in the user interface:

  • ctx_switches: number of context switches (voluntary + involuntary) per second
  • interrupts: number of interrupts per second
  • soft_interrupts: number of software interrupts per second. Always set to 0 on Windows and SunOS.
  • syscalls: number of system calls since boot. Always set to 0 on Linux.

CPU

These new statistics are also available through the API:

$ python -m glances -w
Glances web server started on http://0.0.0.0:61208/

$ curl http://127.0.0.1:61208/api/2/cpu
{
   "guest_nice" : 0,
   "irq" : 0,
   "time_since_update" : 49.5867121219635,
   "total" : 7.1,
   "softirq" : 0,
   "ctx_switches" : 157897,
   "interrupts" : 51886,
   "user" : 5.7,
   "iowait" : 0.1,
   "guest" : 0,
   "soft_interrupts" : 10239,
   "syscalls" : 0,
   "cpucore" : 4,
   "system" : 1.4,
   "idle" : 92.9,
   "nice" : 0,
   "steal" : 0
}

Add Cassandra/Scylla export plugin #857

Additionally to CSV files, InfluxDB, OpenTSDB, StatsD, RabbitMQ, Elasticsearch,
and Riemann, it is now possible to export stats to a Cassandra or Scylla server.

The connection should be defined in the Glances configuration file as following:

[cassandra]
host=localhost
port=9042
protocol_version=3
keyspace=glances
replication_factor=2
table=localhost

and run Glances with:

$ glances --export-cassandra

The data model is the following:

CREATE TABLE <table> (plugin text, time timeuuid, stat map<text,float>, PRIMARY KEY (plugin, time))

Only numerical stats are stored in the Cassandra table. All the stats are
converted to float. If a stat can not be converted to float, it is not stored
in the database.

IRQ monitoring #911

Only on GNU/Linux, a new IRQ plugin displays the top 5 interrupts rate.

IRQ

The stats are grabbed from the /proc/interrupts file.

Display a warning message when Glances is outdated #865

On online machines, Glances can check if a newer version is available on Pypi.

This feature can be enable (true) or disable (false) in the Glances configuration
file:

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

Filter processes by others stats (username) #748

The processes filtering feature has been improved.

It's possible to filter the processes list using the ENTER key.

Filter syntax is the following (examples):

python > Filter processes name or command line starting with python (regexp)
.*python.- > Filter processes name or command line containing python (regexp)
username:nicolargo > Processes of nicolargo user (key:regexp)
cmdline:/usr/bin.- > Processes starting by /usr/bin

Enhancements

(See issues for details)

  • Refactor stats history and export to graph #696
  • [Web UI] dependency manager and build system #906
  • Ports plugin keyboard shortcut #899
  • [Web UI] add ports plugin #897
  • [Web UI] handle aliases in diskio plugin #896
  • Improve documentation documentation enhancement #872
  • Add new amp shortcut 'A' on help page #863
  • Allow theme to be set in configuration file enhancement #862
  • [WebUI] Hide additional cpu data if not available #850
  • [WebUI] Add 'x' and 'w' shortcuts to clean logs messages enhancement #843
  • [Web UI] Fix folder plugin decoration issue for exclamation/question mark #831
  • [Folders] Differentiate permission issue and non-existence of a directory enhancement needs test #828
  • [Web UI] add cpu name in quicklook plugin #825
  • [Web UI] Remove loading page enhancement #807
  • Update Glances with new PsUtil 4.x stats enhancement needs test #797
  • Improve IP plugin to display public IP address enhancement needs test #646

Bugs corrected

(See issues for details)

  • Crash on launch when viewing temperature of laptop HDD in sleep mode (issue #824)
  • [Web UI] Fix folders plugin never displayed (issue #829)
  • Correct issue IP plugin: VPN with no internet access (issue #842)
  • Idle process is back on FreeBSD and Windows (issue #844)
  • On Windows, Glances try to display unexisting Load stats (issue #871)
  • Check CPU info (issue #881)
  • Unicode error on processlist on Windows server 2008 (french) (issue #886)
  • PermissionError/OSError when starting glances (issue #885)
  • Zeroconf problem with zeroconf_type = "_%s._tcp." % appname (issue #888)
  • Zeroconf problem with zeroconf service name (issue #889)
  • [WebUI] Glances will not get past loading screen - Windows OS (issue #815)
  • Improper bytes/unicode in glances_hddtemp.py (issue #887)
  • Top 3 processes are back in the alert summary

Documentation

Full installation guide: https://github.com/nicolargo/glances/blob/master/README.rst#installation

Official documentation: http://glances.readthedocs.io