glances/docs/glances-doc.html
2013-09-19 15:00:00 +02:00

649 lines
31 KiB
HTML

<?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/" />
<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;
}
pre.code {
margin-left: 2em;
margin-right: 2em;
}
.console {
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>
<p>This manual describes <em>Glances</em> version 1.7.2.</p>
<p>Copyright © 2012-2013 Nicolas Hennion &lt;<a class="reference external" href="mailto:nicolas&#64;nicolargo.com">nicolas&#64;nicolargo.com</a>&gt;</p>
<p>September 2013</p>
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#introduction" id="id7">Introduction</a></li>
<li><a class="reference internal" href="#usage" id="id8">Usage</a><ul>
<li><a class="reference internal" href="#standalone-mode" id="id9">Standalone mode</a></li>
<li><a class="reference internal" href="#client-server-mode" id="id10">Client/Server mode</a></li>
</ul>
</li>
<li><a class="reference internal" href="#command-reference" id="id11">Command reference</a><ul>
<li><a class="reference internal" href="#command-line-options" id="id12">Command-line options</a></li>
<li><a class="reference internal" href="#interactive-commands" id="id13">Interactive commands</a></li>
</ul>
</li>
<li><a class="reference internal" href="#configuration" id="id14">Configuration</a></li>
<li><a class="reference internal" href="#anatomy-of-the-application" id="id15">Anatomy of the application</a><ul>
<li><a class="reference internal" href="#legend" id="id16">Legend</a></li>
<li><a class="reference internal" href="#header" id="id17">Header</a></li>
<li><a class="reference internal" href="#cpu" id="id18">CPU</a></li>
<li><a class="reference internal" href="#load" id="id19">Load</a></li>
<li><a class="reference internal" href="#memory" id="id20">Memory</a></li>
<li><a class="reference internal" href="#network" id="id21">Network</a></li>
<li><a class="reference internal" href="#sensors" id="id22">Sensors</a></li>
<li><a class="reference internal" href="#disk-i-o" id="id23">Disk I/O</a></li>
<li><a class="reference internal" href="#file-system" id="id24">File system</a></li>
<li><a class="reference internal" href="#processes-list" id="id25">Processes list</a></li>
<li><a class="reference internal" href="#monitored-processes-list" id="id26">Monitored processes list</a></li>
<li><a class="reference internal" href="#logs" id="id27">Logs</a></li>
<li><a class="reference internal" href="#footer" id="id28">Footer</a></li>
</ul>
</li>
<li><a class="reference internal" href="#api-documentation" id="id29">API documentation</a></li>
<li><a class="reference internal" href="#support" id="id30">Support</a></li>
</ul>
</div>
<div class="section" id="introduction">
<h1><a class="toc-backref" href="#id7">Introduction</a></h1>
<p>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.</p>
<p>Glances can adapt dynamically the displayed information depending on the
terminal size. It can also work in a client/server mode for remote monitoring.</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>
<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" />
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id8">Usage</a></h1>
<div class="section" id="standalone-mode">
<h2><a class="toc-backref" href="#id9">Standalone mode</a></h2>
<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">
<h2><a class="toc-backref" href="#id10">Client/Server mode</a></h2>
<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>
<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>
<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>
<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>
<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>
<p>In client/server mode, limits are set by the server side.</p>
<p>You can also set a password to access to the server <tt class="docutils literal"><span class="pre">-P</span> password</tt>.</p>
<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>
</div>
</div>
<div class="section" id="command-reference">
<h1><a class="toc-backref" href="#id11">Command reference</a></h1>
<div class="section" id="command-line-options">
<h2><a class="toc-backref" href="#id12">Command-line options</a></h2>
<table class="docutils option-list" frame="void" rules="none">
<col class="option" />
<col class="description" />
<tbody valign="top">
<tr><td class="option-group">
<kbd><span class="option">-b</span></kbd></td>
<td>Display network rate in Byte per second (default: bit per second)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-B <var>IP</var></span></kbd></td>
<td>Bind server to the given IPv4/IPv6 address or hostname</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-c <var>IP</var></span></kbd></td>
<td>Connect to a Glances server by IPv4/IPv6 address or hostname</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-C <var>file</var></span></kbd></td>
<td>Path to the configuration file</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-d</span></kbd></td>
<td>Disable disk I/O module</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-e</span></kbd></td>
<td>Enable sensors module (requires pysensors, Linux-only)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-f <var>file</var></span></kbd></td>
<td>Set the HTML output folder or CSV file</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-h</span></kbd></td>
<td>Display the help and exit</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-m</span></kbd></td>
<td>Disable mount module</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-n</span></kbd></td>
<td>Disable network module</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-o <var>output</var></span></kbd></td>
<td>Define additional output (available: HTML or CSV)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-p <var>PORT</var></span></kbd></td>
<td>Define the client/server TCP port (default: 61209)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-P <var>password</var></span></kbd></td>
<td>Define a client/server password</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-r</span></kbd></td>
<td>Disable process list (for low CPU consumption)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-s</span></kbd></td>
<td>Run Glances in server mode</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-t <var>seconds</var></span></kbd></td>
<td>Set refresh time in seconds (default: 3 sec)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-v</span></kbd></td>
<td>Display the version and exit</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-y</span></kbd></td>
<td>Enable hddtemp module (requires hddtemp)</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-z</span></kbd></td>
<td>Do not use the bold color attribute</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-1</span></kbd></td>
<td>Start Glances in per-CPU mode</td></tr>
</tbody>
</table>
</div>
<div class="section" id="interactive-commands">
<h2><a class="toc-backref" href="#id13">Interactive commands</a></h2>
<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>
<ul class="last simple">
<li>If CPU iowait <tt class="docutils literal">&gt;60%</tt>, sort processes by I/O read and write</li>
<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>
<dt><tt class="docutils literal">c</tt></dt>
<dd>Sort processes by CPU usage</dd>
<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>
<dt><tt class="docutils literal">i</tt></dt>
<dd>Sort processes by I/O rate (may need root privileges on some OSes)</dd>
<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>
<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>
<dt><tt class="docutils literal">s</tt></dt>
<dd>Show/hide sensors stats (only available with -e flag)</dd>
<dt><tt class="docutils literal">t</tt></dt>
<dd>View network I/O as combination</dd>
<dt><tt class="docutils literal">u</tt></dt>
<dd>View cumulative network I/O</dd>
<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>
<dt><tt class="docutils literal">y</tt></dt>
<dd>Show/hide hddtemp stats (only available with -y flag)</dd>
<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">
<h1><a class="toc-backref" href="#id14">Configuration</a></h1>
<p>No configuration file is mandatory to use Glances.</p>
<p>Furthermore a configuration file is needed for setup limits and/or monitored processes list.</p>
<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>
<pre class="code console literal-block">
<span class="generic output">C:\Documents and Settings\&lt;User&gt;\Application Data</span>
</pre>
<p>Since Windows Vista and newer versions:</p>
<pre class="code console literal-block">
<span class="generic output">C:\Users\&lt;User&gt;\AppData\Roaming</span>
</pre>
<p>You can override the default configuration, located in one of the above
directories on your system, except for Windows.</p>
<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. Linux:</p>
<pre class="code console literal-block">
<span class="generic output">mkdir -p $XDG_CONFIG_HOME/glances
cp /etc/glances/glances.conf $XDG_CONFIG_HOME/glances/</span>
</pre>
<p>On OS X, you should copy the configuration file to <tt class="docutils literal">~/Library/Application Support/glances/</tt>.</p>
</div>
<div class="section" id="anatomy-of-the-application">
<h1><a class="toc-backref" href="#id15">Anatomy of the application</a></h1>
<div class="section" id="legend">
<h2><a class="toc-backref" href="#id16">Legend</a></h2>
<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>
</div>
<div class="section" id="header">
<h2><a class="toc-backref" href="#id17">Header</a></h2>
<img alt="images/header.png" src="images/header.png" />
<p>The header shows the OS name, release version, platform architecture and the hostname.
On Linux, it shows also the kernel version.</p>
</div>
<div class="section" id="cpu">
<h2><a class="toc-backref" href="#id18">CPU</a></h2>
<p>Short view:</p>
<img alt="images/cpu.png" src="images/cpu.png" />
<p>If enough horizontal space is available, extended CPU informations are displayed.</p>
<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" />
<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>
<div class="line-block">
<div class="line">If user|system|nice 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|nice 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|nice 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|nice CPU is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
<p><em>Note</em>: limit values can be overwritten in the configuration file under the <tt class="docutils literal">[cpu]</tt> section.</p>
</div>
<div class="section" id="load">
<h2><a class="toc-backref" href="#id19">Load</a></h2>
<img alt="images/load.png" src="images/load.png" />
<p>On the <em>No Sheep</em> blog, <em>Zachary Tirrell</em> defines the average load <a class="footnote-reference" href="#id4" id="id1">[1]</a>:</p>
<blockquote>
&quot;In short it is the average sum of the number of processes
waiting in the run-queue plus the number currently executing
over 1, 5, and 15 minute time periods.&quot;</blockquote>
<p>Glances gets the number of CPU core to adapt the alerts.
Alerts on average load are only set on 5 and 15 min.
The first line also display the number of CPU core.</p>
<div class="line-block">
<div class="line">If average load 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 average load 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 average load 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 average load is <tt class="docutils literal">&gt;5*core</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
<p><em>Note</em>: limit values can be overwritten in the configuration file under the <tt class="docutils literal">[load]</tt> section.</p>
</div>
<div class="section" id="memory">
<h2><a class="toc-backref" href="#id20">Memory</a></h2>
<p>Glances uses two columns: one for the <tt class="docutils literal">RAM</tt> and another one for the <tt class="docutils literal">Swap</tt>.</p>
<img alt="images/mem.png" src="images/mem.png" />
<p>If enough space is available, Glances displays extended informations:</p>
<img alt="images/mem-wide.png" src="images/mem-wide.png" />
<p>With Glances, alerts are only set for on used memory and used swap.</p>
<div class="line-block">
<div class="line">If memory 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 memory 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 memory 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 memory is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
<p><em>Note</em>: limit values can be overwritten in the configuration file under the <tt class="docutils literal">[memory]</tt> and <tt class="docutils literal">[swap]</tt> sections.</p>
</div>
<div class="section" id="network">
<h2><a class="toc-backref" href="#id21">Network</a></h2>
<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>
<p>Alerts are only set if the network interface maximum speed is available.</p>
<p>For example, on a 100 Mbps ethernet interface, the warning status is set
if the bit rate is higher than 70 Mbps.</p>
<div class="line-block">
<div class="line">If bit rate 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 bit rate 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 bit rate 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 bit rate is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
</div>
<div class="section" id="sensors">
<h2><a class="toc-backref" href="#id22">Sensors</a></h2>
<p>Glances can displays the sensors informations trough <cite>lm-sensors</cite> (only available on Linux).</p>
<p>As of lm-sensors, a filter is processed in order to display temperature only:</p>
<img alt="images/sensors.png" src="images/sensors.png" />
<p>Glances can also grab hard disk temperature through the <cite>hddtemp</cite> daemon (see here <a class="footnote-reference" href="#id5" id="id2">[2]</a> to install hddtemp on your system):</p>
<img alt="images/hddtemp.png" src="images/hddtemp.png" />
<p>To enable the lm-sensors module:</p>
<pre class="code console literal-block">
<span class="generic prompt">$</span> glances -e
</pre>
<p>To enable the hddtemp module:</p>
<pre class="code console literal-block">
<span class="generic prompt">$</span> glances -y
</pre>
<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">[temperature]</tt> and <tt class="docutils literal">[hddtemperature]</tt> sections.</p>
</div>
<div class="section" id="disk-i-o">
<h2><a class="toc-backref" href="#id23">Disk I/O</a></h2>
<img alt="images/diskio.png" src="images/diskio.png" />
<p>Glances displays the disk I/O throughput. The unit is adapted dynamically.</p>
<p><em>Note</em>: There is no alert on this information.</p>
</div>
<div class="section" id="file-system">
<h2><a class="toc-backref" href="#id24">File system</a></h2>
<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>
<p>Alerts are set for used disk space:</p>
<div class="line-block">
<div class="line">If disk used 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 disk used 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 disk used 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 disk used is <tt class="docutils literal">&gt;90%</tt>, then status is set to <tt class="docutils literal">&quot;CRITICAL&quot;</tt></div>
</div>
<p><em>Note</em>: limit values can be overwritten in the configuration file under <tt class="docutils literal">[filesystem]</tt> section.</p>
</div>
<div class="section" id="processes-list">
<h2><a class="toc-backref" href="#id25">Processes list</a></h2>
<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>
<li>Optional monitored processes list (new in 1.7)</li>
<li>Processes list</li>
</ul>
<p>By default, or if you hit the <tt class="docutils literal">a</tt> key, the processes list is automatically
sorted by CPU of memory usage.</p>
<p><em>Note</em>: limit values can be overwritten in the configuration file under the <tt class="docutils literal">[process]</tt> section.</p>
<p>The number of processes in the list is adapted to the screen size.</p>
<dl class="docutils">
<dt><tt class="docutils literal">VIRT</tt></dt>
<dd>Virtual memory size</dd>
<dt><tt class="docutils literal">RES</tt></dt>
<dd>Resident memory</dd>
<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>
<dt><tt class="docutils literal">PID</tt></dt>
<dd>Process ID</dd>
<dt><tt class="docutils literal">USER</tt></dt>
<dd>User ID per process</dd>
<dt><tt class="docutils literal">NI</tt></dt>
<dd>Nice level of the process</dd>
<dt><tt class="docutils literal">S</tt></dt>
<dd>Process status</dd>
<dt><tt class="docutils literal">TIME+</tt></dt>
<dd>Cumulative CPU time used</dd>
<dt><tt class="docutils literal">IOR/s</tt></dt>
<dd>Per process IO read rate (in Byte/s)</dd>
<dt><tt class="docutils literal">IOW/s</tt></dt>
<dd>Per process IO write rate (in Byte/s)</dd>
<dt><tt class="docutils literal">NAME</tt></dt>
<dd>Process name or command line</dd>
</dl>
<p>Process status legend:</p>
<dl class="docutils">
<dt><tt class="docutils literal">R</tt></dt>
<dd>running</dd>
<dt><tt class="docutils literal">S</tt></dt>
<dd>sleeping (may be interrupted)</dd>
<dt><tt class="docutils literal">D</tt></dt>
<dd>disk sleep (may not be interrupted)</dd>
<dt><tt class="docutils literal">T</tt></dt>
<dd>traced/stopped</dd>
<dt><tt class="docutils literal">Z</tt></dt>
<dd>zombie</dd>
</dl>
</div>
<div class="section" id="monitored-processes-list">
<h2><a class="toc-backref" href="#id26">Monitored processes list</a></h2>
<p>New in version 1.7. Optional.</p>
<p>The monitored processes list allows user, through the configuration file,
to group processes and quickly show if the number of running process is not good.</p>
<img alt="images/monitored.png" src="images/monitored.png" />
<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>
<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>
</ul>
<p>Up to 10 items can be defined.</p>
<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="code console literal-block">
<span class="generic output">[monitor]
list_1_description=Nginx server
list_1_regex=.*nginx.*
list_1_command=nginx -v
list_1_countmin=1
list_1_countmax=4</span>
</pre>
<p>If you also want to monitor the PHP-FPM daemon processes, you should add another item:</p>
<pre class="code console literal-block">
<span class="generic output">[monitor]
list_1_description=Nginx server
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</span>
</pre>
<p>In client/server mode, the list is defined on the server side.
A new method, called getAllMonitored, 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>
</div>
<div class="section" id="logs">
<h2><a class="toc-backref" href="#id27">Logs</a></h2>
<img alt="images/logs.png" src="images/logs.png" />
<p>A log messages list is displayed in the bottom of the screen if (and only if):</p>
<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">
<li>start date</li>
<li>end date</li>
<li>alert name</li>
<li>{min/avg/max} values or number of running processes for monitored processes list alerts</li>
</ol>
</div>
<div class="section" id="footer">
<h2><a class="toc-backref" href="#id28">Footer</a></h2>
<img alt="images/footer.png" src="images/footer.png" />
<p>Glances displays the current date &amp; time and access to the embedded help screen.</p>
<p>If one or mode batteries were found on your machine and if the batinfo Python library <a class="footnote-reference" href="#id6" id="id3">[3]</a>
is installed on your system then Glances displays the available percent capacity in the middle on the footer.</p>
<img alt="images/battery.png" src="images/battery.png" />
<p>If you have ran Glances in client mode <tt class="docutils literal"><span class="pre">-c</span></tt>, you can also see if the client is connected to the server.</p>
<p>If client is connected:</p>
<img alt="images/client-connected.png" src="images/client-connected.png" />
<p>else:</p>
<img alt="images/client-disconnected.png" src="images/client-disconnected.png" />
<p>On the left, you can easily see if you are connected to a Glances server.</p>
</div>
</div>
<div class="section" id="api-documentation">
<h1><a class="toc-backref" href="#id29">API documentation</a></h1>
<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>
<p>API documentation is available at <a class="reference external" href="https://github.com/nicolargo/glances/wiki/The-Glances-API-How-To">https://github.com/nicolargo/glances/wiki/The-Glances-API-How-To</a></p>
</div>
<div class="section" id="support">
<h1><a class="toc-backref" href="#id30">Support</a></h1>
<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>
<p>Feel free to contribute!</p>
<table class="docutils footnote" frame="void" id="id4" rules="none">
<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>
<table class="docutils footnote" frame="void" id="id5" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td><a class="reference external" href="http://www.cyberciti.biz/tips/howto-monitor-hard-drive-temperature.html">http://www.cyberciti.biz/tips/howto-monitor-hard-drive-temperature.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id6" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td><a class="reference external" href="https://github.com/nicolargo/batinfo">https://github.com/nicolargo/batinfo</a></td></tr>
</tbody>
</table>
</div>
</div>
</body>
</html>