6주 동안 실전 프로젝트를 진행하면서 학습한 내용을 기록하고, 팀의 리더로서 프로젝트 매니징 경험을 기록하는 시리즈입니다.
Q1. 로그스태시 모니터링에 관한 질문
로그스태시에 데이터가 잘 들어갔는지 모니터링 할 수 있는 방법이 있을까요? ETL을 어디까지 수행한 건지, 가져오면서 오류는 없었는지 등을 자동적으로 확인할 수 있는 방법이 있을지 궁금합니다.
A1. 로그스태시는 모니터링 관련해서 따로 매니징할 수 있는 부분이 부족합니다.
방법 1) 직접 서버를 확인하기. ps -ef | grep logstash
방법 2) ETL 프로세스 현황은 로그스태시 로그를 볼 수밖에 없다. 로그스태시 실행될 때 나오는 로그를 특정한 곳으로 보내서 로그 파일을 확인하기.
방법 3) crontab JOB으로 등록해서 정상 실행이 됐는지 안 됐는지 확인하기.
방법 4) shell script를 짜고, code가 1이나 0으로 떨어지는 지를 통해 logstash으 정상 종료를 확인하기.
Q2. 사용자 정의 사전, 동의어 사전에 관한 질문
실 서비스에서는 수십 만 건 이상의 단어를 모아 사용자 정의 사전, 동의어 사전 등을 만드는 것 같은데 특허 서비스에서는 쉽지 않은 것 같습니다. 특허 데이터 자체에 어떤 전문적인 단어가 있는지 일일이 살펴 보지 않으면 알 수가 없는데 키프리스는 어떻게 개발되었는지 궁금합니다.
A2. 사전 등록은 반은 로봇이 만들고, 반은 사람이 만듭니다. 머신러닝을 돌려야 하는데 사실 시간상 불가능합니다. 사전을 등록해서 운영해 본 경험을 쌓는 것만으로도 충분할 것 같습니다.
Q3. 테스트 코드에 관한 질문
테스트코드가 여러 모로 유용하다는 것을 알지만, 하루하루 시스템 관련 오류를 잡아내기 바빠서 테스트코드는 작성하지 못하고 있습니다. 지금부터라도 코드 작성법을 배우고 적용해야 할 지, 우선 프로젝트 완성도 높이는 일에 집중하는 게 나을지 궁금합니다.
A3. 하면 좋지만 프로젝트의 완성이 더 중요하기 때문에 이번에는 빼는 것이 좋을 것 같습니다.
Q4. 서버 운영에 관한 질문
국내용 데이터는 100만 건씩 각자 로컬에서 모아서 500만 건을 모았는데, 해외용 데이터 7500만 건을 이런 방식으로 모으는 건 비효율적이라 생각했습니다. 그래서 해외용 데이터는 ec2에서 바로 받을 수 있도록 코드를 구현했고, 이렇게 데이터를 수집하고 로그스태시를 돌리는 용도로 서버를 새로 파려고 합니다. 서버를 하나 더 파서 나누는 게 괜찮은 방법이 맞을까요?
A4. 생각하신 방향으로 진행하셔도 나쁘지 않을 것 같습니다.
아하~!
모먼트가 짜릿하고 재밌는 것 같다.🤭