#!/usr/bin/env python # Filename: load_watch.py # Description: emails me if load too high # Supported Langauge(s): Python 2.5.1 # -------------------------------------------------------- import commands import os import time import smtplib def main(): while(1): frequency = 60 * 10 # ten minutes warn_load = 6.0 loadcmd = 'cut -d " " -f1 /proc/loadavg' loadavg = float(commands.getoutput(loadcmd)) if loadavg > warn_load: send_warning(loadavg) time.sleep(frequency) print loadavg def send_warning(loadavg): """emails high load as subject""" print "warning" domain = 'domain.tld' smtpServer = 'mail.' + domain fromAddr = 'load_watch@mail.' + domain toAddr = 'me@' + domain msg = "" msg += "To: " + toAddr + "\n" msg += "From: " + fromAddr + "\n" msg += "Subject: " + 'Mail Load: %s' % loadavg msg += "\n\n" server = smtplib.SMTP(smtpServer) server.set_debuglevel(0) server.sendmail(fromAddr, toAddr, msg) if __name__=="__main__": main()
Thursday, October 18, 2007
load watch
If you want to keep your eye on a system and you don't even have cron you can keep this script running. It wakes up every 10 minutes and sends me an email if the load is more than six:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment