VMware Workstation 15/Elastic Stack

[VMware - Ubuntu] Elasticsearch(ELK) 실습하기 – 환경설정

YaluStar 2018. 11. 8. 01:15

[VMware - Ubuntu] Elasticsearch(ELK) 실습하기 – 환경설정

 

실습 환경

VMware Workstation 15 Player (FREE 버전)

Ubuntu 18.04.1 (64 Bit)

Elasticsearch-6.4.2.deb

Kibana-6.4.2-amd64.deb

Logstash-6.4.2.deb

Filebeat-6.4.2-amd64.deb


[VMware] Ubuntu (64 Bit)에서 Elasticsearch(ELK) 설치하기에 이어서 작업을 하시면 원활하게 진행하실 수 있습니다.


우선 필요한 apache2(아파치), elasticsearch(엘라스틱서치), kibana(키바나), filebeat(파일비트) 서비스시작시켜 줍니다.


중간에 elasticsearch(엘라스틱서치)는 정상 작동이 안 되는 경우가 있으므로 curl 명령어를 이용하여 확인을 해줍니다.

*elasticsearch(엘라스틱서치)가 정상 작동이 안될 경우 “sudo ufw allow 9200 명령어”로 포트를 열어준 후 “elasticsearch start 명령어부터” 다시 입력하면 됩니다.

restart 명령어를 사용하면 정상 작동이 안 되는 경우가 있어서 start 명령어로 진행합니다.


sudo service apache2 start

sudo service elasticsearch start

curl -XGET ‘localhost:9200’

sudo service kibana start

sudo service filebeat start

명령어를 입력하여 줍니다.





서비스를 전부 실행한 후에 Kibana(키바나) 페이지접속합니다.

127.0.0.1:5601을 주소 창에 입력합니다.

이어서 Kibana 메뉴 중에서 Dev Tools 메뉴를 들어간 후 Get to Work 버튼을 눌러줍니다.





들어가면 Console과 여러 가지 관련 창이 나오고 GET 코드가 작성되어 있습니다.

작성되어 있는 코드를 전부 지워줍니다.





이어서 Mapping(매핑) 작업을 위해 사진처럼 입력합니다.

참고로 Elasticsearch(엘라스틱서치)에서 사용하는 Index는 Database와 같은 역할을 합니다.

그리고 Mapping(매핑) 작업은 Index, 즉 Database에 들어가는 Table을 새로 만드는 것과 같은 원리입니다. 각 데이터가 자리에 맞게 들어갈 수 있도록 하기 위하여 미리 틀을 만들어 주는 것과 같습니다.



DELETE 명령어는 Elasticsearch(엘라스틱서치)에 Index가 같은 이름으로 중복되어 있을 경우를 방지하기 위해 먼저 삭제를 해서 오류가 나는 것을 방지하기 위해 사용합니다.

이어서 PUT /shakespearePUT /logstash-2015.05.18작성합니다.

실행은 하지 않습니다.





계속해서 PUT /logstash-2015.05.19PUT /logstash-2015.05.20도 같이 작성하여 줍니다.





작성한 코드전부 선택 (Ctrl + A)하면 재생 버튼1개만 나오는데 재생 버튼클릭합니다.

그러면 코드가 윗줄부터 차례대로 실행이 됩니다.

DELETE 명령어들이 실행되고, PUT 명령어들이 실행됩니다.


Deprecation 관련 메시지는 현재 작성한 코드가 나중에는 지원을 안 하게 될 수 있다는 것을 알려주는 메시지이지만, 지금은 실행하는데 문제가 없으므로 넘어갑니다.





Elasticsearch(엘라스틱서치) 페이지로 가서 Index가 들어갔는지 확인합니다.

주소 창에 127.0.0.1:9200/_cat/indices을 입력하여 줍니다.

코드로 작성한 4개의 Index가 확인됩니다.


왼쪽에 green은 현재까지의 데이터가 백업?되었다는 뜻이고, yellow은 아직 모든 데이터를 저장하지 못했다는 뜻입니다.

open은 데이터가 들어갈 수 있게 열려있다는 뜻입니다.

오른쪽에 0으로 되어있는데 Index에 들어있는 데이터 값이 없다는 뜻입니다.





각 Index에 데이터 값을 넣어주기 전에 “ELK_tutorial_blog.zip 파일”다운로드 합니다.

ELK Data JSON File Download


다운로드 받은 파일의 압축을 풀어주는데 unzip 패키지를 이용합니다.

unzip없는 분은 명령어를 이용하여 설치합니다.

sudo apt-get install unzip


이어서 압축을 풀어줍니다.

다음 명령어는 ELK_tutorial_blog.zip 파일의 압축을 ELK_tutorial_blog 라는 폴더 안에 압축을 푼다는 뜻입니다.

