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)
|