분류 전체보기
-
Logstash에서 S3 input을 정상적으로 가져오지 못할때소프트웨어개발 이야기 2020. 2. 11. 17:40
Logstash에서 input으로 S3 플러그인을 사용할 경우, 데이터를 정상적으로 불러오지 못하는 경우가 있다. 본글에서는 다양한 원인 중 가장 마지막에 읽었던 지점을 저장하는 sincedb_path와 관련된 내용을 정리한다. Logstash에서 S3에 있는 파일을 불러와서 ETL 작업을 수행하는 모듈을 개발하다 보면, 아래처럼 더이상 데이터를 가져오지 않고 멍하니 멈춰 있는 경우가 있다. ElasticSearch로 연계한 경우, 인덱스를 아무리 지워도 같은 현상이 반복된다. 이는 Logstash input 플러그인에서 데이터를 불러올때 마지막으로 읽어온 부분을 파일(sincedb)로 저장하기 때문이다. Logstash는 입력 데이터가 변경되면 sincedb에서 마지막 부분 정보를 찾아 그 이후 데이터..
-
Logstash에서 날짜, 시간 데이터 변경하기소프트웨어개발 이야기 2020. 2. 11. 14:41
Elastic Stack을 사용하여 시청률 데이터를 분석하는 간단한 분석서비스를 만들고 있다. S3에 올라간 일간 시청률 파일을 Logstash에서 읽고 ElasticSearch에 인덱싱해서 Kibana로 보여주는 정말 간단한 환경이다. 문제는 Kibana 시각화를 위해 시청률 파일에서 프로그램 시작 시간과 종료 시간을 Datetime 형식으로 전환해야 하는데 Logstash를 처음 사용하다 보니 삽질의 연속이다 -0-;(뭐.. 다 이렇게 배우는거지... 라고 위안중이다.) 해서, 오늘도 어김없이 삽질 기록서를 작성한다. 먼저 S3에서 파일을 읽어오기 위해 입력 파이프 라인에 s3필터를 사용했다. input { s3 { access_key_id => "키 아이디" secret_access_key => "..
-
Postman 사용하기소프트웨어개발 이야기 2020. 2. 10. 14:02
크롤링을 보다 쉽게 해보자 크롤링 서비스를 만들기 위해서는 크롤링 대상 웹사이트에 대한 분석이 선행되야 한다. 그런데, 이게 은근히 일이다. 정보의 중요도가 높을 수록, 그 정도는 심해진다. 최근 포털에 제공하는 뉴스 콘텐츠 통계를 통합하여 리포팅하는 서비스를 개발할 일이 있었는데, 단순히 referer 체크부터, 로그인 세션이 필요한 경우 쿠키에 대한 분석 그리고 숨어있는 암호화 키까지... Google CAPTCHA 들어가 있는 녀석이 제일 끔찍하더라. 같은 이미지 찾으려면 패턴 분석이라도 해야 하려나. 무튼, 이걸 하나씩 다 따라가는게 은근 재밌으면서도(-_ -;;;) 시간과 노력이 필요한데, 이를 보다 편하게 할 수 있는 방법(크롬 브라우저)을 찾게 되어 정리한다. 늘 사용하던 REST API 도..
-
웹 서버 로그 분석도구 GoAccess소프트웨어개발 이야기 2020. 2. 10. 13:08
관리자 입장에서 웹 서버의 로그 파일을 보다 쉽게 분석하고 활용할 수 있는 도구에 대해 정리합니다. 구글링이나 Stackoverflow를 통해 웹 서버 로그 분석도구를 검색해 보면 하기의 도구를 추천 하고 있습니다. GoAccess 콘솔, HTML/JSON/CSV 데이터생성, 실시간 HTML 모니터링 Apache Log Viewer GUI 도구(일부기능 유료) AWStats 웹시스템(Perl기반) 조사의 목표는, OSS 기반의, 설치나 분석 및 사용을 손쉽게 할 수 있는 분석도구를 찾는 것이었기 때문에 이에 부합하는 GoAccess를 선택하였고, 하기의 순서로 정리 합니다. (확장성이나 보다 다양한 검색을 위해서는 Elastic Stack 사용 권장) GoAccess 소개 GoAccess 상세 기능 Go..
-
유튜브(Youtube) API - 7.Data API (Playlists, PlayItems)소프트웨어개발 이야기 2020. 2. 10. 11:28
유튜브 데이터 API 뜯어보기 - Playlists, PlayItems 본글에서는 6.Data API(채널 편)에 이어서 유튜브 Data API의 재생목록(Playlist) 기능들을 시나리오 기반으로 사용해보고 결과를 확인해 보도록 하겠다. 재생목록과 관련된 리소스는 두 가지다. 재생목록 기본 정보를 다루는 Playlists와 재생목록에 포함되는 항목을 다루는 PlaylistItems. 자세한 기능은 다음과 같다. Playlists > 자신 또는 특정 사용자의 재생목록 조회 > 재생목록 생성 > 재생목록 수정(제목, 설명, 개인정보 보호 등) > 재생목록 삭제 PlaylistItems > 재생목록 항목 조회 > 재생목록 항목 추가 > 재생목록 항목 수정(항목 위치) > 재생목록 항목 삭제 이전 글과 마찬..
-
유튜브(Youtube) API - 6. Data API (Channels)소프트웨어개발 이야기 2020. 2. 10. 11:20
유튜브 데이터 API 뜯어보기 - Channels 본글에서는 3.API 살펴보기 에서 간단하게 알아봤던 유튜브 Data API를 기능별로 하나씩 살펴보고 실제 API 호출을 통해 결과를 확인해 보도록 하겠다. 시작하기에 앞서 정리하는 차원에서 다시한번 유튜브 API의 구성을 살펴보자. 유튜브 API는 크게 세가지로 구분한다. Youtube Data API(v3) 유튜브와 관련된 기본적인 API로, 동영상을 업로드하거나 재생목록을 관리하는 등의 가장 기본적인 기능 제공 Youtube Analytics API 유튜브의 동영상 및 채널에 대한 시청 통계, 인기도 통계 등 검색 Youtube Live Streaming API 유튜브 방송을 예약하고 , 라이브 스트림을 관리 이중 기본 기능을 제공하지만 가장 중요..
-
유튜브(Youtube) API - 5.인증받고 사용하기소프트웨어개발 이야기 2020. 2. 10. 11:16
인증이 필요한 API 사용하기 앞서 유튜브 API를 어떤 방식으로 사용하고 어떤 형식의 데이터를 얻을 수 있는지 살펴봤다. API Key 방식으로 인증을 하고 구글이 제공하는 라이브러리를 통해 몇 줄 안 되는 코드로 동영상의 정보를 얻을 수 있었다. 하지만 API를 통해서 동영상을 업로드하거나 특정 채널의 통계 정보를 얻고 싶을 때는 그 채널의 권한을 부여받아야만 한다. 즉, 개인 인증이 필요한 기능을 위해서는 기존의 API Key 방식이 아닌 다른 접근이 필요하다. 본 글에서는 이러한 개인 인증을 활용한 OAuth2.0 방식의 유튜브 API 사용법을 살펴보도록 하자. 동영상 목록을 조회하는 Videos:list API의 매개변수 중에는 myRating이 있다. 사용자가 "좋아요" 또는 "싫어요"를 표시..
-
유튜브(Youtube) API - 4.사용하기소프트웨어개발 이야기 2020. 2. 10. 11:03
무작정 API 돌려보기 유튜브 API를 사용하기에 앞서 API 종류와 사전작업 그리고 제약조건들을 살펴봤다.(REST API 하나 사용하려고 이렇게 많은 걸 봐야 하다니... 그래도 제공해 주는 게 어딘가, 감사하면서 사용하자 -0-;;) 이제 API를 사용할 일만 남았다. '백견이 불여일타' Youtube API를 하나씩 살펴보기 전에, 우선 가장 간단한 코드를 작성해서 돌려보자. 백날 레퍼런스 살펴봐야 한번 코드 짜고 실행해보는 것만 못하다. 본 글에서는 NodeJs를 사용해서 설명하지만 본인이 가장 선호하는 언어로 돌려보는 걸 권장한다.(실제로 구글이 제공하는 유튭 가이드에는 Java, Python 언어로 보다 많이 설명되어 있다.) 유튜브에서 특정 동영상의 정보(영상 제목, 영상설명, 채널 아이디..