glances/docs/glances-doc.html

744 lines
34 KiB
HTML
Raw Normal View History

2013-08-02 20:22:32 +04:00
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
2013-08-02 20:22:32 +04:00
<title>Glances</title>
<style type="text/css">
/*
:Author: Alessio Sergi
:Contact: al3hex at gmail dot com
Stylesheet for use with Docutils.
This file is the CSS for the Glances documentation.
*/
body {
margin-top: 1em;
margin-left: 1em;
max-width: 80em;
font-family: serif;
font-size: 16px;
}
h1 {
font-size: 20px;
}
h1.title {
font-size: 22px;
}
h2, h3, p.topic-title {
font-size: 18px;
}
.first {
/* override p.topic-title margin styles */
margin-top: 0 ! important;
}
a {
color: #0055df;
text-decoration: none;
}
a:hover {
color: #339999;
text-decoration: underline;
}
a:visited {
color: #800080;
}
a.toc-backref {
text-decoration: none;
color: black;
}
blockquote {
padding-left: 1ex;
border-left: 1px solid #008000;
max-width: 30em;
}
p.topic-title {
font-weight: bold;
}
2014-06-08 22:44:49 +04:00
pre {
2013-08-02 20:22:32 +04:00
margin-left: 2em;
margin-right: 2em;
}
2014-06-08 22:44:49 +04:00
.console, .literal-block {
2013-08-02 20:22:32 +04:00
background-color: #eeeeee;
border: 1px solid #cccccc;
max-width: 60em;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px 3px 3px 3px;
}
span.option, tt.docutils {
white-space: nowrap;
border: 1px dotted #008000;
padding: 1px;
background-color: #eeeeee;
}
.literal, .literal-block, .option, .var {
font-family: monospace;
font-size: 10pt;
}
dl.docutils {
margin-left: 2em;
}
dl.docutils dd {
margin-bottom: 0.5em;
}
ol.simple {
margin-left: 0.5em;
}
table.docutils {
margin-left: 2em;
}
td.option-group {
padding-right: 1em;
}
</style>
</head>
<body>
<div class="document" id="glances">
<h1 class="title">Glances</h1>
2014-06-22 12:29:23 +04:00
<p>This manual describes <em>Glances</em> version 2.0.1.</p>
2014-01-18 14:02:36 +04:00
<p>Copyright © 2012-2014 Nicolas Hennion &lt;<a class="reference external" href="mailto:nicolas&#64;nicolargo.com">nicolas&#64;nicolargo.com</a>&gt;</p>
2014-06-08 22:44:49 +04:00
<p>June 2014</p>
2013-08-02 20:22:32 +04:00
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of Contents</p>
<ul class="simple">
2014-06-14 14:44:24 +04:00
<li><a class="reference internal" href="#introduction" id="id5">Introduction</a></li>
<li><a class="reference internal" href="#usage" id="id6">Usage</a><ul>
<li><a class="reference internal" href="#standalone-mode" id="id7">Standalone Mode</a></li>
<li><a class="reference internal" href="#client-server-mode" id="id8">Client/Server Mode</a></li>
<li><a class="reference internal" href="#web-server-mode" id="id9">Web Server Mode</a></li>
2013-08-02 20:22:32 +04:00
</ul>
</li>
2014-06-14 14:44:24 +04:00
<li><a class="reference internal" href="#command-reference" id="id10">Command Reference</a><ul>
<li><a class="reference internal" href="#command-line-options" id="id11">Command-Line Options</a></li>
<li><a class="reference internal" href="#interactive-commands" id="id12">Interactive Commands</a></li>
2013-08-02 20:22:32 +04:00
</ul>
</li>
2014-06-14 14:44:24 +04:00
<li><a class="reference internal" href="#configuration" id="id13">Configuration</a></li>
<li><a class="reference internal" href="#anatomy-of-the-application" id="id14">Anatomy Of The Application</a><ul>
<li><a class="reference internal" href="#legend" id="id15">Legend</a></li>
<li><a class="reference internal" href="#header" id="id16">Header</a></li>
<li><a class="reference internal" href="#cpu" id="id17">CPU</a></li>
<li><a class="reference internal" href="#load" id="id18">Load</a></li>
<li><a class="reference internal" href="#memory" id="id19">Memory</a></li>
<li><a class="reference internal" href="#network" id="id20">Network</a></li>
<li><a class="reference internal" href="#disk-i-o" id="id21">Disk I/O</a></li>
<li><a class="reference internal" href="#file-system" id="id22">File System</a></li>
<li><a class="reference internal" href="#sensors" id="id23">Sensors</a></li>
<li><a class="reference internal" href="#processes-list" id="id24">Processes List</a></li>
<li><a class="reference internal" href="#monitored-processes-list" id="id25">Monitored Processes List</a></li>
<li><a class="reference internal" href="#logs" id="id26">Logs</a></li>
2013-08-02 20:22:32 +04:00
</ul>
</li>
2014-06-14 14:44:24 +04:00
<li><a class="reference internal" href="#other-outputs" id="id27">Other Outputs</a></li>
<li><a class="reference internal" href="#api-documentation" id="id28">API Documentation</a></li>
<li><a class="reference internal" href="#support" id="id29">Support</a></li>
2013-08-02 20:22:32 +04:00
</ul>
</div>
<div class="section" id="introduction">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id5">Introduction</a></h1>
2014-06-08 22:44:49 +04:00
<p>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.</p>
<p>Glances can also work in client/server mode. Remote monitoring could be
done via terminal or web interface.</p>
<p>Glances is written in Python and uses the <a class="reference external" href="https://code.google.com/p/psutil/">psutil</a> library to get
information from your system.</p>
2013-08-02 20:22:32 +04:00
<p>Console (80x24)</p>
<img alt="images/screenshot.png" src="images/screenshot.png" />
<p>Full view (&gt;80x24)</p>
<img alt="images/screenshot-wide.png" src="images/screenshot-wide.png" />
2014-06-08 22:44:49 +04:00
<p>Web interface (Firefox)</p>
<img alt="images/screenshot-web.png" src="images/screenshot-web.png" />
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="usage">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id6">Usage</a></h1>
2013-08-02 20:22:32 +04:00
<div class="section" id="standalone-mode">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id7">Standalone Mode</a></h2>
2013-08-02 20:22:32 +04:00
<p>Simply run:</p>
<pre class="code console literal-block">
<span class="generic prompt">$</span> glances
</pre>
</div>
<div class="section" id="client-server-mode">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id8">Client/Server Mode</a></h2>
2014-06-08 22:44:49 +04:00
<p>If you want to remotely monitor a machine, called <tt class="docutils literal">server</tt>, from
another one, called <tt class="docutils literal">client</tt>, just run on the server:</p>
2013-08-02 20:22:32 +04:00
<pre class="code console literal-block">
<span class="generic output">server$ glances -s</span>
</pre>
<p>and on the client:</p>
<pre class="code console literal-block">
<span class="generic output">client$ glances -c &#64;server</span>
</pre>
<p>where <tt class="docutils literal">&#64;server</tt> is the IP address or hostname of the server.</p>
2014-06-08 22:44:49 +04:00
<p>In server mode, you can set the bind address <tt class="docutils literal"><span class="pre">-B</span> ADDRESS</tt> and listening
TCP port <tt class="docutils literal"><span class="pre">-p</span> PORT</tt>.</p>
2013-08-02 20:22:32 +04:00
<p>In client mode, you can set the TCP port of the server <tt class="docutils literal"><span class="pre">-p</span> PORT</tt>.</p>
2014-06-08 22:44:49 +04:00
<p>You can also set a password to access to the server <tt class="docutils literal"><span class="pre">--password</span></tt>.</p>
<p>Default binding address is <tt class="docutils literal">0.0.0.0</tt> (Glances will listen on all the
network interfaces) and TCP port is <tt class="docutils literal">61209</tt>.</p>
2013-08-02 20:22:32 +04:00
<p>In client/server mode, limits are set by the server side.</p>
2014-06-08 22:44:49 +04:00
<p>Glances is <tt class="docutils literal">IPv6</tt> compatible. Just use the <tt class="docutils literal"><span class="pre">-B</span> ::</tt> option to bind to
all IPv6 addresses.</p>
<p>As an experimental feature, if Glances server is not detected by the
client, the latter will try to grab stats using the <tt class="docutils literal">SNMP</tt> protocol:</p>
<pre class="code console literal-block">
<span class="generic output">client$ glances -c &#64;snmpserver</span>
</pre>
<p>Known issues: grab using SNMP is only validated for GNU/Linux with SNMP
v2/2c server.</p>
</div>
<div class="section" id="web-server-mode">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id9">Web Server Mode</a></h2>
2014-06-08 22:44:49 +04:00
<p>If you want to remotely monitor a machine, called <tt class="docutils literal">server</tt>, from any
device with a web browser, called <tt class="docutils literal">client</tt>, just run on the server:</p>
<pre class="code console literal-block">
<span class="generic output">server$ glances -w</span>
</pre>
<p>and on the client enter the following URL in your favorite web browser:</p>
<pre class="literal-block">
http://&#64;server:61208
</pre>
<p>where <tt class="docutils literal">&#64;server</tt> is the IP address or hostname of the server.</p>
<p>The Glances web interface follows responsive web design principles.</p>
<p>Screenshot from Chrome on Android</p>
<img alt="images/screenshot-web2.png" src="images/screenshot-web2.png" />
2013-08-02 20:22:32 +04:00
</div>
</div>
<div class="section" id="command-reference">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id10">Command Reference</a></h1>
2013-08-02 20:22:32 +04:00
<div class="section" id="command-line-options">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id11">Command-Line Options</a></h2>
2013-08-02 20:22:32 +04:00
<table class="docutils option-list" frame="void" rules="none">
<col class="option" />
<col class="description" />
<tbody valign="top">
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">-h</span>, <span class="option">--help</span></kbd></td>
<td>show this help message and exit</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">-V</span>, <span class="option">--version</span></kbd></td>
<td>show program's version number and exit</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">-b</span>, <span class="option">--byte</span></kbd></td>
<td>display network rate in byte per second</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-B <var>BIND_ADDRESS</var></span>, <span class="option">--bind <var>BIND_ADDRESS</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>bind server to the given IPv4/IPv6 address or hostname</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-c <var>CLIENT</var></span>, <span class="option">--client <var>CLIENT</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>connect to a Glances server by IPv4/IPv6 address or
hostname</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-C <var>CONF_FILE</var></span>, <span class="option">--config <var>CONF_FILE</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>path to the configuration file</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">--disable-bold</span></kbd></td>
<td>disable bold mode in the terminal</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--disable-diskio</span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>disable disk I/O module</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">--disable-fs</span></kbd></td>
<td>disable file system module</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--disable-network</span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>disable network module</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--disable-sensors</span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>disable sensors module</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--disable-process</span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>disable process module</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">--disable-log</span></kbd></td>
<td>disable log module</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--output-csv <var>OUTPUT_CSV</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>export stats to a CSV file</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-p <var>PORT</var></span>, <span class="option">--port <var>PORT</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>define the client/server TCP port [default: 61209]</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2013-11-17 23:02:00 +04:00
<kbd><span class="option">--password</span></kbd></td>
2014-06-08 22:44:49 +04:00
<td>define a client/server password from the prompt or
file</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">-s</span>, <span class="option">--server</span></kbd></td>
<td>run Glances in server mode</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--snmp-community <var>SNMP_COMMUNITY</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>SNMP community</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--snmp-port <var>SNMP_PORT</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>SNMP port</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--snmp-version <var>SNMP_VERSION</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>SNMP version (1, 2c or 3)</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--snmp-user <var>SNMP_USER</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>SNMP username (only for SNMPv3)</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--snmp-auth <var>SNMP_AUTH</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>SNMP authentication key (only for SNMPv3)</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-t <var>TIME</var></span>, <span class="option">--time <var>TIME</var></span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>set refresh time in seconds [default: 3 sec]</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">-w</span>, <span class="option">--webserver</span></kbd></td>
</tr>
<tr><td>&nbsp;</td><td>run Glances in Web server mode</td></tr>
2013-08-02 20:22:32 +04:00
<tr><td class="option-group">
2014-06-08 22:44:49 +04:00
<kbd><span class="option">-1</span>, <span class="option">--percpu</span></kbd></td>
<td>start Glances in per CPU mode</td></tr>
2013-08-02 20:22:32 +04:00
</tbody>
</table>
</div>
<div class="section" id="interactive-commands">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id12">Interactive Commands</a></h2>
2013-08-02 20:22:32 +04:00
<p>The following commands (key pressed) are supported while in Glances:</p>
<dl class="docutils">
<dt><tt class="docutils literal">a</tt></dt>
<dd><p class="first">Sort process list automatically</p>
2013-08-02 20:22:32 +04:00
<ul class="last simple">
<li>If CPU iowait <tt class="docutils literal">&gt;60%</tt>, sort processes by I/O read and write</li>
2013-08-02 20:22:32 +04:00
<li>If CPU <tt class="docutils literal">&gt;70%</tt>, sort processes by CPU usage</li>
<li>If MEM <tt class="docutils literal">&gt;70%</tt>, sort processes by memory usage</li>
</ul>
</dd>
<dt><tt class="docutils literal">b</tt></dt>
<dd>Switch between bit/s or Byte/s for network I/O</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">c</tt></dt>
<dd>Sort processes by CPU usage</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">d</tt></dt>
<dd>Show/hide disk I/O stats</dd>
<dt><tt class="docutils literal">f</tt></dt>
<dd>Show/hide file system stats</dd>
<dt><tt class="docutils literal">h</tt></dt>
<dd>Show/hide the help screen</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">i</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Sort processes by I/O rate</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">l</tt></dt>
<dd>Show/hide log messages</dd>
<dt><tt class="docutils literal">m</tt></dt>
<dd>Sort processes by MEM usage</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">n</tt></dt>
<dd>Show/hide network stats</dd>
<dt><tt class="docutils literal">p</tt></dt>
<dd>Sort processes by name</dd>
<dt><tt class="docutils literal">q</tt></dt>
<dd>Quit</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">s</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Show/hide sensors stats</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">t</tt></dt>
<dd>View network I/O as combination</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">u</tt></dt>
<dd>View cumulative network I/O</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">w</tt></dt>
<dd>Delete finished warning log messages</dd>
<dt><tt class="docutils literal">x</tt></dt>
<dd>Delete finished warning and critical log messages</dd>
2014-03-25 23:03:54 +04:00
<dt><tt class="docutils literal">z</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Show/hide processes stats</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">1</tt></dt>
<dd>Switch between global CPU and per-CPU stats</dd>
</dl>
</div>
</div>
<div class="section" id="configuration">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id13">Configuration</a></h1>
2014-06-08 22:44:49 +04:00
<p><strong>Caution! Glances version 1.x configuration files are not compatible
with the version 2.x.</strong></p>
2013-08-02 20:22:32 +04:00
<p>No configuration file is mandatory to use Glances.</p>
2014-06-08 22:44:49 +04:00
<p>Furthermore a configuration file is needed to set up limits, disks or
network interfaces to hide and/or monitored processes list.</p>
2013-08-02 20:22:32 +04:00
<p>By default, the configuration file is under:</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">Linux:</th><td class="field-body"><tt class="docutils literal">/etc/glances/glances.conf</tt></td>
</tr>
<tr class="field"><th class="field-name">*BSD and OS X:</th><td class="field-body"><tt class="docutils literal">/usr/local/etc/glances/glances.conf</tt></td>
</tr>
<tr class="field"><th class="field-name">Windows:</th><td class="field-body"><tt class="docutils literal"><span class="pre">%APPDATA%\glances\glances.conf</span></tt></td>
</tr>
</tbody>
</table>
<p>On Windows XP, the <tt class="docutils literal">%APPDATA%</tt> path is:</p>
2014-06-08 22:44:49 +04:00
<pre class="literal-block">
C:\Documents and Settings\&lt;User&gt;\Application Data
2013-08-02 20:22:32 +04:00
</pre>
<p>Since Windows Vista and newer versions:</p>
2014-06-08 22:44:49 +04:00
<pre class="literal-block">
C:\Users\&lt;User&gt;\AppData\Roaming
2013-08-02 20:22:32 +04:00
</pre>
<p>You can override the default configuration, located in one of the above
directories on your system, except for Windows.</p>
2014-06-08 22:44:49 +04:00
<p>Just copy the <tt class="docutils literal">glances.conf</tt> file to your <tt class="docutils literal">$XDG_CONFIG_HOME</tt> directory,
e.g., on Linux:</p>
2013-08-02 20:22:32 +04:00
<pre class="code console literal-block">
<span class="generic output">mkdir -p $XDG_CONFIG_HOME/glances
2014-06-08 22:44:49 +04:00
cp /usr/share/doc/glances/glances.conf $XDG_CONFIG_HOME/glances/</span>
2013-08-02 20:22:32 +04:00
</pre>
2014-06-08 22:44:49 +04:00
<p>On OS X, you should copy the configuration file to
<tt class="docutils literal">~/Library/Application Support/glances/</tt>.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="anatomy-of-the-application">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id14">Anatomy Of The Application</a></h1>
2013-08-02 20:22:32 +04:00
<div class="section" id="legend">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id15">Legend</a></h2>
2013-08-02 20:22:32 +04:00
<div class="line-block">
<div class="line"><tt class="docutils literal">GREEN</tt> stat counter is <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line"><tt class="docutils literal">BLUE</tt> stat counter is <tt class="docutils literal">&quot;CAREFUL&quot;</tt></div>
<div class="line"><tt class="docutils literal">MAGENTA</tt> stat counter is <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
<div class="line"><tt class="docutils literal">RED</tt> stat counter is <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
2014-06-08 22:44:49 +04:00
<p><em>Note</em>: only stats with colored background will be logged in the alert
view.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="header">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id16">Header</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/header.png" src="images/header.png" />
2014-06-08 22:44:49 +04:00
<p>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.</p>
<p>In client mode, the server connection status is displayed.</p>
<p>Connected:</p>
<img alt="images/connected.png" src="images/connected.png" />
<p>Disconnected:</p>
<img alt="images/disconnected.png" src="images/disconnected.png" />
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="cpu">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id17">CPU</a></h2>
2013-08-02 20:22:32 +04:00
<p>Short view:</p>
<img alt="images/cpu.png" src="images/cpu.png" />
2014-06-08 22:44:49 +04:00
<p>If enough horizontal space is available, extended CPU information are
displayed.</p>
2013-08-02 20:22:32 +04:00
<p>Extended view:</p>
<img alt="images/cpu-wide.png" src="images/cpu-wide.png" />
<p>To switch to per-CPU stats, just hit the <tt class="docutils literal">1</tt> key:</p>
<img alt="images/per-cpu.png" src="images/per-cpu.png" />
2014-06-08 22:44:49 +04:00
<p>The CPU stats are shown as a percentage and for the configured refresh
time. The total CPU usage is displayed on the first line.</p>
2013-08-02 20:22:32 +04:00
<div class="line-block">
2014-06-08 22:44:49 +04:00
<div class="line">If user|system CPU is <tt class="docutils literal">&lt;50%</tt>, then status is set to <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line">If user|system CPU is <tt class="docutils literal">&gt;50%</tt>, then status is set to <tt class="docutils literal">&quot;CAREFUL&quot;</tt></div>
<div class="line">If user|system CPU is <tt class="docutils literal">&gt;70%</tt>, then status is set to <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
<div class="line">If user|system CPU is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
2013-08-02 20:22:32 +04:00
</div>
2014-06-08 22:44:49 +04:00
<p><em>Note</em>: limit values can be overwritten in the configuration file under
the <tt class="docutils literal">[cpu]</tt> and/or <tt class="docutils literal">[percpu]</tt> sections.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="load">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id18">Load</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/load.png" src="images/load.png" />
2014-06-14 14:44:24 +04:00
<p>On the <em>No Sheep</em> blog, <em>Zachary Tirrell</em> defines the load average <a class="footnote-reference" href="#id3" id="id1">[1]</a>:</p>
2013-08-02 20:22:32 +04:00
<blockquote>
&quot;In short it is the average sum of the number of processes
waiting in the run-queue plus the number currently executing
2014-06-08 22:44:49 +04:00
over 1, 5, and 15 minutes time periods.&quot;</blockquote>
2013-08-02 20:22:32 +04:00
<p>Glances gets the number of CPU core to adapt the alerts.
2014-06-08 22:44:49 +04:00
Alerts on load average are only set on 15 minutes time period.
The first line also displays the number of CPU core.</p>
2013-08-02 20:22:32 +04:00
<div class="line-block">
2014-06-08 22:44:49 +04:00
<div class="line">If load average is <tt class="docutils literal">&lt;0.7*core</tt>, then status is set to <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line">If load average is <tt class="docutils literal">&gt;0.7*core</tt>, then status is set to <tt class="docutils literal">&quot;CAREFUL&quot;</tt></div>
<div class="line">If load average is <tt class="docutils literal">&gt;1*core</tt>, then status is set to <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
<div class="line">If load average is <tt class="docutils literal">&gt;5*core</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
2013-08-02 20:22:32 +04:00
</div>
2014-06-08 22:44:49 +04:00
<p><em>Note</em>: limit values can be overwritten in the configuration file under
the <tt class="docutils literal">[load]</tt> section.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="memory">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id19">Memory</a></h2>
2014-06-08 22:44:49 +04:00
<p>Glances uses two columns: one for the <tt class="docutils literal">RAM</tt> and one for the <tt class="docutils literal">SWAP</tt>.</p>
2013-08-02 20:22:32 +04:00
<img alt="images/mem.png" src="images/mem.png" />
2014-06-08 22:44:49 +04:00
<p>If enough space is available, Glances displays extended information for
the <tt class="docutils literal">RAM</tt>:</p>
2013-08-02 20:22:32 +04:00
<img alt="images/mem-wide.png" src="images/mem-wide.png" />
2014-06-08 22:44:49 +04:00
<p>Alerts are only set for used memory and used swap.</p>
2013-08-02 20:22:32 +04:00
<div class="line-block">
2014-06-08 22:44:49 +04:00
<div class="line">If used memory|swap is <tt class="docutils literal">&lt;50%</tt>, then status is set to <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line">If used memory|swap is <tt class="docutils literal">&gt;50%</tt>, then status is set to <tt class="docutils literal">&quot;CAREFUL&quot;</tt></div>
<div class="line">If used memory|swap is <tt class="docutils literal">&gt;70%</tt>, then status is set to <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
<div class="line">If used memory|swap is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
2013-08-02 20:22:32 +04:00
</div>
2014-06-08 22:44:49 +04:00
<p><em>Note</em>: limit values can be overwritten in the configuration file under
the <tt class="docutils literal">[memory]</tt> and/or <tt class="docutils literal">[memswap]</tt> sections.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="network">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id20">Network</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/network.png" src="images/network.png" />
<p>Glances displays the network interface bit rate. The unit is adapted
dynamically (bits per second, kbits per second, Mbits per second, etc).</p>
2014-06-08 22:44:49 +04:00
<p>Alerts are only set if the maximum speed per network interface is available
(see sample in the configuration file).</p>
<p><em>Note</em>: it is possibile to define a list of network interfaces to hide
and per-interface limit values in the <tt class="docutils literal">[network]</tt> section of the
configuration file.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="disk-i-o">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id21">Disk I/O</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/diskio.png" src="images/diskio.png" />
<p>Glances displays the disk I/O throughput. The unit is adapted dynamically.</p>
2014-06-08 22:44:49 +04:00
<p>There is no alert on this information.</p>
<p><em>Note</em>: it is possible to define a list of disks to hide under the
<tt class="docutils literal">[diskio]</tt> section in the configuration file.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="file-system">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id22">File System</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/fs.png" src="images/fs.png" />
<p>Glances displays the used and total file system disk space. The unit is
adapted dynamically.</p>
2014-06-08 22:44:49 +04:00
<p>Alerts are set for used disk space.</p>
2013-08-02 20:22:32 +04:00
<div class="line-block">
2014-06-08 22:44:49 +04:00
<div class="line">If used disk is <tt class="docutils literal">&lt;50%</tt>, then status is set to <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line">If used disk is <tt class="docutils literal">&gt;50%</tt>, then status is set to <tt class="docutils literal">&quot;CAREFUL&quot;</tt></div>
<div class="line">If used disk is <tt class="docutils literal">&gt;70%</tt>, then status is set to <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
<div class="line">If used disk is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
2013-08-02 20:22:32 +04:00
</div>
2014-06-08 22:44:49 +04:00
<p><em>Note</em>: limit values can be overwritten in the configuration file under
the <tt class="docutils literal">[filesystem]</tt> section.</p>
2013-08-02 20:22:32 +04:00
</div>
2014-06-08 22:44:49 +04:00
<div class="section" id="sensors">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id23">Sensors</a></h2>
2014-06-08 22:44:49 +04:00
<p>Glances can displays the sensors information using <cite>lm-sensors</cite>,
2014-06-14 14:44:24 +04:00
<cite>hddtemp</cite> and <cite>batinfo</cite> <a class="footnote-reference" href="#id4" id="id2">[2]</a>.</p>
2014-06-08 22:44:49 +04:00
<p>All of the above libraries are available only on Linux.</p>
<p>As of lm-sensors, a filter is being applied in order to display
temperature only.</p>
<img alt="images/sensors.png" src="images/sensors.png" />
<p>There is no alert on this information.</p>
<p><em>Note</em>: limit values can be overwritten in the configuration file under
the <tt class="docutils literal">[sensors]</tt> section.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="processes-list">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id24">Processes List</a></h2>
2013-08-02 20:22:32 +04:00
<p>Compact view:</p>
<img alt="images/processlist.png" src="images/processlist.png" />
<p>Full view:</p>
<img alt="images/processlist-wide.png" src="images/processlist-wide.png" />
<p>Three views are available for processes:</p>
<ul class="simple">
<li>Processes summary</li>
2014-06-08 22:44:49 +04:00
<li>Optional monitored processes list (see below)</li>
<li>Processes list</li>
</ul>
2014-01-18 14:02:36 +04:00
<p>The processes summary line display:</p>
<ul class="simple">
<li>Tasks number (total number of processes)</li>
<li>Threads number</li>
<li>Running tasks number</li>
<li>Sleeping tasks number</li>
<li>Other tasks number (not running or sleeping)</li>
2014-06-08 22:44:49 +04:00
<li>Sort key</li>
</ul>
<p>By default, or if you hit the <tt class="docutils literal">a</tt> key, the processes list is
automatically sorted by:</p>
<ul class="simple">
<li><tt class="docutils literal">CPU</tt> if there is no alert (default behavior)</li>
<li><tt class="docutils literal">CPU</tt> if a CPU or LOAD alert is detected</li>
<li><tt class="docutils literal">MEM</tt> if a memory alert is detected</li>
<li><tt class="docutils literal">Disk I/O</tt> if a CPU iowait alert is detected</li>
2014-01-18 14:02:36 +04:00
</ul>
2013-08-02 20:22:32 +04:00
<p>The number of processes in the list is adapted to the screen size.</p>
<dl class="docutils">
<dt><tt class="docutils literal">CPU%</tt></dt>
<dd>% of CPU used by the process</dd>
<dt><tt class="docutils literal">MEM%</tt></dt>
<dd>% of MEM used by the process</dd>
2014-06-08 22:44:49 +04:00
<dt><tt class="docutils literal">VIRT</tt></dt>
2014-06-14 14:44:24 +04:00
<dd>Total program size - Virtual Memory Size (VMS)</dd>
2014-06-08 22:44:49 +04:00
<dt><tt class="docutils literal">RES</tt></dt>
2014-06-14 11:44:02 +04:00
<dd>Resident Set Size (RSS)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">PID</tt></dt>
<dd>Process ID</dd>
<dt><tt class="docutils literal">USER</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>User ID</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">NI</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Nice level of the process (niceness other than 0 is highlighted)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">S</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Process status (running process is highlighted)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">TIME+</tt></dt>
<dd>Cumulative CPU time used</dd>
<dt><tt class="docutils literal">IOR/s</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Per process I/O read rate (in Byte/s)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">IOW/s</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Per process I/O write rate (in Byte/s)</dd>
<dt><tt class="docutils literal">COMMAND</tt></dt>
<dd>Process command line (process name is highlighted)</dd>
2013-08-02 20:22:32 +04:00
</dl>
<p>Process status legend:</p>
<dl class="docutils">
<dt><tt class="docutils literal">R</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Running</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">S</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Sleeping (may be interrupted)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">D</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Disk sleep (may not be interrupted)</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">T</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Traced / Stopped</dd>
2013-08-02 20:22:32 +04:00
<dt><tt class="docutils literal">Z</tt></dt>
2014-06-08 22:44:49 +04:00
<dd>Zombie</dd>
2013-08-02 20:22:32 +04:00
</dl>
2014-06-14 14:44:24 +04:00
<p><em>Note</em>: limit values can be overwritten in the configuration file under
2014-06-08 22:44:49 +04:00
the <tt class="docutils literal">[process]</tt> section.</p>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="monitored-processes-list">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id25">Monitored Processes List</a></h2>
<p>The monitored processes list allows user, through the configuration file,
2014-06-08 22:44:49 +04:00
to group processes and quickly show if the number of running processes is
not good.</p>
<img alt="images/monitored.png" src="images/monitored.png" />
2013-08-02 20:22:32 +04:00
<p>Each item is defined by:</p>
<ul class="simple">
<li><tt class="docutils literal">description</tt>: description of the processes (max 16 chars).</li>
<li><tt class="docutils literal">regex</tt>: regular expression of the processes to monitor.</li>
2014-06-08 22:44:49 +04:00
<li><tt class="docutils literal">command</tt> (optional): full path to shell command/script for extended
stat. Should return a single line string. Use with caution.</li>
<li><tt class="docutils literal">countmin</tt> (optional): minimal number of processes. A warning will
be displayed if number of processes &lt; count.</li>
<li><tt class="docutils literal">countmax</tt> (optional): maximum number of processes. A warning will
be displayed if number of processes &gt; count.</li>
2013-08-02 20:22:32 +04:00
</ul>
<p>Up to 10 items can be defined.</p>
2014-06-08 22:44:49 +04:00
<p>For example, if you want to monitor the Nginx processes on a Web server,
the following definition should do the job:</p>
<pre class="literal-block">
[monitor]
list_1_description=Nginx server
2013-08-02 20:22:32 +04:00
list_1_regex=.*nginx.*
list_1_command=nginx -v
list_1_countmin=1
2014-06-08 22:44:49 +04:00
list_1_countmax=4
2013-08-02 20:22:32 +04:00
</pre>
2014-06-08 22:44:49 +04:00
<p>If you also want to monitor the PHP-FPM daemon processes, you should add
another item:</p>
<pre class="literal-block">
[monitor]
list_1_description=Nginx server
2013-08-02 20:22:32 +04:00
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
2014-06-08 22:44:49 +04:00
list_1_countmax=20
2013-08-02 20:22:32 +04:00
</pre>
<p>In client/server mode, the list is defined on the server side.
2014-06-08 22:44:49 +04:00
A new method, called <cite>getAllMonitored</cite>, is available in the APIs and
get the JSON representation of the monitored processes list.</p>
<p>Alerts are set as following:</p>
<div class="line-block">
<div class="line">If number of processes is 0, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
<div class="line">If number of processes is min &lt; current &lt; max, then status is set to <tt class="docutils literal">&quot;OK&quot;</tt></div>
<div class="line">Else status is set to <tt class="docutils literal">&quot;WARNING&quot;</tt></div>
</div>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="logs">
2014-06-14 14:44:24 +04:00
<h2><a class="toc-backref" href="#id26">Logs</a></h2>
2013-08-02 20:22:32 +04:00
<img alt="images/logs.png" src="images/logs.png" />
2014-06-08 22:44:49 +04:00
<p>A log messages list is displayed in the bottom of the screen if (and
only if):</p>
2013-08-02 20:22:32 +04:00
<ul class="simple">
<li>at least one <tt class="docutils literal">WARNING</tt> or <tt class="docutils literal">CRITICAL</tt> alert was occurred</li>
<li>space is available in the bottom of the console/terminal</li>
</ul>
<p>Each alert message displays the following information:</p>
<ol class="arabic simple">
2014-06-08 22:44:49 +04:00
<li>start datetime</li>
<li>duration if alert is terminated or <cite>ongoing</cite> if the alert is still in
progress</li>
2013-08-02 20:22:32 +04:00
<li>alert name</li>
2014-06-08 22:44:49 +04:00
<li>{min,avg,max} values or number of running processes for monitored
processes list alerts</li>
2013-08-02 20:22:32 +04:00
</ol>
</div>
</div>
2014-06-08 22:44:49 +04:00
<div class="section" id="other-outputs">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id27">Other Outputs</a></h1>
2014-06-08 22:44:49 +04:00
<p>It is possible to export statistics to CSV file.</p>
<pre class="code console literal-block">
<span class="generic prompt">$</span> glances --output-csv /tmp/glances.csv
</pre>
<p>CSV files have two lines per stats:</p>
<ul class="simple">
<li>Stats description</li>
<li>Stats (comma separated)</li>
</ul>
2013-08-02 20:22:32 +04:00
</div>
<div class="section" id="api-documentation">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id28">API Documentation</a></h1>
2013-08-02 20:22:32 +04:00
<p>Glances uses a <a class="reference external" href="http://docs.python.org/2/library/simplexmlrpcserver.html">XML-RPC server</a> and can be used by another client software.</p>
2014-06-08 22:44:49 +04:00
<p>API documentation is available at
2014-06-14 14:44:24 +04:00
<a class="reference external" href="https://github.com/nicolargo/glances/wiki/The-Glances-2.x-API-How-to">https://github.com/nicolargo/glances/wiki/The-Glances-2.x-API-How-to</a>.</p>
2014-01-18 14:02:36 +04:00
</div>
2013-08-02 20:22:32 +04:00
<div class="section" id="support">
2014-06-14 14:44:24 +04:00
<h1><a class="toc-backref" href="#id29">Support</a></h1>
2014-06-08 22:44:49 +04:00
<p>To report a bug or a feature request use the bug tracking system at
<a class="reference external" href="https://github.com/nicolargo/glances/issues">https://github.com/nicolargo/glances/issues</a>.</p>
2013-08-02 20:22:32 +04:00
<p>Feel free to contribute!</p>
2014-06-14 14:44:24 +04:00
<table class="docutils footnote" frame="void" id="id3" rules="none">
2013-08-02 20:22:32 +04:00
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="http://nosheep.net/story/defining-unix-load-average/">http://nosheep.net/story/defining-unix-load-average/</a></td></tr>
</tbody>
</table>
2014-06-14 14:44:24 +04:00
<table class="docutils footnote" frame="void" id="id4" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
2014-06-08 22:44:49 +04:00
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td><a class="reference external" href="https://github.com/nicolargo/batinfo">https://github.com/nicolargo/batinfo</a></td></tr>
</tbody>
</table>
2013-08-02 20:22:32 +04:00
</div>
</div>
</body>
</html>