mirror of
https://github.com/nicolargo/glances.git
synced 2024-11-25 19:17:09 +03:00
744 lines
34 KiB
HTML
744 lines
34 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 {
|
|
margin-left: 2em;
|
|
margin-right: 2em;
|
|
}
|
|
|
|
.console, .literal-block {
|
|
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 2.0.1.</p>
|
|
<p>Copyright © 2012-2014 Nicolas Hennion <<a class="reference external" href="mailto:nicolas@nicolargo.com">nicolas@nicolargo.com</a>></p>
|
|
<p>June 2014</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="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>
|
|
</ul>
|
|
</li>
|
|
<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>
|
|
</ul>
|
|
</li>
|
|
<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>
|
|
</ul>
|
|
</li>
|
|
<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>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="introduction">
|
|
<h1><a class="toc-backref" href="#id5">Introduction</a></h1>
|
|
<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>
|
|
<p>Console (80x24)</p>
|
|
<img alt="images/screenshot.png" src="images/screenshot.png" />
|
|
<p>Full view (>80x24)</p>
|
|
<img alt="images/screenshot-wide.png" src="images/screenshot-wide.png" />
|
|
<p>Web interface (Firefox)</p>
|
|
<img alt="images/screenshot-web.png" src="images/screenshot-web.png" />
|
|
</div>
|
|
<div class="section" id="usage">
|
|
<h1><a class="toc-backref" href="#id6">Usage</a></h1>
|
|
<div class="section" id="standalone-mode">
|
|
<h2><a class="toc-backref" href="#id7">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="#id8">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 @server</span>
|
|
</pre>
|
|
<p>where <tt class="docutils literal">@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>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>
|
|
<p>In client/server mode, limits are set by the server side.</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>
|
|
<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 @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">
|
|
<h2><a class="toc-backref" href="#id9">Web Server Mode</a></h2>
|
|
<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://@server:61208
|
|
</pre>
|
|
<p>where <tt class="docutils literal">@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" />
|
|
</div>
|
|
</div>
|
|
<div class="section" id="command-reference">
|
|
<h1><a class="toc-backref" href="#id10">Command Reference</a></h1>
|
|
<div class="section" id="command-line-options">
|
|
<h2><a class="toc-backref" href="#id11">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">-h</span>, <span class="option">--help</span></kbd></td>
|
|
<td>show this help message and exit</td></tr>
|
|
<tr><td class="option-group">
|
|
<kbd><span class="option">-V</span>, <span class="option">--version</span></kbd></td>
|
|
<td>show program's version number and exit</td></tr>
|
|
<tr><td class="option-group">
|
|
<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> </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> </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> </td><td>path to the configuration file</td></tr>
|
|
<tr><td class="option-group">
|
|
<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> </td><td>disable disk I/O module</td></tr>
|
|
<tr><td class="option-group">
|
|
<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> </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> </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> </td><td>disable process module</td></tr>
|
|
<tr><td class="option-group">
|
|
<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> </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> </td><td>define the client/server TCP port [default: 61209]</td></tr>
|
|
<tr><td class="option-group">
|
|
<kbd><span class="option">--password</span></kbd></td>
|
|
<td>define a client/server password from the prompt or
|
|
file</td></tr>
|
|
<tr><td class="option-group">
|
|
<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> </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> </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> </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> </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> </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> </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> </td><td>run Glances in Web server mode</td></tr>
|
|
<tr><td class="option-group">
|
|
<kbd><span class="option">-1</span>, <span class="option">--percpu</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="#id12">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">>60%</tt>, sort processes by I/O read and write</li>
|
|
<li>If CPU <tt class="docutils literal">>70%</tt>, sort processes by CPU usage</li>
|
|
<li>If MEM <tt class="docutils literal">>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</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</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">z</tt></dt>
|
|
<dd>Show/hide processes stats</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="#id13">Configuration</a></h1>
|
|
<p><strong>Caution! Glances version 1.x configuration files are not compatible
|
|
with the version 2.x.</strong></p>
|
|
<p>No configuration file is mandatory to use Glances.</p>
|
|
<p>Furthermore a configuration file is needed to set up limits, disks or
|
|
network interfaces to hide 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="literal-block">
|
|
C:\Documents and Settings\<User>\Application Data
|
|
</pre>
|
|
<p>Since Windows Vista and newer versions:</p>
|
|
<pre class="literal-block">
|
|
C:\Users\<User>\AppData\Roaming
|
|
</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., on Linux:</p>
|
|
<pre class="code console literal-block">
|
|
<span class="generic output">mkdir -p $XDG_CONFIG_HOME/glances
|
|
cp /usr/share/doc/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="#id14">Anatomy Of The Application</a></h1>
|
|
<div class="section" id="legend">
|
|
<h2><a class="toc-backref" href="#id15">Legend</a></h2>
|
|
<div class="line-block">
|
|
<div class="line"><tt class="docutils literal">GREEN</tt> stat counter is <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line"><tt class="docutils literal">BLUE</tt> stat counter is <tt class="docutils literal">"CAREFUL"</tt></div>
|
|
<div class="line"><tt class="docutils literal">MAGENTA</tt> stat counter is <tt class="docutils literal">"WARNING"</tt></div>
|
|
<div class="line"><tt class="docutils literal">RED</tt> stat counter is <tt class="docutils literal">"CRITICAL"</tt></div>
|
|
</div>
|
|
<p><em>Note</em>: only stats with colored background will be logged in the alert
|
|
view.</p>
|
|
</div>
|
|
<div class="section" id="header">
|
|
<h2><a class="toc-backref" href="#id16">Header</a></h2>
|
|
<img alt="images/header.png" src="images/header.png" />
|
|
<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" />
|
|
</div>
|
|
<div class="section" id="cpu">
|
|
<h2><a class="toc-backref" href="#id17">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 information 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 CPU is <tt class="docutils literal"><50%</tt>, then status is set to <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line">If user|system CPU is <tt class="docutils literal">>50%</tt>, then status is set to <tt class="docutils literal">"CAREFUL"</tt></div>
|
|
<div class="line">If user|system CPU is <tt class="docutils literal">>70%</tt>, then status is set to <tt class="docutils literal">"WARNING"</tt></div>
|
|
<div class="line">If user|system CPU is <tt class="docutils literal">>90%</tt>, then status is set to <tt class="docutils literal">"CRITICAL"</tt></div>
|
|
</div>
|
|
<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>
|
|
</div>
|
|
<div class="section" id="load">
|
|
<h2><a class="toc-backref" href="#id18">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 load average <a class="footnote-reference" href="#id3" id="id1">[1]</a>:</p>
|
|
<blockquote>
|
|
"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 minutes time periods."</blockquote>
|
|
<p>Glances gets the number of CPU core to adapt the alerts.
|
|
Alerts on load average are only set on 15 minutes time period.
|
|
The first line also displays the number of CPU core.</p>
|
|
<div class="line-block">
|
|
<div class="line">If load average is <tt class="docutils literal"><0.7*core</tt>, then status is set to <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line">If load average is <tt class="docutils literal">>0.7*core</tt>, then status is set to <tt class="docutils literal">"CAREFUL"</tt></div>
|
|
<div class="line">If load average is <tt class="docutils literal">>1*core</tt>, then status is set to <tt class="docutils literal">"WARNING"</tt></div>
|
|
<div class="line">If load average is <tt class="docutils literal">>5*core</tt>, then status is set to <tt class="docutils literal">"CRITICAL"</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="#id19">Memory</a></h2>
|
|
<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>
|
|
<img alt="images/mem.png" src="images/mem.png" />
|
|
<p>If enough space is available, Glances displays extended information for
|
|
the <tt class="docutils literal">RAM</tt>:</p>
|
|
<img alt="images/mem-wide.png" src="images/mem-wide.png" />
|
|
<p>Alerts are only set for used memory and used swap.</p>
|
|
<div class="line-block">
|
|
<div class="line">If used memory|swap is <tt class="docutils literal"><50%</tt>, then status is set to <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line">If used memory|swap is <tt class="docutils literal">>50%</tt>, then status is set to <tt class="docutils literal">"CAREFUL"</tt></div>
|
|
<div class="line">If used memory|swap is <tt class="docutils literal">>70%</tt>, then status is set to <tt class="docutils literal">"WARNING"</tt></div>
|
|
<div class="line">If used memory|swap is <tt class="docutils literal">>90%</tt>, then status is set to <tt class="docutils literal">"CRITICAL"</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/or <tt class="docutils literal">[memswap]</tt> sections.</p>
|
|
</div>
|
|
<div class="section" id="network">
|
|
<h2><a class="toc-backref" href="#id20">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 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>
|
|
</div>
|
|
<div class="section" id="disk-i-o">
|
|
<h2><a class="toc-backref" href="#id21">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>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>
|
|
</div>
|
|
<div class="section" id="file-system">
|
|
<h2><a class="toc-backref" href="#id22">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 used disk is <tt class="docutils literal"><50%</tt>, then status is set to <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line">If used disk is <tt class="docutils literal">>50%</tt>, then status is set to <tt class="docutils literal">"CAREFUL"</tt></div>
|
|
<div class="line">If used disk is <tt class="docutils literal">>70%</tt>, then status is set to <tt class="docutils literal">"WARNING"</tt></div>
|
|
<div class="line">If used disk is <tt class="docutils literal">>90%</tt>, then status is set to <tt class="docutils literal">"CRITICAL"</tt></div>
|
|
</div>
|
|
<p><em>Note</em>: limit values can be overwritten in the configuration file under
|
|
the <tt class="docutils literal">[filesystem]</tt> section.</p>
|
|
</div>
|
|
<div class="section" id="sensors">
|
|
<h2><a class="toc-backref" href="#id23">Sensors</a></h2>
|
|
<p>Glances can displays the sensors information using <cite>lm-sensors</cite>,
|
|
<cite>hddtemp</cite> and <cite>batinfo</cite> <a class="footnote-reference" href="#id4" id="id2">[2]</a>.</p>
|
|
<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>
|
|
</div>
|
|
<div class="section" id="processes-list">
|
|
<h2><a class="toc-backref" href="#id24">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 (see below)</li>
|
|
<li>Processes list</li>
|
|
</ul>
|
|
<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>
|
|
<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>
|
|
</ul>
|
|
<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>
|
|
<dt><tt class="docutils literal">VIRT</tt></dt>
|
|
<dd>Total program size - Virtual Memory Size (VMS)</dd>
|
|
<dt><tt class="docutils literal">RES</tt></dt>
|
|
<dd>Resident Set Size (RSS)</dd>
|
|
<dt><tt class="docutils literal">PID</tt></dt>
|
|
<dd>Process ID</dd>
|
|
<dt><tt class="docutils literal">USER</tt></dt>
|
|
<dd>User ID</dd>
|
|
<dt><tt class="docutils literal">NI</tt></dt>
|
|
<dd>Nice level of the process (niceness other than 0 is highlighted)</dd>
|
|
<dt><tt class="docutils literal">S</tt></dt>
|
|
<dd>Process status (running process is highlighted)</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 I/O read rate (in Byte/s)</dd>
|
|
<dt><tt class="docutils literal">IOW/s</tt></dt>
|
|
<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>
|
|
</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>
|
|
<p><em>Note</em>: limit values can be overwritten in the configuration file under
|
|
the <tt class="docutils literal">[process]</tt> section.</p>
|
|
</div>
|
|
<div class="section" id="monitored-processes-list">
|
|
<h2><a class="toc-backref" href="#id25">Monitored Processes List</a></h2>
|
|
<p>The monitored processes list allows user, through the configuration file,
|
|
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" />
|
|
<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 < count.</li>
|
|
<li><tt class="docutils literal">countmax</tt> (optional): maximum number of processes. A warning will
|
|
be displayed if number of processes > 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="literal-block">
|
|
[monitor]
|
|
list_1_description=Nginx server
|
|
list_1_regex=.*nginx.*
|
|
list_1_command=nginx -v
|
|
list_1_countmin=1
|
|
list_1_countmax=4
|
|
</pre>
|
|
<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
|
|
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
|
|
</pre>
|
|
<p>In client/server mode, the list is defined on the server side.
|
|
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">"CRITICAL"</tt></div>
|
|
<div class="line">If number of processes is min < current < max, then status is set to <tt class="docutils literal">"OK"</tt></div>
|
|
<div class="line">Else status is set to <tt class="docutils literal">"WARNING"</tt></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="logs">
|
|
<h2><a class="toc-backref" href="#id26">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 datetime</li>
|
|
<li>duration if alert is terminated or <cite>ongoing</cite> if the alert is still in
|
|
progress</li>
|
|
<li>alert name</li>
|
|
<li>{min,avg,max} values or number of running processes for monitored
|
|
processes list alerts</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="other-outputs">
|
|
<h1><a class="toc-backref" href="#id27">Other Outputs</a></h1>
|
|
<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>
|
|
</div>
|
|
<div class="section" id="api-documentation">
|
|
<h1><a class="toc-backref" href="#id28">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-2.x-API-How-to">https://github.com/nicolargo/glances/wiki/The-Glances-2.x-API-How-to</a>.</p>
|
|
</div>
|
|
<div class="section" id="support">
|
|
<h1><a class="toc-backref" href="#id29">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="id3" 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="id4" 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="https://github.com/nicolargo/batinfo">https://github.com/nicolargo/batinfo</a></td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|