좋은 프로그램은 마음의 여유에서 나온다.

scribe 예제 따라하기 본문

클라우드,빅데이터/Scribe

scribe 예제 따라하기

좋은데이 2012. 8. 29. 15:11

페이스북 예제 따라하기


https://github.com/facebook/scribe/tree/master/examples


Example1. 로컬에서 로컬에 로그 남기기


/tmp/scribetest 디렉토리를 만든다


$ mkdir /tmp/scribetest


example1.conf파일을 매개변수로 스크라이브를 실행한다.


scribed 스크라이브소스폴더/examples/example1.conf


"Starting scribe server on port 1463" 

이런 메시지와 함께 스크라이브 서버가 시작됨


다른 터미널을 열어 접속한 후


스크라이브소스디렉토리 밑의 examples로 이동한다


cd examples


스크라이브서버로 로그를 남긴다 카테고리는 test가 되고 로그 내용은 hello world임


echo "hello world" | ./scribe_cat test


스크라이브 서버를 실행한 터미널에 오픈한 파일명과 기록한 로그들이 나온다

vim 을 이용해 로그파일을 열어서 제대로 기록 되었나 확인한다


vim /tmp/scribetest/test/test_00000

hello world가 보일 것이다.


중간에 로그를 남길때 파이썬 라이브러리들을 설치하지 않아 import thrift.Thrift 에러가 나는 경우가 있음

이 경우

thrift, fb303, scribe 소스파일에서

lib/py 디렉토리에서 sudo python setup.py install을 해주면 파이썬 라이브러리들이 설치가 됨 fb303은 소스 밑에 바로 py디렉토리에 있음


Example2. 로컬에서 네트워크로(원격 서버) 로그 남기기


페이스북 예제에서는 1대의 머신에서 1463번 포트가 원격서버 1464번포트가 로컬인 것 처럼 구성하였음


vim examples/example2central.conf 파일을 열어 자신에 맡게 설정을 수정함

맨 아래 store가 default 카테고리일 경우 설정이고 buffer로 구성되어 primary는 파일에 정하고 flie_name를 설정해 줌

secondary도 저장될 file_name를 설정해줌

빠져나와서 아까와 마찬가지로 스크라이브를 실행함


scribed -c examples/example2central.conf


다른 터미널로 들어가서 클라이언트 환경설정을 변경함


vim examples/example2client.conf

포트등 설정이 있고 마찬가지로 buffer로 설정되어 primary는 원격 서버로 되어있고(예제에서는 localhost의 1463포트) secondary는 파일에 저장하게 되어있음 file_name를 수정해줌


마찬가지로 scribed -c examples/example2client.conf를 실행함


또 다른 터미널로 들어가서 이제 로컬(1464포트)로 로그를 날리면 example2central.conf에 설정한 파일에 로그가 기록되는지 확인함



Example3. 로컬에서 네트워크로(원격 서버) 로그 남기기


example2의 상태에서 원격 서버 역할을 하는 터미널에서 콘트롤 + c로 스크라이브를 죽인 후 다른 터미널에서 로그를 남기면 클라이언트 스크라이브는 전송을 할 수 없다고 하면서 재시도 sec가 나오며 재시도를 함. 여러 메시지를 날려본 후 다시 원격 서버를 키면 한번에 로그가 기록되게 됨

'클라우드,빅데이터 > Scribe' 카테고리의 다른 글

tail을 이용한 로그 수집  (0) 2012.09.11
scribe 설치  (0) 2012.08.28
Comments