mirror of https://github.com/nicolargo/glances
Alert is working in v2
parent
471b04fe85
commit
43c9c805be
|
@ -1,14 +1,29 @@
|
|||
[cpu]
|
||||
# Default values if not defined: 50/70/90
|
||||
careful=50
|
||||
warning=70
|
||||
critical=90
|
||||
user_careful=50
|
||||
user_warning=70
|
||||
user_critical=90
|
||||
iowait_careful=50
|
||||
iowait_warning=70
|
||||
iowait_critical=90
|
||||
system_careful=50
|
||||
system_warning=70
|
||||
system_critical=90
|
||||
steal_careful=50
|
||||
steal_warning=70
|
||||
steal_critical=90
|
||||
|
||||
[percpu]
|
||||
# Default values if not defined: 50/70/90
|
||||
careful=50
|
||||
warning=70
|
||||
critical=90
|
||||
user_careful=50
|
||||
user_warning=70
|
||||
user_critical=90
|
||||
iowait_careful=50
|
||||
iowait_warning=70
|
||||
iowait_critical=90
|
||||
system_careful=50
|
||||
system_warning=70
|
||||
system_critical=90
|
||||
|
||||
[load]
|
||||
# Value * number of cores
|
||||
|
|
|
@ -1,14 +1,29 @@
|
|||
[cpu]
|
||||
# Default values if not defined: 50/70/90
|
||||
careful=50
|
||||
warning=70
|
||||
critical=90
|
||||
user_careful=50
|
||||
user_warning=70
|
||||
user_critical=90
|
||||
iowait_careful=50
|
||||
iowait_warning=70
|
||||
iowait_critical=90
|
||||
system_careful=50
|
||||
system_warning=70
|
||||
system_critical=90
|
||||
steal_careful=50
|
||||
steal_warning=70
|
||||
steal_critical=90
|
||||
|
||||
[percpu]
|
||||
# Default values if not defined: 50/70/90
|
||||
careful=50
|
||||
warning=70
|
||||
critical=90
|
||||
user_careful=50
|
||||
user_warning=70
|
||||
user_critical=90
|
||||
iowait_careful=50
|
||||
iowait_warning=70
|
||||
iowait_critical=90
|
||||
system_careful=50
|
||||
system_warning=70
|
||||
system_critical=90
|
||||
|
||||
[load]
|
||||
# Value * number of cores
|
||||
|
|
|
@ -71,9 +71,11 @@ class glancesLogs:
|
|||
An item exist in the list if:
|
||||
* end is < 0
|
||||
* item_type is matching
|
||||
Return the item position if exist
|
||||
-1 if the item is not found
|
||||
"""
|
||||
for i in range(self.len()):
|
||||
if self.logs_list[i][1] < 0 and self.logs_list[i][3] == item_type:
|
||||
if ((self.logs_list[i][1] < 0) and (self.logs_list[i][3] == item_type)):
|
||||
return i
|
||||
return -1
|
||||
|
||||
|
@ -117,8 +119,7 @@ class glancesLogs:
|
|||
item = []
|
||||
# START DATE
|
||||
item.append(time.mktime(datetime.now().timetuple()))
|
||||
# END DATE
|
||||
item.append(-1)
|
||||
item.append(-1) # END DATE
|
||||
item.append(item_state) # STATE: WARNING|CRITICAL
|
||||
item.append(item_type) # TYPE: CPU, LOAD, MEM...
|
||||
item.append(item_value) # MAX
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
# 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/>.
|
||||
|
||||
# Import system lib
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
# Import Glances lib
|
||||
from glances_plugin import GlancesPlugin
|
||||
from glances.core.glances_globals import glances_logs
|
||||
|
@ -62,10 +65,51 @@ class Plugin(GlancesPlugin):
|
|||
# Build the string message
|
||||
# Header
|
||||
if (self.stats == []):
|
||||
msg = "{0:8}".format(_("No alert detected"))
|
||||
msg = "{0}".format(_("No warning or critical alert detected"))
|
||||
ret.append(self.curse_add_line(msg, "TITLE"))
|
||||
else:
|
||||
msg = "{0:8}".format(_("ALERT"))
|
||||
# Header
|
||||
msg = "{0}".format(_("Warning or critical alerts"))
|
||||
ret.append(self.curse_add_line(msg, "TITLE"))
|
||||
logs_len = glances_logs.len()
|
||||
if (logs_len > 1):
|
||||
msg = " {0}".format(_("(lasts %s entries)") % logs_len)
|
||||
else:
|
||||
msg = " {0}".format(_("(one entry)"))
|
||||
ret.append(self.curse_add_line(msg, "TITLE"))
|
||||
# Loop over alerts
|
||||
for alert in glances_logs.get():
|
||||
# New line
|
||||
ret.append(self.curse_new_line())
|
||||
# Start
|
||||
msg = "{0}".format(datetime.fromtimestamp(alert[0]))
|
||||
ret.append(self.curse_add_line(msg))
|
||||
# Duration
|
||||
if (alert[1] > 0):
|
||||
# If finished display duration
|
||||
msg = " ({0})".format(datetime.fromtimestamp(alert[1]) - datetime.fromtimestamp(alert[0]))
|
||||
else:
|
||||
msg = _(" (ongoing)")
|
||||
ret.append(self.curse_add_line(msg))
|
||||
ret.append(self.curse_add_line(" - "))
|
||||
# Infos
|
||||
if (alert[1] > 0):
|
||||
# If finished do not display status
|
||||
msg = "{0} {1} {2}".format(alert[2], _("on"), alert[3])
|
||||
ret.append(self.curse_add_line(msg))
|
||||
else:
|
||||
msg = "{0}".format(alert[3])
|
||||
ret.append(self.curse_add_line(msg, decoration=alert[2]))
|
||||
# Min / Mean / Max
|
||||
msg = " ({0:2}/{1:2}/{2:2})".format(alert[6], alert[5], alert[4])
|
||||
ret.append(self.curse_add_line(msg))
|
||||
|
||||
# else:
|
||||
# msg = " {0}".format(_("Running..."))
|
||||
# ret.append(self.curse_add_line(msg))
|
||||
|
||||
# !!! Debug only
|
||||
# msg = " | {0}".format(alert)
|
||||
# ret.append(self.curse_add_line(msg))
|
||||
|
||||
return ret
|
||||
|
|
|
@ -146,7 +146,8 @@ class Plugin(GlancesPlugin):
|
|||
msg = " {0:8}".format(_("steal:"))
|
||||
ret.append(self.curse_add_line(msg, optional=True))
|
||||
msg = "{0}".format(format(self.stats['steal'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(self.stats['steal']), optional=True))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert(self.stats['steal'], header="steal"), optional=True))
|
||||
# New line
|
||||
ret.append(self.curse_new_line())
|
||||
# User CPU
|
||||
|
@ -154,13 +155,15 @@ class Plugin(GlancesPlugin):
|
|||
msg = "{0:8}".format(_("user:"))
|
||||
ret.append(self.curse_add_line(msg))
|
||||
msg = "{0}".format(format(self.stats['user'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert_log(self.stats['user'])))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert_log(self.stats['user'], header="user")))
|
||||
# IOWait CPU
|
||||
if ('iowait' in self.stats):
|
||||
msg = " {0:8}".format(_("iowait:"))
|
||||
ret.append(self.curse_add_line(msg))
|
||||
msg = "{0}".format(format(self.stats['iowait'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert_log(self.stats['iowait']), optional=True))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert_log(self.stats['iowait'], header="iowait"), optional=True))
|
||||
# New line
|
||||
ret.append(self.curse_new_line())
|
||||
# System CPU
|
||||
|
@ -168,7 +171,8 @@ class Plugin(GlancesPlugin):
|
|||
msg = "{0:8}".format(_("system:"))
|
||||
ret.append(self.curse_add_line(msg))
|
||||
msg = "{0}".format(format(self.stats['system'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert_log(self.stats['system'])))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert_log(self.stats['system'], header="system")))
|
||||
# IRQ CPU
|
||||
if ('irq' in self.stats):
|
||||
msg = " {0:7} {1}".format(
|
||||
|
|
|
@ -141,7 +141,7 @@ class Plugin(GlancesPlugin):
|
|||
ret.append(self.curse_add_line(msg))
|
||||
for cpu in self.stats:
|
||||
msg = " {0}".format(format(cpu['user'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['user'])))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['user'], header="user")))
|
||||
|
||||
# System CPU
|
||||
if ('user' in self.stats[0]):
|
||||
|
@ -151,7 +151,7 @@ class Plugin(GlancesPlugin):
|
|||
ret.append(self.curse_add_line(msg))
|
||||
for cpu in self.stats:
|
||||
msg = " {0}".format(format(cpu['system'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['system'])))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['system'], header="system")))
|
||||
|
||||
# IoWait CPU
|
||||
if ('user' in self.stats[0]):
|
||||
|
@ -161,7 +161,7 @@ class Plugin(GlancesPlugin):
|
|||
ret.append(self.curse_add_line(msg))
|
||||
for cpu in self.stats:
|
||||
msg = " {0}".format(format(cpu['iowait'] / 100, '>6.1%'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['iowait'])))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(cpu['iowait'], header="iowait")))
|
||||
|
||||
# Return the message with decoration
|
||||
return ret
|
||||
|
|
|
@ -103,10 +103,12 @@ class Plugin(GlancesPlugin):
|
|||
ret.append(self.curse_add_line(msg))
|
||||
# CPU
|
||||
msg = "{0:>6}".format(format(p['cpu_percent'], '>5.1f'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(p['cpu_percent'], header="cpu")))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert(p['cpu_percent'], header="cpu")))
|
||||
# MEM
|
||||
msg = "{0:>6}".format(format(p['memory_percent'], '>5.1f'))
|
||||
ret.append(self.curse_add_line(msg, self.get_alert(p['memory_percent'], header="mem")))
|
||||
ret.append(self.curse_add_line(msg,
|
||||
self.get_alert(p['memory_percent'], header="mem")))
|
||||
# VMS
|
||||
msg = "{0:>6}".format(self.auto_unit(p['memory_info'][1], low_precision=False))
|
||||
ret.append(self.curse_add_line(msg, optional=True))
|
||||
|
|
Loading…
Reference in New Issue