본문 바로가기
ELK

[ELK] Logstash를 이용해 Elasticsearch csv파일 import

by kyunb 2022. 3. 7.

안녕하세요

오늘은 저번 포스팅에서 설치한 ELK를 통해 실제 분석할 데이터를 적재하여 시각화하는 Process까지 진행하도록 하겠습니다.

 

우선 분석할 샘플 데이터가 필요하겠습니다.

 

저는 '서울시 자치구별 신호등 및 횡단보도 수량'(2022년 2월 25일 기준)을 준비하겠습니다. 파일을 다운받을 수 있는 링크는 아래와 같습니다.

https://data.seoul.go.kr/dataList/OA-21237/F/1/datasetView.do

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

 

csv파일의 형식은 다음과 같습니다.

여기서 주의해야 할 점은 지금의 csv파일을 그대로 적재하게 된다면 첫행의 '자치구', '횡단보도 개수', '신호등 개수'도 하나의 record로 인식하여 적재된다는 점입니다. 따라서 우리는 적재하기전에 첫 행을 삭제하겠습니다.

 

이후에 Logstash에 sampledata.conf파일을 생성합니다.

input {
        file {
                path => "/home/로컬의 절대 경로~/자치구별 횡단보도와 신호등 개수_20220225기준.csv"
                start_position => "beginning"
        }
}
filter {
        csv {
                columns => ["자치구", "횡단보도 개수", "신호등 개수"]
                separator => ","
        }

        mutate { convert => ["자치구", "string"] }

        mutate { convert => ["횡단보도 개수", "integer"] }

        mutate { convert => ["신호등 개수", "integer"] }

}
output {
        elasticsearch {
                action => "index"
                hosts => ["localhost"]
                index => "test"
        }
        stdout { }
}

path는 csv가 위치하고있는 절대 경로를 기재합니다.

columns는 삭제했던 첫행의 필드값을 순서대로 기재합니다.

index는 Elasticsearch에 적재할 데이터의 index명을 기재합니다.

 

 

+

지금은 초기의 기본 index만 존재하는 상태입니다.

elasticsearch를 실행하여 아래의 명령어를 실행합니다.

curl -XPUT localhost:9200/test

위의 명령어는 elasticsearch에 test라는 이름의 index를 생성하는 명령어입니다.

 

 

이후에 logstash 디렉토리 아래의 bin디렉토리에 들어가서 terminal을 실행하여 아래의 명령어를 실행합니다.

logstash -f /home/아까 작성한 logstash의 sampledata.conf경로/sampledata.conf

정상 실행이 되었다면 아래와 같이 json형식으로 csv의 내용이 출력됩니다.

그 후 kibana에 접속하여 'Management' -> 'Index Patterns'를 클릭하여 방금 밀어넣은 index(RDB의 table 개념)를 kibana에서 생성합니다.

아래 그림과 같이 elasticsearch에 생성 된 index 목록이 출력됩니다. 우리는 방금 생성하고 데이터를 import한 'test'를 kibana에 생성합니다.

이후 Kibana의 Discover메뉴로 이동하면 다음과 같이 import한 데이터를 확인할 수 있습니다!

이로써 이번 포스팅을 마무리하겠습니다.

 

다음 포스팅에서는 적재되어있는 데이터를 이용하여 시각화 하는 여러 분석 방법을 소개하겠습니다.

 

감사합니다 :)

 

[참조] https://kyunb.tistory.com/3

 

[ELK] Logstash를 이용해 Elasticsearch csv파일 import

안녕하세요 오늘은 저번 포스팅에서 설치한 ELK를 통해 실제 분석할 데이터를 적재하여 시각화하는 Process까지 진행하도록 하겠습니다. 우선 분석할 샘플 데이터가 필요하겠습니다. 저는 '서울

kyunb.tistory.com

[참조] https://peanut159357.tistory.com/27

 

서울시 공공데이터(CSV) Logstash로 Elasticsearch에 올리고 Kibana에서 분석하기 (+한글깨짐해결)

https://data.seoul.go.kr/dataList/datasetList.do 서울 열린데이터광장 전체  5,215건 을 찾았습니다. 정확도순 최신공개일순 조회순 제목순 조회 공공데이터 [교통] 서울특별시 공공자전거 신규가입자 정보(

peanut159357.tistory.com

 

'ELK' 카테고리의 다른 글

[ELK] Kibana로 Data 시각화  (0) 2022.05.23
[ELK] ELK 설치(Elasticsearch, Logstash, Kibana)  (0) 2022.02.11
[ELK] 개념 정리  (0) 2022.01.04
[ELK] 설치 3) Kibana  (0) 2021.12.23
[ELK] 설치 2) Logstash  (0) 2021.12.23