Gaia - AWS log finder

Version 2.0.0.

Config

gaia_conf.json

./gaia_conf.json 파일은 S3 Bucket Path를 저장하는데 사용됩니다. json 형태의 key, value 값을 통해서 관리되는데 저장되는 값은 bucket name과 folder의 경로들이 저장됩니다.

gaia_conf.json파일은

{
  "BUCKET_PATH":{
    "Bucket_Name" : {
        "folder1" : "S3/path/<YY>/<MM>/<DD>/<HH>/<MI>/<SC>",
        "folder2" : "S32/path2"
    }
  }
}

처럼 사용합니다.

Bucket Name은 gaia에서 key값으로 이용되므로 실제 S3에 생성되어있는 Bucket Name과 같아야합니다. 하지만 folder의 경우 key에 대응되는 value가 이용되기 때문에 키의 명명은 자유롭습니다. 또한 gaia는 S3 Bucket Path가 날짜 단위로 나뉘어져 있는 경우에도 문제 없이 대응합니다. 예를 들어 실제 경로가 log/path/<년>/<월>/<일>/ 로 날짜마다 가변적으로 대응되어야 한다면 위의 예시와 같이 <> 를 사용하여 대응할 수 있습니다.

Command

gen

gen 명령어는 2가지 역할을 합니다.

  • 첫째로, gaia_conf.json 이 존재하지 않을 경우 이를 생성합니다.
  • 둘째로, bucket name과 path 값을 추가할 수 있습니다.

물론 gen 명령어는 둘 중의 한가지 기능만 필요할 경우에도 지원합니다. 전자의 경우 argument를 입력하지 않아도 됩니다.

find

gaia_conf.json 파일에서 지정된 설정 값을 이용해서 로그를 검색하는 명령어 입니다. bucket name과 folder, keyword를 argument 로 time을 option 으로 받은 후 명령어를 실행합니다. time value는 iso 8601 표준을 따르는 UTC 변수만을 지원합니다. 해당 변수는 Bucket Path에 존재하는 날짜 경로에 대응하기 위해 이용되며, 자릿값을 맞추기 위해 한 자릿수 일 경우 앞에 0을 붙여 표현합니다.

keyword에 매치되는 로그가 있다면 해당 로그를 반환하지만 없다면 keyword does not exist 를 반환합니다.