mirror of
https://github.com/nicolargo/glances.git
synced 2024-11-29 07:30:58 +03:00
Merge branch 'feature/issue132' into develop
This commit is contained in:
commit
283af00e7c
5
NEWS
5
NEWS
@ -2,12 +2,13 @@
|
|||||||
Glances Version 2.x
|
Glances Version 2.x
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
Version 2.X
|
Version 2.3
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
* Add actions on alerts (issue #132). It is now possible to run action (command line) by triggers. Action could containq {Mustache} {{tag}} (Mustache) with stat value.
|
||||||
* Add InfluxDB export module (--export-influxdb) (issue #455)
|
* Add InfluxDB export module (--export-influxdb) (issue #455)
|
||||||
* Add Statsd export module (--export-statsd) (issue #465)
|
* Add Statsd export module (--export-statsd) (issue #465)
|
||||||
* Refactor export module (CSV export option is now --export-csv). It is now possible to export stats from the Glances client (issue #463)
|
* Refactor export module (CSV export option is now --export-csv). It is now possible to export stats from the Glances client mode (issue #463)
|
||||||
* The Web inteface is now based on BootStarp / RWD grid (issue #417, #366 and #461) Thanks to Nicolas Hart @nclsHart
|
* The Web inteface is now based on BootStarp / RWD grid (issue #417, #366 and #461) Thanks to Nicolas Hart @nclsHart
|
||||||
* Add the RAID plugins (issue #447)
|
* Add the RAID plugins (issue #447)
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
user_careful=50
|
user_careful=50
|
||||||
user_warning=70
|
user_warning=70
|
||||||
user_critical=90
|
user_critical=90
|
||||||
|
user_critical_action=echo {{user}} {{value}} {{max}} > /tmp/cpu.alert
|
||||||
iowait_careful=50
|
iowait_careful=50
|
||||||
iowait_warning=70
|
iowait_warning=70
|
||||||
iowait_critical=90
|
iowait_critical=90
|
||||||
@ -71,13 +72,14 @@ hide=sda2,sda5
|
|||||||
# Default limits for free filesytem space in %
|
# Default limits for free filesytem space in %
|
||||||
# Default values if not defined: 50/70/90
|
# Default values if not defined: 50/70/90
|
||||||
careful=50
|
careful=50
|
||||||
|
careful_action=echo {{mnt_point}} {{used}}/{{size}} > /tmp/fs.alert
|
||||||
warning=70
|
warning=70
|
||||||
critical=90
|
critical=90
|
||||||
|
|
||||||
[sensors]
|
[sensors]
|
||||||
# Sensors core limits
|
# Sensors core limits
|
||||||
# Default values if not defined: 60/70/80
|
# Default values if not defined: 60/70/80
|
||||||
temperature_core_careful=60
|
temperature_core_careful=50
|
||||||
temperature_core_warning=70
|
temperature_core_warning=70
|
||||||
temperature_core_critical=80
|
temperature_core_critical=80
|
||||||
# Temperatures in °C for hddtemp
|
# Temperatures in °C for hddtemp
|
||||||
|
@ -70,6 +70,8 @@ critical=90
|
|||||||
[fs]
|
[fs]
|
||||||
# Default limits for free filesytem space in %
|
# Default limits for free filesytem space in %
|
||||||
# Default values if not defined: 50/70/90
|
# Default values if not defined: 50/70/90
|
||||||
|
# It is also possible to define per mount point value
|
||||||
|
# Example: /_careful=40
|
||||||
careful=50
|
careful=50
|
||||||
warning=70
|
warning=70
|
||||||
critical=90
|
critical=90
|
||||||
|
@ -4,9 +4,9 @@ Glances
|
|||||||
|
|
||||||
This manual describes *Glances* version 2.2.
|
This manual describes *Glances* version 2.2.
|
||||||
|
|
||||||
Copyright © 2012-2014 Nicolas Hennion <nicolas@nicolargo.com>
|
Copyright © 2011-2015 Nicolas Hennion <nicolas@nicolargo.com>
|
||||||
|
|
||||||
December 2014
|
Junuary 2015
|
||||||
|
|
||||||
.. contents:: Table of Contents
|
.. contents:: Table of Contents
|
||||||
|
|
||||||
@ -671,6 +671,26 @@ Each alert message displays the following information:
|
|||||||
4. {min,avg,max} values or number of running processes for monitored
|
4. {min,avg,max} values or number of running processes for monitored
|
||||||
processes list alerts
|
processes list alerts
|
||||||
|
|
||||||
|
Actions
|
||||||
|
-------
|
||||||
|
|
||||||
|
Glances can trigger actions on events.
|
||||||
|
|
||||||
|
By action, we mean all shell command line. For example, if you want to execute the foo.py script if the last 5 minutes load are critical then add the action line to the Glances configuration file:
|
||||||
|
|
||||||
|
[load]
|
||||||
|
critical=5.0
|
||||||
|
critical_action=python /path/to/foo.py
|
||||||
|
|
||||||
|
All the stats are usable in the command line by the use of the {{mustache}} syntax. Another example to create a log file containing used vs total disk space if a warning space trigger is reached:
|
||||||
|
|
||||||
|
[fs]
|
||||||
|
warning=70
|
||||||
|
warning_action=echo {{mnt_point}} {{used}}/{{size}} > /tmp/fs.alert
|
||||||
|
|
||||||
|
Note: You can use all the stats for the current plugin (see https://github.com/nicolargo/glances/wiki/The-Glances-2.x-API-How-to for the stats list)
|
||||||
|
|
||||||
|
|
||||||
Gateway to others services
|
Gateway to others services
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
# Glances - An eye on your system
|
# Glances - An eye on your system
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
81
glances/core/glances_actions.py
Normal file
81
glances/core/glances_actions.py
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# This file is part of Glances.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
|
#
|
||||||
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Glances is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
"""Manage on alert actions."""
|
||||||
|
|
||||||
|
# Import system lib
|
||||||
|
from subprocess import Popen
|
||||||
|
import pystache
|
||||||
|
|
||||||
|
# Import Glances lib
|
||||||
|
from glances.core.glances_logging import logger
|
||||||
|
|
||||||
|
|
||||||
|
class GlancesActions(object):
|
||||||
|
|
||||||
|
"""This class manage action if an alert is reached"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
"""Init GlancesActions class"""
|
||||||
|
|
||||||
|
# Dict with the criticity status
|
||||||
|
# - key: stat_name
|
||||||
|
# - value: criticity
|
||||||
|
# Goal: avoid to execute the same command twice
|
||||||
|
self.status = {}
|
||||||
|
|
||||||
|
def get(self, stat_name):
|
||||||
|
"""Get the stat_name criticity"""
|
||||||
|
try:
|
||||||
|
return self.status[stat_name]
|
||||||
|
except KeyError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def set(self, stat_name, criticity):
|
||||||
|
"""Set the stat_name to criticity"""
|
||||||
|
self.status[stat_name] = criticity
|
||||||
|
|
||||||
|
def run(self, stat_name, criticity, commands, mustache_dict=None):
|
||||||
|
"""Run the commands (in background)
|
||||||
|
- stats_name: plugin_name (+ header)
|
||||||
|
- criticity: criticity of the trigger
|
||||||
|
- commands: a list of command line with optional {{mustache}}
|
||||||
|
- mustache_dict: Plugin stats (can be use within {{mustache}})
|
||||||
|
|
||||||
|
Return True if the commands have been ran"""
|
||||||
|
|
||||||
|
if self.get(stat_name) == criticity:
|
||||||
|
# Action already executed => Exit
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Ran all actions in background
|
||||||
|
for cmd in commands:
|
||||||
|
# Replace {{arg}} by the dict one (Thk to {Mustache})
|
||||||
|
cmd_full = pystache.render(cmd, mustache_dict)
|
||||||
|
# Execute the action
|
||||||
|
logger.info("Action triggered for {0} ({1}): {2}".format(stat_name, criticity, cmd_full))
|
||||||
|
logger.debug("Stats value for the trigger: {0}".format(mustache_dict))
|
||||||
|
try:
|
||||||
|
Popen(cmd_full, shell=True)
|
||||||
|
except OSError as e:
|
||||||
|
logger.error("Can't execute the action ({0})".format(e))
|
||||||
|
|
||||||
|
self.set(stat_name, criticity)
|
||||||
|
|
||||||
|
return True
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
@ -697,6 +697,7 @@ class _GlancesCurses(object):
|
|||||||
|
|
||||||
# Display
|
# Display
|
||||||
x = display_x
|
x = display_x
|
||||||
|
x_max = x
|
||||||
y = display_y
|
y = display_y
|
||||||
for m in plugin_stats['msgdict']:
|
for m in plugin_stats['msgdict']:
|
||||||
# New line
|
# New line
|
||||||
@ -740,9 +741,11 @@ class _GlancesCurses(object):
|
|||||||
# good
|
# good
|
||||||
offset = len(m['msg'])
|
offset = len(m['msg'])
|
||||||
x = x + offset
|
x = x + offset
|
||||||
|
if x > x_max:
|
||||||
|
x_max = x
|
||||||
|
|
||||||
# Compute the next Glances column/line position
|
# Compute the next Glances column/line position
|
||||||
self.next_column = max(self.next_column, x + self.space_between_column)
|
self.next_column = max(self.next_column, x_max + self.space_between_column)
|
||||||
self.next_line = max(self.next_line, y + self.space_between_line)
|
self.next_line = max(self.next_line, y + self.space_between_line)
|
||||||
|
|
||||||
def erase(self):
|
def erase(self):
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
@ -209,7 +209,9 @@ class Plugin(GlancesPlugin):
|
|||||||
msg = '{0:>7}'.format(self.auto_unit(i['free']))
|
msg = '{0:>7}'.format(self.auto_unit(i['free']))
|
||||||
else:
|
else:
|
||||||
msg = '{0:>7}'.format(self.auto_unit(i['used']))
|
msg = '{0:>7}'.format(self.auto_unit(i['used']))
|
||||||
ret.append(self.curse_add_line(msg, self.get_alert(i['used'], max=i['size'])))
|
ret.append(self.curse_add_line(msg, self.get_alert(i['used'],
|
||||||
|
max=i['size'],
|
||||||
|
header=i['mnt_point'])))
|
||||||
msg = '{0:>7}'.format(self.auto_unit(i['size']))
|
msg = '{0:>7}'.format(self.auto_unit(i['size']))
|
||||||
ret.append(self.curse_add_line(msg))
|
ret.append(self.curse_add_line(msg))
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
@ -32,6 +32,7 @@ from operator import itemgetter
|
|||||||
from glances.core.glances_globals import is_py3
|
from glances.core.glances_globals import is_py3
|
||||||
from glances.core.glances_logging import logger
|
from glances.core.glances_logging import logger
|
||||||
from glances.core.glances_logs import glances_logs
|
from glances.core.glances_logs import glances_logs
|
||||||
|
from glances.core.glances_actions import GlancesActions
|
||||||
|
|
||||||
|
|
||||||
class GlancesPlugin(object):
|
class GlancesPlugin(object):
|
||||||
@ -64,6 +65,9 @@ class GlancesPlugin(object):
|
|||||||
# Init the limits dictionnary
|
# Init the limits dictionnary
|
||||||
self.limits = dict()
|
self.limits = dict()
|
||||||
|
|
||||||
|
# Init the actions
|
||||||
|
self.actions = GlancesActions()
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
"""Return the raw stats."""
|
"""Return the raw stats."""
|
||||||
return self.stats
|
return self.stats
|
||||||
@ -263,6 +267,8 @@ class GlancesPlugin(object):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
self.limits[
|
self.limits[
|
||||||
self.plugin_name + '_' + s] = config.get_raw_option(self.plugin_name, s).split(",")
|
self.plugin_name + '_' + s] = config.get_raw_option(self.plugin_name, s).split(",")
|
||||||
|
logger.debug("Load limit: {0} = {1}".format(self.plugin_name + '_' + s,
|
||||||
|
self.limits[self.plugin_name + '_' + s]))
|
||||||
|
|
||||||
def set_limits(self, input_limits):
|
def set_limits(self, input_limits):
|
||||||
"""Set the limits to input_limits."""
|
"""Set the limits to input_limits."""
|
||||||
@ -299,31 +305,54 @@ class GlancesPlugin(object):
|
|||||||
# Manage limits
|
# Manage limits
|
||||||
ret = 'OK'
|
ret = 'OK'
|
||||||
try:
|
try:
|
||||||
if value > self.__get_limit_critical(header=header):
|
if value > self.__get_limit('critical', header=header):
|
||||||
ret = 'CRITICAL'
|
ret = 'CRITICAL'
|
||||||
elif value > self.__get_limit_warning(header=header):
|
elif value > self.__get_limit('warning', header=header):
|
||||||
ret = 'WARNING'
|
ret = 'WARNING'
|
||||||
elif value > self.__get_limit_careful(header=header):
|
elif value > self.__get_limit('careful', header=header):
|
||||||
ret = 'CAREFUL'
|
ret = 'CAREFUL'
|
||||||
elif current < min:
|
elif current < min:
|
||||||
ret = 'CAREFUL'
|
ret = 'CAREFUL'
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return 'DEFAULT'
|
return 'DEFAULT'
|
||||||
|
|
||||||
# Manage log (if needed)
|
# Get the stat_name = plugin_name (+ header)
|
||||||
|
if header == "":
|
||||||
|
stat_name = self.plugin_name
|
||||||
|
else:
|
||||||
|
stat_name = self.plugin_name + '_' + header
|
||||||
|
|
||||||
|
# Manage log
|
||||||
log_str = ""
|
log_str = ""
|
||||||
if log:
|
if log:
|
||||||
# Add _LOG to the return string
|
# Add _LOG to the return string
|
||||||
# So stats will be highlited with a specific color
|
# So stats will be highlited with a specific color
|
||||||
log_str = "_LOG"
|
log_str = "_LOG"
|
||||||
# Get the stat_name = plugin_name (+ header)
|
|
||||||
if header == "":
|
|
||||||
stat_name = self.plugin_name
|
|
||||||
else:
|
|
||||||
stat_name = self.plugin_name + '_' + header
|
|
||||||
# Add the log to the list
|
# Add the log to the list
|
||||||
glances_logs.add(ret, stat_name.upper(), value, [])
|
glances_logs.add(ret, stat_name.upper(), value, [])
|
||||||
|
|
||||||
|
# Manage action
|
||||||
|
# Here is a command line for the current trigger ?
|
||||||
|
try:
|
||||||
|
command = self.__get_limit_action(ret.lower(), header=header)
|
||||||
|
except KeyError:
|
||||||
|
# Reset the trigger
|
||||||
|
self.actions.set(stat_name, ret.lower())
|
||||||
|
else:
|
||||||
|
# A command line is available for the current alert, run it
|
||||||
|
# Build the {{mustache}} dictionnary
|
||||||
|
if type(self.stats) is list:
|
||||||
|
# If the stats are stored in a list of dict (fs plugin for exemple)
|
||||||
|
# Return the dict for the current header
|
||||||
|
try:
|
||||||
|
mustache_dict = (item for item in self.stats if item[self.get_key()] == header).next()
|
||||||
|
except StopIteration:
|
||||||
|
mustache_dict = {}
|
||||||
|
else:
|
||||||
|
# Use the stats dict
|
||||||
|
mustache_dict = self.stats
|
||||||
|
self.actions.run(stat_name, ret.lower(), command, mustache_dict=mustache_dict)
|
||||||
|
|
||||||
# Default is ok
|
# Default is ok
|
||||||
return ret + log_str
|
return ret + log_str
|
||||||
|
|
||||||
@ -331,23 +360,41 @@ class GlancesPlugin(object):
|
|||||||
"""Get the alert log."""
|
"""Get the alert log."""
|
||||||
return self.get_alert(current, min, max, header, log=True)
|
return self.get_alert(current, min, max, header, log=True)
|
||||||
|
|
||||||
def __get_limit_critical(self, header=""):
|
def __get_limit(self, criticity, header=""):
|
||||||
if header == "":
|
"""Return the limit value for the alert"""
|
||||||
return self.limits[self.plugin_name + '_' + 'critical']
|
prefix = self.plugin_name + '_'
|
||||||
else:
|
if header != "":
|
||||||
return self.limits[self.plugin_name + '_' + header + '_' + 'critical']
|
prefix += header + '_'
|
||||||
|
|
||||||
def __get_limit_warning(self, header=""):
|
# Get the limit for stat + header
|
||||||
if header == "":
|
# Exemple: network_wlan0_rx_careful
|
||||||
return self.limits[self.plugin_name + '_' + 'warning']
|
try:
|
||||||
else:
|
limit = self.limits[prefix + criticity]
|
||||||
return self.limits[self.plugin_name + '_' + header + '_' + 'warning']
|
except KeyError:
|
||||||
|
# Try fallback to plugin default limit
|
||||||
|
# Exemple: network_careful
|
||||||
|
limit = self.limits[self.plugin_name + '_' + criticity]
|
||||||
|
|
||||||
def __get_limit_careful(self, header=""):
|
# Return the limit
|
||||||
if header == "":
|
return limit
|
||||||
return self.limits[self.plugin_name + '_' + 'careful']
|
|
||||||
else:
|
def __get_limit_action(self, criticity, header=""):
|
||||||
return self.limits[self.plugin_name + '_' + header + '_' + 'careful']
|
"""Return the action for the alert"""
|
||||||
|
prefix = self.plugin_name + '_'
|
||||||
|
if header != "":
|
||||||
|
prefix += header + '_'
|
||||||
|
|
||||||
|
# Get the limit for stat + header
|
||||||
|
# Exemple: network_wlan0_rx_careful_action
|
||||||
|
try:
|
||||||
|
action = self.limits[prefix + criticity + '_action']
|
||||||
|
except KeyError:
|
||||||
|
# Try fallback to plugin default limit
|
||||||
|
# Exemple: network_careful_action
|
||||||
|
action = self.limits[self.plugin_name + '_' + criticity + '_action']
|
||||||
|
|
||||||
|
# Return the action list
|
||||||
|
return action
|
||||||
|
|
||||||
def get_conf_value(self, value, header="", plugin_name=None):
|
def get_conf_value(self, value, header="", plugin_name=None):
|
||||||
"""Return the configuration (header_)value for the current plugin (or the one given by the plugin_name var)"""
|
"""Return the configuration (header_)value for the current plugin (or the one given by the plugin_name var)"""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
@ -64,6 +64,10 @@ class Plugin(GlancesPlugin):
|
|||||||
# Init the stats
|
# Init the stats
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
|
def get_key(self):
|
||||||
|
"""Return the key of the list"""
|
||||||
|
return 'label'
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
"""Reset/init the stats."""
|
"""Reset/init the stats."""
|
||||||
self.stats = []
|
self.stats = []
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This file is part of Glances.
|
# This file is part of Glances.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
|
# Copyright (C) 2015 Nicolargo <nicolas@nicolargo.com>
|
||||||
#
|
#
|
||||||
# Glances is free software; you can redistribute it and/or modify
|
# Glances is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
3
setup.py
3
setup.py
@ -67,7 +67,8 @@ setup(
|
|||||||
'CHART': ['matplotlib'],
|
'CHART': ['matplotlib'],
|
||||||
'BROWSER': ['zeroconf>=0.16', 'netifaces'],
|
'BROWSER': ['zeroconf>=0.16', 'netifaces'],
|
||||||
'RAID': ['pymdstat'],
|
'RAID': ['pymdstat'],
|
||||||
'EXPORT': ['influxdb', 'statsd']
|
'EXPORT': ['influxdb', 'statsd'],
|
||||||
|
'ACTION': ['pystache']
|
||||||
},
|
},
|
||||||
packages=['glances'],
|
packages=['glances'],
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
|
Loading…
Reference in New Issue
Block a user