mirror of
https://github.com/nicolargo/glances.git
synced 2024-12-26 02:31:36 +03:00
Doc updated. Have to test it with degraded cases
This commit is contained in:
parent
83b098a16c
commit
e57eef141a
1
NEWS
1
NEWS
@ -7,6 +7,7 @@ Version 2.7
|
|||||||
|
|
||||||
Enhancements and new features:
|
Enhancements and new features:
|
||||||
|
|
||||||
|
* Add Application Monitoring Process plugin (issue #780)
|
||||||
* Improve IP plugin to display public IP address (issue #646)
|
* Improve IP plugin to display public IP address (issue #646)
|
||||||
* CPU additionnal stats monitoring: Context switch, Interrupts... (issue #810)
|
* CPU additionnal stats monitoring: Context switch, Interrupts... (issue #810)
|
||||||
* [Folders] Differentiate permission issue and non-existence of a directory (issue #828)
|
* [Folders] Differentiate permission issue and non-existence of a directory (issue #828)
|
||||||
|
BIN
docs/_static/amps.png
vendored
Normal file
BIN
docs/_static/amps.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
@ -32,6 +32,7 @@ Legend:
|
|||||||
sensors
|
sensors
|
||||||
ps
|
ps
|
||||||
monitor
|
monitor
|
||||||
|
amps
|
||||||
logs
|
logs
|
||||||
docker
|
docker
|
||||||
actions
|
actions
|
||||||
|
@ -95,6 +95,14 @@ Command-Line Options
|
|||||||
|
|
||||||
disable process module
|
disable process module
|
||||||
|
|
||||||
|
.. option:: --disable-monitor
|
||||||
|
|
||||||
|
disable monitoring process list module
|
||||||
|
|
||||||
|
.. option:: --disable-amp
|
||||||
|
|
||||||
|
disable application monitoring process module
|
||||||
|
|
||||||
.. option:: --disable-log
|
.. option:: --disable-log
|
||||||
|
|
||||||
disable log module
|
disable log module
|
||||||
@ -291,6 +299,9 @@ The following commands (key pressed) are supported while in Glances:
|
|||||||
|
|
||||||
- If CPU iowait ``>60%``, sort processes by I/O read and write
|
- If CPU iowait ``>60%``, sort processes by I/O read and write
|
||||||
|
|
||||||
|
``A``
|
||||||
|
Enable/disable Application Monitoring Process
|
||||||
|
|
||||||
``b``
|
``b``
|
||||||
Switch between bit/s or Byte/s for network I/O
|
Switch between bit/s or Byte/s for network I/O
|
||||||
|
|
||||||
|
@ -21,6 +21,15 @@
|
|||||||
I am your father...
|
I am your father...
|
||||||
|
|
||||||
...for all Glances Application Monitoring Processes (AMP).
|
...for all Glances Application Monitoring Processes (AMP).
|
||||||
|
|
||||||
|
AMP (Application Monitoring Process)
|
||||||
|
A Glances AMP is a Python script called (every *refresh* seconds) if:
|
||||||
|
- the AMP is *enabled* in the Glances configuration file
|
||||||
|
- a process is running (match the *regex* define in the configuration file)
|
||||||
|
The script should define a Amp (GlancesAmp) class with, at least, an update method.
|
||||||
|
The update method should call the set_result method to set the AMP return string.
|
||||||
|
The return string is a string with one or more line (\n between lines).
|
||||||
|
If the *one_line* var is true then the AMP will be displayed in one line.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from glances.compat import u
|
from glances.compat import u
|
||||||
|
@ -17,24 +17,32 @@
|
|||||||
# You should have received a copy of the GNU Lesser General Public License
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
"""
|
|
||||||
AMP (Application Monitoring Process)
|
|
||||||
A Glances AMP is a Python script called (every *refresh* seconds) if:
|
|
||||||
- the AMP is *enabled* in the Glances configuration file
|
|
||||||
- a process is running (match the *regex* define in the configuration file)
|
|
||||||
The script should define a Amp (GlancesAmp) class with, at least, an update method.
|
|
||||||
The update method should call the set_result method to set the AMP return string.
|
|
||||||
The return string is a string with one or more line (\n between lines).
|
|
||||||
If the *one_line* var is true then the AMP will be displayed in one line.
|
|
||||||
"""
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Nginx AMP
|
Nginx AMP
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Monitor the Nginx process using the status page
|
Monitor the Nginx process using the status page.
|
||||||
|
|
||||||
Configuration file example:
|
How to read the stats
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Active connections – Number of all open connections. This doesn’t mean number of users.
|
||||||
|
A single user, for a single pageview can open many concurrent connections to your server.
|
||||||
|
Server accepts handled requests – This shows three values.
|
||||||
|
First is total accepted connections.
|
||||||
|
Second is total handled connections. Usually first 2 values are same.
|
||||||
|
Third value is number of and handles requests. This is usually greater than second value.
|
||||||
|
Dividing third-value by second-one will give you number of requests per connection handled
|
||||||
|
by Nginx. In above example, 10993/7368, 1.49 requests per connections.
|
||||||
|
Reading – nginx reads request header
|
||||||
|
Writing – nginx reads request body, processes request, or writes response to a client
|
||||||
|
Waiting – keep-alive connections, actually it is active – (reading + writing).
|
||||||
|
This value depends on keepalive-timeout. Do not confuse non-zero waiting value for poor
|
||||||
|
performance. It can be ignored.
|
||||||
|
Source (https://easyengine.io/tutorials/nginx/status-page/)
|
||||||
|
|
||||||
|
Configuration file example
|
||||||
|
--------------------------
|
||||||
|
|
||||||
[nginx]
|
[nginx]
|
||||||
# Nginx status page should be enable (https://easyengine.io/tutorials/nginx/status-page/)
|
# Nginx status page should be enable (https://easyengine.io/tutorials/nginx/status-page/)
|
||||||
|
@ -138,6 +138,10 @@ Start the client browser (browser mode):\n\
|
|||||||
help='disable network, disk I/O, FS and sensors modules')
|
help='disable network, disk I/O, FS and sensors modules')
|
||||||
parser.add_argument('--disable-process', action='store_true', default=False,
|
parser.add_argument('--disable-process', action='store_true', default=False,
|
||||||
dest='disable_process', help='disable process module')
|
dest='disable_process', help='disable process module')
|
||||||
|
parser.add_argument('--disable-monitoring', action='store_true', default=False,
|
||||||
|
dest='disable_monitor', help='disable monitoring list module')
|
||||||
|
parser.add_argument('--disable-amp', action='store_true', default=False,
|
||||||
|
dest='disable_amp', help='disable applications monitoring process (AMP) module')
|
||||||
parser.add_argument('--disable-log', action='store_true', default=False,
|
parser.add_argument('--disable-log', action='store_true', default=False,
|
||||||
dest='disable_log', help='disable log module')
|
dest='disable_log', help='disable log module')
|
||||||
parser.add_argument('--disable-bold', action='store_true', default=False,
|
parser.add_argument('--disable-bold', action='store_true', default=False,
|
||||||
|
@ -328,6 +328,9 @@ class _GlancesCurses(object):
|
|||||||
# 'a' > Sort processes automatically and reset to 'cpu_percent'
|
# 'a' > Sort processes automatically and reset to 'cpu_percent'
|
||||||
glances_processes.auto_sort = True
|
glances_processes.auto_sort = True
|
||||||
glances_processes.sort_key = 'cpu_percent'
|
glances_processes.sort_key = 'cpu_percent'
|
||||||
|
elif self.pressedkey == ord('A'):
|
||||||
|
# 'A' > enable/disable AMP module
|
||||||
|
self.args.disable_amp = not self.args.disable_amp
|
||||||
elif self.pressedkey == ord('b'):
|
elif self.pressedkey == ord('b'):
|
||||||
# 'b' > Switch between bit/s and Byte/s for network IO
|
# 'b' > Switch between bit/s and Byte/s for network IO
|
||||||
self.args.byte = not self.args.byte
|
self.args.byte = not self.args.byte
|
||||||
|
@ -73,7 +73,7 @@ class Plugin(GlancesPlugin):
|
|||||||
# Only process if stats exist and display plugin enable...
|
# Only process if stats exist and display plugin enable...
|
||||||
ret = []
|
ret = []
|
||||||
|
|
||||||
if not self.stats or args.disable_process:
|
if not self.stats or args.disable_process or args.disable_amp:
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
# Build the string message
|
# Build the string message
|
||||||
|
@ -88,7 +88,7 @@ class Plugin(GlancesPlugin):
|
|||||||
ret = []
|
ret = []
|
||||||
|
|
||||||
# Only process if stats exist and display plugin enable...
|
# Only process if stats exist and display plugin enable...
|
||||||
if not self.stats or args.disable_process:
|
if not self.stats or args.disable_process or args.disable_monitor:
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
# Build the string message
|
# Build the string message
|
||||||
|
Loading…
Reference in New Issue
Block a user