| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- import subprocess
 
- import json
 
- import sys
 
- import io
 
- import dataset
 
- def proc_l(l):
 
-     return l.replace('\n','').strip()
 
- db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
 
- table=db['aws_monitor']
 
- arealist=['ap-northeast-1','ap-northeast-2','ap-southeast-1','us-east-1','eu-west-1','us-east-1','us-west-2']
 
- for area in arealist:
 
- #area='us-east-1'
 
-     cmd='aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances --max-results 20 --region '+area
 
-     cmds=cmd.split(' ')
 
-     cl=subprocess.Popen(cmds, stdout=subprocess.PIPE)
 
-     lst=[]
 
-     js="{"
 
-     for l in io.TextIOWrapper(cl.stdout, encoding="utf-8"):
 
-         if '"EventId":' in l:
 
-             js+=proc_l(l)
 
-             lst.append(proc_l(l))
 
-         if '"EventTime":' in l:
 
-             l2=proc_l(l)
 
-             list1 = list(l2)
 
-             list1[12]='"'
 
-             l2 = ''.join(list1)
 
-             l2=l2.replace(',','')
 
-             l2+='"'
 
-             js+=l2
 
-             js+="}"
 
-             print(js)
 
-             js2=json.loads(js)
 
-             js2['area']=area
 
-             print(js2)
 
-             try:
 
-                 table.insert(js2)
 
-             except:
 
-                 print('exception')
 
-             js="{"
 
-         if '"AccessKeyId":' in l:
 
-             js+=proc_l(l)
 
-         
 
-             lst.append(proc_l(l))
 
-         if '"EventName":' in l:
 
-             js+=proc_l(l)
 
-             lst.append(proc_l(l))
 
- #lines = cl.stdout.readlines()
 
- #clstr=str(cl)
 
- #lines=clstr.split('\n')
 
- #print(lst)
 
- #        print(l)
 
- #        sys.exit()
 
- #js=json.loads(str(cl))
 
- #print(js)
 
 
  |