2018년 11월 12일 월요일

ELK Stack 정리

elasticsearch + logstash + kibana
사용하여 데이터 분석 및 시각화

1. Logstash 

실시간 파이프라인 기능을 가진 오픈소스 ( 데이터를 모아 일레스틱서치에 저장함 )
플러그를 사용해 웹, DB, 파일 등에서 데이터를 실시간으로 수집하고 전달함

2. Elasticsearch

분산형 Restful 검색 및 분석 엔진 (데이터 저장 및 탐색이 빠름)

3. Kibana

일레스틱서치로 분석한 데이터를 시각화 해줌




11/12
logstash로 csv파일을 읽어 elasticsearch에 형식에 맞게 저장함
nori 플러그인을 사용하여 elasticsearch에서 형태소 분석함
kibana에서 데이터 검색 및 보여줌

현재 6만개의 영화 데이터를 넣음
영화명에 nori 플러그인을 적용하여 검색할 때 형태소 분석을 해줌
kibana에서 검색까지 성공


11/13
kibana로 데이터 시각화함



매핑, 로그스태시 코드

input {
  file {
    path => "/home/metanet/MOVIE.csv"
    start_position => "beginning"
   sincedb_path => "/dev/null"
  }
}
filter {
  csv {
      separator => ","
#Date,Open,High,Low,Close,Volume (BTC),Volume (Currency),Weighted Price
     columns => ["영화명","영화명(영문)","제작연도","제작국가","유형","장르", "제작상태" ,"감독"]
  }
}
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "moviett"
  }
stdout {}
}









curl -X PUT "localhost:9200/moviett" -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "_doc": {
      "properties": {
        "영화명":    { "type": "text","analyzer":"nori"  },
        "영화명(영문)":     { "type": "text"  },
        "제작연도":      { "type": "integer" }, 
        "제작국가":     { "type": "text"  },
    "유형":     { "type": "text"  },
    "장르":     { "type": "text"  },
    "제작상태":     { "type": "text"  },
    "감독":     { "type": "text"  },
    "제작사":     { "type": "text"  },
      }
    }
  }
}
'





curl -X POST "localhost:9200/movies/_search?routing=이름" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match" : {
            "영화명" : "이름"
           
        }
    }
}







flutter 기본 개념 1

  Scaffold  - 화면 뼈대 역할  - 기본적으로 AppBar body floatingActionButton 같은걸 배치해줌  return Scaffold (       appBar : AppBar ( title : const Text ...