unzip ELK_tutorial_blog.zip -d ./ELK_tutorial_blog


이어서 터미널을 실행하여 압축을 푼 폴더로 이동합니다.

저는 kibana_tutorial 이지만 위에 명령어를 따라서 하신 분은 ELK_tutorial_blog 폴더로 이동하시면 됩니다.


방금 Kibana에서 코드를 작성할 때는 bank라는 이름의 Index가 없었는데 현재 명령어를 이용하면 bank Index를 만들고 데이터까지 같이 넣어줍니다.

*명령어를 입력하기 전에 압축을 푼 폴더로 이동해서 입력해야 합니다.

curl -XPOST localhost:9200/bank/account/_bulk?pretty --data-binary @accounts.json -H “Content-Type: application/json”





shakespeare에도 데이터를 넣어줍니다.

curl -XPOST localhost:9200/shakespeare/_bulk?pretty --data-binary @shakespeare.json -H “Content-Type: application/json”





마지막으로 logs 데이터를 넣어줍니다.

curl -XPOST localhost:9200/_bulk?pretty --data-binary @logs.jsonl -H “Content-Type: application/json”





Elasticsearch(엘라스틱서치) 페이지로 가서 확인하면 bank 이름을 가진 Index가 추가되었고, 총 5개의 Index에 각각 값이 들어가 있는 것을 확인할 수 있습니다.

약간의 데이터 차이가 있을 수 있지만, 약 bank = 1,000, shakespeare = 110,000, logstash-2015.05.18 = 4,600 정도의 데이터 값이 나와야 합니다.

데이터가 적게 들어갔을 경우 Kibana의 DELETE부터 다시 진행해보시길 바랍니다.





Kibana(키바나) 페이지로 돌아갑니다.

메뉴에서 Management 메뉴로 들어간 후 Kibana의 Index Patterns 항목을 클릭하여 줍니다.





Create Index Pattern 버튼을 클릭하여 새로운 Index Pattern생성합니다.





Index pattern 밑에 이름을 입력하면 되는데, 사용하는 이름은 shakes*을 입력하여 줍니다.

*Elasticsearch(엘라스틱서치)에 들어간 Index의 이름과 거의 동일하게 합니다.


shakes*을 하면” shakes + 아무 문자열”이 들어간 Index를 해당합니다.

Success가 뜨고 1개의 Index가 match가 되는 것을 확인할 수 있습니다.

Next step 버튼을 눌러줍니다.





Step 2에서는 아무 것도 만지지 않고 Create index pattern 버튼을 눌러줍니다.





shakes* 이름으로 Index Pattern이 만들어 졌습니다.

이어서 다른 Index도 Pattern을 만들어줍니다.

Create index Pattern 버튼을 눌러줍니다.





이번에는 bank의 Index pattern을 만들어 줍니다.

ba*을 입력합니다.

Success가 뜨고, bank index와 match가 되었다고 합니다.

Next step 버튼을 눌러줍니다.





바로 Create index pattern 버튼을 눌러줍니다.





ba*이름으로 bank의 Pattern이 생성되었습니다.

마지막 Index Pattern을 만듭니다.





이번에는 logstash-2015.05* 까지만 입력합니다.

이렇게 입력하면 logstash 관련 3개의 Index가 한 번에 match 됩니다.

logstash-2015.05.18, logstash-2015.05.19, logstash-2015.05.20 Index가 match 되었습니다.

Next step 버튼을 눌러줍니다.





이번에는 특별하게 Time Filter field name지정합니다.

@timestamp을 선택한 후 Create index pattern 버튼을 눌러줍니다.





logstash-2015.05* 이름으로 Pattern이 만들어졌습니다.





logstash는 다른 애들이랑 좀 달라서 따로 설정을 해주어야 합니다.

Kibana 메뉴Discover 메뉴를 선택합니다.


이어서 Add a filter 밑에 선택 칸에서 logstash-2015.05*을 선택합니다.

현재 데이터가 전혀 없다고 나와있습니다.

이어서 화면 오른쪽 위에 Last 24 hours (환경마다 다르게 표기 되어 있을 수 있습니다.) 버튼을 클릭합니다.

 




Time Range창이 나옵니다.

Absolute 메뉴를 선택합니다.

From과 To 값을 수정합니다.

From : 2015-05-18 00:00:00.000

  To   : 2015-05-22 00:00:00.000

값을 변경한 후 하단의 Go 버튼을 눌러줍니다.





시간을 설정하고 logstash-2015.05*을 선택하면 그래프와 값들이 표시가 됩니다.






다음 글에서는 만든 Pattern을 가지고 VisualizeDashboard만드는 작업을 하겠습니다.

이상으로 Elasticsearch(ELK) 실습하기 - 환경설정에 대하여 알아보았습니다.

감사합니다.


반응형