提交 43c9c805 编写于 作者: N Nicolas Hennion

Alert is working in v2

上级 471b04fe
[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
......
[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))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册