All pastes #179073 Raw Edit

Unnamed

public text v1 · immutable
#179073 ·published 2006-09-21 21:54 UTC
rendered paste body
#!/usr/bin/env python
"""Logger - logs results of fs size probes into a log file.

Format is:

Date | Probe | Alert Level
Message
"""

import time

# We need to specify thresholds - this basically sets the alert level.  The date and probe name and even the message will be the same.  However, the threshold will determine the severity.

# Silly Temp Values

filelist = ["ok", "hrm", "panic"]
silly = {'ok':60, 'hrm':600, 'panic':1100}

# Global Defines

TIMESTAMP = time.asctime(time.localtime())

# Let's set some threshold values:

BI_INFO = 500 * (1024*1024)
BI_WARN = 1000 * (1024*1024)

# Utility functions

def sizeCheck(f):
  #size = os.path.getsize(file)
  size = silly[f]
  if size < BI_INFO:
    return ("INFO", size)
  elif size < BI_WARN:
    return ("WARN", size)
  else: return ("CRIT", size)

def biProbe():
  PROBE = "Bi File Check"
  for f in filelist:
    LEVEL, size = sizeCheck(f)
    MESSAGE = "%s : %s bytes" %(f, size)
    print TIMESTAMP + " | " + PROBE + " | " + LEVEL
    print MESSAGE

biProbe()

---------------------

bash-3.1$ python logger
Thu Sep 21 22:54:39 2006 | Bi File Check | INFO
ok : 60 bytes
Thu Sep 21 22:54:39 2006 | Bi File Check | INFO
hrm : 600 bytes
Thu Sep 21 22:54:39 2006 | Bi File Check | INFO
panic : 1100 bytes


-----

Should give "WARN" and "CRIT" for the hrm and panic data.