36 lines
882 B
Python
Executable File
36 lines
882 B
Python
Executable File
#!/usr/bin/python
|
|
|
|
import pymongo
|
|
import datetime
|
|
import time
|
|
import sys
|
|
|
|
from pymongo import MongoClient
|
|
from datetime import timedelta
|
|
|
|
if len(sys.argv) < 2:
|
|
print('Usage:\n\terrorstatistics instrument')
|
|
sys.exit()
|
|
|
|
inst = sys.argv[1]
|
|
|
|
mongodb = MongoClient('mongodb://logwriter:sinqsics@mpc1965:27017/?authSource=admin')
|
|
|
|
totime = datetime.datetime.today()
|
|
totime = datetime.datetime(totime.year,totime.month,totime.day)
|
|
fromtime = totime - timedelta(1)
|
|
|
|
messagedict = {}
|
|
db = mongodb[inst]
|
|
for entry in db.log.find({"timestamp" : {"$gt": time.mktime(fromtime.timetuple()),
|
|
"$lt" : time.mktime(totime.timetuple())} }):
|
|
mes = entry['message']
|
|
if messagedict.has_key(mes):
|
|
messagedict[mes] = messagedict[mes] + 1
|
|
else:
|
|
messagedict[mes] = 1
|
|
|
|
|
|
for mes in sorted(messagedict, key=messagedict.get):
|
|
print('%8d %s' %(messagedict[mes], mes ))
|