꼬반 Blog

Nginx, GeoIP, Grok Pattern, InfluxDB, Telegraf, WroldMap, Grafana 연동 삽질기

각 서비스의 접속 지역을 확인하기 위해 Nginx 를 1.13.3 으로 소스 재컴파일을 하였고 GeoIP Module 을 설치하였으며 (이와중에 dependancy 로 설치된 nginx 때문에 소스 컴파일 한 nginx 가 영향을 받아 스크립트가 정상동작 하지 않는 부분이 발생.. 하여 system service daemon 을 수정하여 정상 동작 확보 - bin 파일을 rpm 의 nginx 가 아닌 source build 된 nginx 로 실행 위치 변경) 이후 grafana 에 world map plugin 을 설치하고 지도에 표시하느라 쿼리와 telegraf, influxdb 에 nginx log 넣느라 삽질 삽질 하다가 어 됬다! 하고 좋아했다. (지난번 포스트) 그런데 몇일 후 보니.. 다시 정..

Read More

[쇼핑몰] 쇼핑몰 제작 중 삽질기

오늘 오랜만에 시간을 내서 쇼핑몰을 코딩하고 있었다. 근데.. 음? 뭐지 로그인/로그아웃이 정상적으로 동작하지 않았다. 어라.. 이럴리가 없는데.. 초기 개발당시보다 너무 nodejs 버전이 올라가서 그런가? nginx 문제? 아니면 다른 모듈 버전이 낮아서 그런가? api가 변경됬나? 열나게 찾아봤다. 근데.. 그런거 없음! 헐. 뭐지. 하다가 크롬 앱인 postman으로 기능을 테스트 해보니 정상적으로 동작 하는걸 확인. 즉 이건 브라우저에서만 쿠키가 생성/삭제가 안되는 문제였는데. 원인을 찾아 해메다가 발견했다. 쩝. 내가 도메인을 기존엔 jarambebe.com 을 사용하고 있다가 신규로 jaram.kr 을 구매하면서 소스상에서 일부만 이 링크가 수정되고 몇몇 수정되지 않은 부분들이 있어서 정상적..

Read More

Nginx, GeoIP, Grok Pattern, InfluxDB, Telegraf, WroldMap, Grafana 연동 삽질기

각 서비스의 접속 지역을 확인하기 위해 Nginx 를 1.13.3 으로 소스 재컴파일을 하였고


GeoIP Module 을 설치하였으며 (이와중에 dependancy 로 설치된 nginx 때문에 소스 컴파일 한


nginx 가 영향을 받아 스크립트가 정상동작 하지 않는 부분이 발생.. 하여 system service daemon 을


수정하여 정상 동작 확보 - bin 파일을 rpm 의 nginx 가 아닌 source build 된 nginx 로 실행 위치 변경)


이후 grafana 에 world map plugin 을 설치하고 지도에 표시하느라 쿼리와 telegraf, influxdb 에 


nginx log 넣느라 삽질 삽질 하다가 어 됬다! 하고 좋아했다. (지난번 포스트)


그런데 몇일 후 보니.. 다시 정상적으로 안나온다 ㅠㅠ What!!!


influxdb 쪽 로그를 보니 사용자 태그로 설정한 geoip_country_code 가 nginx 로그 상에는


아무런 문제가 없지만 inflxudb 로 들어가면 앞에 /"KR/" 형태가 붙는걸 발견..


헐.. 처음엔 안그랬는데?!?!


이걸 해결하려고 nginx log format 을 바꿔보고 telegraf 에서 grok pattern 을 이거저거 수정해보았는데


원인은 일반적인 fields 는 " " 안의 값만 input 으로 받는데 tag로 설정한 값은 " " 값도 같이 


인식해서 db에 넣는다. 덕분에 /" /" 가 같이 붙는것..


그래서 nginx log format 에서 tag 로 사용할 $geoip_country_code 는 " " 를 빼고 그냥 사용해주고


telegraf에서 %{type:tag_name:tag} 로 설정해서 테스트 하니 다시 정상적으로 db로 입력이 된다.


이제야 다시 맵에서 정상적으로 확인이 된다...


원인을 찾아봐야겠는데.. 


https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns


여길 참고하면 기본 tag로 지정되는 verb 값은 "" 안에 있지만 정규식으로 추출해서 쓰는 문법으로 추정된다.


으음 아직 내공이 부족하다 ㅠㅠ



반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post

[쇼핑몰] 쇼핑몰 제작 중 삽질기

오늘 오랜만에 시간을 내서 쇼핑몰을 코딩하고 있었다.


근데.. 음? 뭐지 로그인/로그아웃이 정상적으로 동작하지 않았다.


어라.. 이럴리가 없는데..


초기 개발당시보다 너무 nodejs 버전이 올라가서 그런가? nginx 문제?


아니면 다른 모듈 버전이 낮아서 그런가? api가 변경됬나?


열나게 찾아봤다.


근데..


그런거 없음!


헐.


뭐지.


하다가 크롬 앱인 postman으로 기능을 테스트 해보니 정상적으로 동작 하는걸 확인.


즉 이건 브라우저에서만 쿠키가 생성/삭제가 안되는 문제였는데.


원인을 찾아 해메다가 발견했다.


쩝.


내가 도메인을 기존엔 jarambebe.com 을 사용하고 있다가


신규로 jaram.kr 을 구매하면서 소스상에서 일부만 이 링크가 수정되고


몇몇 수정되지 않은 부분들이 있어서 정상적으로 쿠키가 생성/삭제가 되지 않았던 것.


즉 login 을 요청하는 ajax 주소는 기존 주소인데 로그인 후 이동되는 페이지는 신규 주소.


위와 같은경우 요청 주소의 기준으로 쿠키가 생성되므로 이동된 신규 주소에서는 쿠키가


보이지 않았던 것.


음..


젠장.


이래서 쉬다가 코딩하면 여러 문제가 발생한다.


ㅠ_ㅠ


어쨌든 해결해서 다행~

반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post