나는 여기 뉴비 (newbee)이고 영어 불쌍한 영어를 기쁘게 해드 리고있다.aws EC2 서버를 테스트하고 있습니다. 나는 cloudWatch를 구성했다. 파이썬 boto에서 get_log_events를, aws cli에서 get-log-events 명령으로 그렇게 할 수 있음을 알고있다. 그러나 이것들은 부분적으로 만 로그 이벤트를 얻을 수 있습니다 (3 ~ 4 일만). 모든 이벤트를 프로그래밍 방식으로 가져 오려고합니다. 나는 며칠 동안 수색했지만 나는 할 수 없다. 도와주세요. 미리 감사드립니다.cloudWatch에서 모든 일정을 가져 오는 방법은 무엇입니까?
fyi, 내 파이썬 boto3 코드를 보여 드리겠습니다.
enter code here
logs = boto3.client('logs', 'ap-northeast-2')
for a1 in logs.describe_log_groups()['logGroups']:
a1name = a1['logGroupName']
for a2 in logs.describe_log_streams(logGroupName=a1name)['logStreams']:
a2name = a2['logStreamName']
for a3 in logs.get_log_events(logGroupName=a1name, logStreamName=a2name)['events']:
lmf = str.split(str(a3['message']), ' ') # log message field
print a1name, a2name, lmf[0], lmf[1], lmf[2], lmf[3], lmf[4], lmf[5], lmf[6], lmf[7], lmf[8], lmf[9], lmf[10], lmf[11], lmf[12]
감사합니다. 그러나, 나는 또한 당신이 나에게 준 링크를 보았다. 토큰을 사용하여 전체 로그를 얻는 방법을 모르겠습니다. 토큰은 어디에 있습니까? 어떻게 만들거나 시작할 수 있습니까? 너 나 좀 도와 줄 수있어? – bsofte
logs.get_log_events (logGroupName = a1name, logStreamName = a2name)에서 a3을 반복하는 방법으로 토큰을 삭제합니다. [ 'events']'... '전체 응답을 캡처하여 검사해야합니다. get_log_events()', 실제 이벤트의 배열뿐만 아니라. –
죄송합니다. 의견에 늦었습니다. 당신 덕분에, 나는 길을 발견했습니다. get_log_events의 첫 번째 결과에서 nextBackWardToken 또는 nextForWardToken 정보에 따라 'get_log_events'메소드를 반복해서 실행해야했습니다. 수정 된 코드를 게시하고 싶지만 댓글에서 수정할 수는 없습니다. 마이클 감사합니다! – bsofte