Skip to content

구글 Logger 와 슬랙 이용하기

Google Cloud Platform 에는 다양한 기능들이 있습니다.
그중에서도 오늘은 구글의 Stackdrive 안에 있는 Logger 와 Pub/Sub 그리고 Slack 을 연동하는 방법을 알아보도록 하겠습니다.

우선 이유부터 알아보겠습니다.

구글에서는 사용자들이 이용할 수 있는 여러 서비스들중에 Logger 라는것이 있습니다. 기본적으로는 인스턴스에서 API레벨에서 일어나는 이슈들 ( 시작,종료, 부팅 , 재부팅 등등..)이나 혹은 그 외의 다양한 GCP를 이용하는 중의 API레벨의 일들을 Logger 라는 곳을 통해서 정보를 제공해 줍니다.

%e1%84%89%e1%85%b3%e1%84%8f%e1%85%b3%e1%84%85%e1%85%b5%e1%86%ab%e1%84%89%e1%85%a3%e1%86%ba-2016-12-06-%e1%84%8b%e1%85%a9%e1%84%92%e1%85%ae-2-50-08

다양한 시스템 정보들을 제공하는데, 우리는 여기에 프로그램에서 직접 로그를 추가할 수 도 있습니다.
예를들면 뭔가 오류가 발생하였을때, 자세한 로그를 이곳에 저장하고 나중에 꺼내보는 방식으로 정보를 보관이 가능합니다.

그런데, 입력은 그렇다 치고, 출력은 어찌할까요? webhook 은 따로 지원하고 있지 않기 때문에 이 부분은 왼쪽의 ‘내보내기’ 를 이용하면 됩니다. 그곳에 보면 Pub/Sub을 이용할 수 있는데, 이는 로그가 발생하면 자동으로 publishh 를 하고, 프로그램에서 subscribe 를 하고 있다가 해당 이벤트가 발생하면 동작을 취하면 됩니다.

%e1%84%89%e1%85%b3%e1%84%8f%e1%85%b3%e1%84%85%e1%85%b5%e1%86%ab%e1%84%89%e1%85%a3%e1%86%ba-2016-12-06-%e1%84%8b%e1%85%a9%e1%84%92%e1%85%ae-3-05-59

자 , 다음 스텝은? 프로그램은 그 부분을 받아서 슬랙으로 바로 쏘면 되겠죠.

그러면 다음과 같이 정리됩니다.
서버에서 프로그램 오류 , 시스템 오류등의 이벤트 발생 -> Google Logger 저장 -> Pub/Sub이벤트 발생 -> 슬랙 전송

우선 인터넷에 잘 안나와 있는… Google Logger 와 Pub/Sub부분만 보도록 하겠습니다.( 슬랙관련은 인터넷에 많아요.)

우선 기본적으로 Node.js 와 구글 클라우드에 관한 지식이 약간 필요합니다. 이부분은 이번에는 패스..

코드를 보시면, 앞 부분에서 현재 사용중인 프로젝트명과, 키값. 만약에서 인스턴스에서 직접 관리하는거라면 저런거 필요없죠. 그냥 프로젝트명만 입력하면 됩니다.

로그를 남기려고 하는 내용을 entry 에 넣고,  현재 인스턴스에 관한 몇가지 정보를 metadata 에 넣습니다.
이부분은 자신이 원하는 형식으로 스스로 정하시면 됩니다. 딱히 정답은 없는듯 합니다.

다음 부분은 Subscribe 이벤트를 받아 오는 부분입니다.
중간의 if 문은 메세지의 등급에 따라 필터하는 부분입니다. 코드에서는 에러 이상일 경우에만 출력하도록 해놨습니다.

우리가 슬랙으로 받고자 하는 경우에는 출력이 아니라, 슬랙으로 보내는 코드를 따로 작성해야 합니다.

정말 간단히 코드를 작성해 봤는데, 다음에는 좀 더 다양한 기능들을 학습하고 다시 블로그에 올려봐야겠습니다.
지금 너무 바쁜데 잠시 짬낸거라..

update 1:
logger 가 되었던 stackdrive가 되었던, CPU / Memory / API호출에 관한 추가 정보를 제공해주면 좋겠다.
StackDrive에 있는 차트처럼 직접 그려보고 싶을때가 가끔 있는데, 그렇게 그려보면 괜찮을꺼 같아서..

Be First to Comment

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.