본문 바로가기

Programing/Scripts

[Google 스프레드시트] AWS 로그 찾기

올해 초와 작년 두 해에 걸친 로그를 찾아야 했다.
배치 작업이 돌았는지, 또한 제대로 돌았는지를 확인해야 할 일이 생겼기 때문이다.

대상은 DB에서 쿼리를 통해 뽑으면 되는데, 문제는 수행된 결과는 AWS CloudWatch에 적재되어 있었다.
보안상 AWS CLI가 막혀서 API를 통한 방법은 할 수 없었다.

결국 AWS Console에서 로그를 찾아야 했는데, 페이징을 수행하기 때문에 뭔가 찾는 작업이 더뎠다.

구글 스프레드 시트에 DB에서 뽑은 key는 찾았는데, 그 key가 특정 로그에 있는지 찾는 것은 어려웠다.
처음에는 검색 시간으로 바이너리서치를 통해 날짜를 점점 줄여서 했지만 이것도 날짜마다 마지막 결과가 어디에 있는지 알 수 없었다.

결국 나중에 쓴 방식은 날짜와 키를 기반으로 로그 링크를 찾는 하이퍼텍스트를 만드는 것이다.

사용한 함수들

CONCATENATE

셀에 있는 문자열을 합치기 위해 사용했다. 사용방법은 간단하다.
=TEXTCONCATENATE("문자열", " 혹은 ", C1, " <= 셀 참조")

TEXT

HYPERLINK

위에서 만든 문자열을 하나의 링크로 만들기 위해 사용한다.
결국 아래와 유사한 형태로 만들어졌다.
=HYPERLINK(CONCATENATE("https://ap-northeast-2.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-2#logEventViewer:group=/aws/elasticbeanstalk/my-api-live/var/log/php_file_logs;filter=", C68,";start=", TEXT(A68, "yyyy-mm-dd"),"T23:20:00Z;end=", TEXT(A68, "yyyy-mm-dd"),"T23:59:00Z"), Text(A68, "yyyy-mm-dd"))