위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2022년/Developement

    logstash + aws + twitter 데이터 수집 # 1

    2022. 3. 15. 16:51

    by. 위지원

    http://slides.com/openstack/sktechx11th 를 보고 공부한 내용입니다 🙄

     

    사전 작업: aws, twitter 가입 :)

     

    1. 트위터 앱 생성하기

    아래 링크로 이동하면 트위터 앱을 어렵지않게 만들 수 있다. acess token이 생성된다. 잘 메모해두자. 

    잘 메모해두자!

     

    Use Cases, Tutorials, & Documentation

    Publish & analyze Tweets, optimize ads, & create unique customer experiences with the Twitter API, Twitter Ads API, & Twitter Embeds.

    developer.twitter.com

     

    2. AWS EC2에서 인스턴스 생성하기

    인스턴스를 생성하고 나면 ssh-key를 다운로드할 수있다. 잘 저장해두자 

     

    아마존 클라우드 서버 호스팅 | Amazon Web Services

    Amazon Elastic Compute Cloud(Amazon EC2)는 500개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록

    aws.amazon.com

     

    *N.  ssh 접속 후 key 옮기기.. 

    여기서부턴 나의 추가작업이다. 나는 윈도우 환경에서 ubuntu on window를 다운받아서 사용한다 :)

    더보기

     

    - ssh 서비스를 실행시켜준다.

    $ service ssh start

    * permission denied(publickey) 가 뜨는 경우 /etc/ssh/sshd_config 에서 PasswordAuthentication을 no에서 yes로 변경해준다. 

     

    - filezila를 이용해서 ubuntu on window로 twitter에서 받은 ssh-key.pem을 옮겨준다. 

     

    3. AWS EC2에 접속하기

    AWS EC2에 가서 인스턴스 하나를 누르면 public 주소가있다.  아까 다운 받은 ssh key와 이 주소를 이용해 쉘에서 접속한다. 

    $ ssh -i ssh-key.pem ubuntu@xx.xxx.xx.xxx

     

    3-1. JDK 설치하기

    $ sudo apt-get update
    $ sudo apt-get upgrdae
    $ sudo apt-get install openjdk-11-jdk

     

    5. 본 사이트를 기반으로 logstash 설치

    (시기에 따라 아래 내용이 구버전일 수 있기에 본 사이트 접속해서 하는것이 따봉👍)

    $ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    $ sudo apt-get install apt-transport-https
    $ echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
    $ sudo apt-get update && sudo apt-get install logstash

     

    6. 데이터 생성

    이 블로그 에서 설명한 바에 의해 conf 파일이 바뀌면 자동으로 다시 로드할 수 있도록 변경

    /etc/logstash에 가면 logstash-sample.conf가 존재한다. 이를 copy해서 수정한다! 

    이름은 twitter등을 붙여 변경해도된다.  /etc/logstash/pipeline.yml에 보면  conf 아래 .conf 확장자는 모두 실행되도록 되어있는 것을 확인하면 이해할 수 있다 :) 

     

    사용할 키는 아래 두가지다 이를 아래 input key로 넣어주면 된다. 

    input {
      twitter {
        consumer_key => "5Vwx위지원h"
        consumer_secret => "7k1gKYT의 블로그H1veK34Ym0eMq5TCPfZcnYc4v"
        oauth_token => "14999541943208맨날Lm"
        oauth_token_secret => "bnHCgK8bq삽질만 하지용jI"
        keywords => ["russia"]
        full_tweet => true
    
      }
    }
    
    output {
      file {
        path => "/tmp/twitter-%{+YYYY-MM-dd}.json"
        codec => json_lines
      }
    }

     

    실행은 다음과같이 한다. (처음에 가이드문서에 sudo service logstash start를 하라고 하셨는데 오류나서 프로세스 터질뻔하..물론 내가 conf를 잘못짰다 ,,여담으로 어떻게 잘못짰냐면 input{ 이 부분에 i 앞에 띄어쓰기가 있었다 ㅡㅡ;;)

    sudo /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-twitter.conf

     

    그럼 아래와같이 로그가 뜨고.. 

    [INFO ] 2022-03-17 07:41:01.476 [[main]-pipeline-manager] javapipeline - Pipeline started {"pipeline.id"=>"main"}
    [INFO ] 2022-03-17 07:41:01.531 [[main]<twitter] twitter - Starting twitter tracking {:track=>"russia"}
    [INFO ] 2022-03-17 07:41:01.683 [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
    [INFO ] 2022-03-17 07:41:04.975 [[main]>worker0] file - Opening file {:path=>"/tmp/twitter_file.2022-03-17.json"}

     

    해당 파일을 보니 데이터가 무지많이 쌓여있다. 

     

    References

    https://investechnews.com/2021/07/12/ssh-permission-denied-publickey-%EC%A0%91%EC%86%8D-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0/

    저작자표시

    '2022년 > Developement' 카테고리의 다른 글

    소프트웨어 장인  (0) 2022.04.12
    로그 데이터의 중요성  (0) 2022.04.11
    TIL(Today I Learned)  (0) 2022.03.14
    요즘 내가 즐겨 보는 것들  (0) 2022.03.08
    [Daily Coding] 노션으로 코딩테스트 공부 정리하기  (5) 2022.02.10

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • 소프트웨어 장인 2022.04.12
    • 로그 데이터의 중요성 2022.04.11
    • TIL(Today I Learned) 2022.03.14
    • 요즘 내가 즐겨 보는 것들 2022.03.08
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바