File: //lib/python2.7/site-packages/lap/check_log.py
import subprocess
def tail(file, lines):
command = "tail -n {0} {1}".format(lines, file)
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = process.communicate()
return(output)
def __run__(params):
repet = params.get("repeat", 20)
lines = params.get("lastlines", 10000)
files = params.get("files", False)
search = params.get("search", False)
witherrors = []
if not (files or not search):
return([1, "Arquivos e/ou Path e/ou Mensagem ausentes do YAML"])
try:
for file in files.split(","):
log = tail(file, lines)
count = [line for line in log.split("\n") if search in line]
if len(count) >= repet:
witherrors.append("%s=%s" % (file.split("/")[-1], len(count)))
if witherrors:
return([2, witherrors])
else:
return([0, "OK"])
except IOError:
return([2, "Arquivo informado inexistente no filesystem"])
except Exception, err:
return([2, err])