세로형
Recent Posts
Recent Comments
Link
04-27 09:23
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

ELK 스택 설치 - logstash(로그스태시) 설치 및 장고(django) 연동 본문

빅데이터

ELK 스택 설치 - logstash(로그스태시) 설치 및 장고(django) 연동

이수진의 블로그 2018. 11. 14. 09:43

지난 포스팅에서 빅데이터 도구인 ELK 스택 설치 부분에서 엘라스틱 서치 설치를 진행했고 키바나(kibana)를 설치해서 엘라스틱 서치와 연동했습니다.

https://lsjsj92.tistory.com/398

https://lsjsj92.tistory.com/396

을 참고하시면 되겠습니다.

396이 엘라스틱 서치, 398은 키바나설치 및 엘라스틱 연동입니다.


이번 포스팅에서는 로그스태시(logstash)를 설치하고 엘라스틱 서치와 연동하겠습니다. 엘라스틱 서치와 연동하면 자동으로 키바나와 연동이 됩니다. 왜냐하면 이미 kibana랑 elasticsearch와 연동이 되어 있기 때문입니다.


그리고 파이썬 웹 프레임워크인 Django와 연동해서 화면에 띄어보겠습니다.


https://www.elastic.co/kr/downloads/logstash

사이트에 들어가시면 logstash 최신 버전을 볼 수 있습니다.

저는 우분투 환경이기 때문에 deb를 wget으로 받아왔습니다.



최신버전으로 그냥 받았는데요 제가 받았을 때는 6.4.3이었네요



그리고 받은 로그스태시 파일을 압축해제 합니다

그리고 같은 디렉토리에 저는 logstash.conf 파일을 하나 만들었습니다

원래 있는게 아니라 새로 만듭니다.


이렇게 만들어서



일단 이렇게만 합니다.

input은 log로 들어오는 입력값이고 output은 말그대로 출력에 대한 설정입니다



그리고 나서 sudo /usr/share/logstash/bin/logstash -f ./logstash.conf

를 치면! 로그스태시가 시작됩니다~

여기까지 잘 되셨으면 일단 설치는 완료되었습니다

이제 파이썬 django와 연동해보죠~



먼저 python-logstash를 설치합니다.

이것에 대한 설명은 https://pypi.org/project/python-logstash/ 를 참고하세요~

파이썬과 로그스태시를 연동해주는 것입니다.


그리고 장고와 엘라스틱서치를 연동시켜야겠죠?

https://github.com/sabricot/django-elasticsearch-dsl

이런것이 있습니다.



저는 엘라스틱 서치 최신버전이기 때문에

pip install django-elasticsearch-dsl을 이용해서 그냥 설치했습니다.

만약 버전을 맞추고 싶으시면 위 사진처럼 하시면 되겠습니다.



잘 설치가 됩니다~

이제 본인이 가지고 있는 장고에 들어갑니다

장고 설치나 이런거는.. 따로 포스팅은 못하겠네요

이미 알려져 있는게 많으니 설치하시면 되겠습니다


이제 장고 메인 프로젝트 앱에 들어가면 setting.py 가 있는데 얘를 설정합니다.



installed_apps에서 django_elasticsearch_dsl을 추가합니다.

그리고 elasticsearch_dsl 설정을 하나 추가합니다.

엘라스틱 서치가 설치된 host를 추가하면 됩니다.

저는 엘라스틱서치와 로그스태시, 키바나가 다른 분산된 서버에 설치되어 있기 때문에 ip를 적어주었습니다



그리고 밑에 위 사진처럼 설정을 하나 더 추가합니다.

이 설정에 대한 내용은 logging에 대한 내용입니다.

자세한것은 저도 잘 모르겠네요

따로 공부를 해야겠습니다. 일단은 연동이 먼저이기 때문에!

그냥 눈에 보이는 logstash의 설정을 해줍니다.

로그스태시도 마찬가지로 다른 분산 pc에 설치 되어 있기 때문에 ip를 적어줍니다.


그 다음 아까 logstash.conf를 다시설정합니다.



input을 tcp port 5959로 받고

output을 엘라스틱 서치에 설정합니다.



그리고 다시 실행!



하니까 

warning could not find logstash.yml which is typically located in $ls_home/config or /etc/logstash

뭐 무슨 이런 에러가 뜨네요

이런 에러는



sudo를 붙여서 해주시면 간단하게 해결됩니다..



잘 실행이 되네요

그럼 제 장고 웹 페이지에 먼저 들어가보겠습니다



이렇게 들어왔습니다.

간단한 웹 페이지에요

그 다음 kibana에서 엘라스틱서치에 데이터가 들어왔는지 확인해봅니다



저기 밑에 뭔가 생겼네요!



얘를 index에 설정하고



timestamp로 설정!



이렇게 설정이 되면


discover에 가보면 이렇게 django 관련된 로그가 찍히는것을 볼 수 있습니다!

이제 이걸 빅데이터 로그로써 어떻게 활용해야하나... 고민해봐야겠네요



반응형
그리드형
Comments