From the below logs in JSON, I need to parse log lines of "domains" which have "ADMIN_DOWN" status and it didn't change or changed to "ONLINE" from 7 days.
Example:
Last line from logs shared below:
{user=abc,”lastUpdated":"2017-10-15 12:16:40.655569+00","id”:3201,”message”:”sub1.a1.com" new status = ADMIN_DOWN [asda:sdadada]”},
I have to get all log lines which have "ADMIN_DOWN" from past 7 days and same domains have no logs generated with "ONLINE" later.
There is also a "id" which is always incrementing with time. Not sure if need to use it.
I started with the below code but not sure how to compare these log timestamps with past 7 days with current date. I just added a comment in second last line of code but need to add logic instead.
I am thinking if I can convert both timers (current and log timers) to convert in epoch. How to proceed to with code now.
I will appreciate any help.
#!/usr/bin/python
import json
with open('file.json') as data_file:
data = json.load(data_file)
for i in data[‘dump’]:
if 'ADMIN_DOWN' in i['message'] and <older than 7 days from current timestamp with same hostname>:
print “those log line”
Logs:
{“dump”:[
{ user=abc,”lastUpdated":"2017-10-24 12:16:40.655569+00","id”:4354,”message”:”sub1.google.com new status = ONLINE [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-23 14:16:40.655569+00","id”:4200,”message”:”sub1.adsense.com new status = ADMIN_DOWN [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-23 12:16:40.655569+00","id”:4155,”message”:”sub1.a1.com new status = ONLINE [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-22 16:16:40.655569+00","id”:4110,”message”:”sub1.b1.com new status = ADMIN_DOWN [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-18 12:16:40.655569+00","id”:3599,”message”:”sub1.google.com new status = ONLINE [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-15 13:16:40.655569+00","id”:3598,”message”:”sub1.bbc.com new status = ADMIN_DOWN [asda:sdadada]”},
{ user=abc,”lastUpdated":"2017-10-24 12:16:40.655569+00","id”:3555,”message”:”sub1.b1.com new status = ONLINE [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-23 11:16:40.655569+00","id”:3544,”message”:”sub1.d1.com new status = ADMIN_DOWN [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-23 12:16:40.655569+00","id”:3414,”message”:”sub1.c1.com new status = ADMIN_DOWN [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-22 09:16:40.655569+00","id”:3311,”message”:”sub1.google.com new status = ONLINE [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-18 12:16:40.655569+00","id”:3303,”message”:”sub1.b1.com new status = ADMIN_DOWN [asda:sdadada]”},
{user=abc,”lastUpdated":"2017-10-15 12:16:40.655569+00","id”:3201,”message”:”sub1.a1.com new status = ADMIN_DOWN [asda:sdadada]”},
]}
No responses yet.