오픈베이스 연구소
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 3강 본문
1강에서는 Elastic Stack 에 관해서 배우고, 2강에서는 Elastic Stack을 설치하고 데이터를 넣어보았습니다.
3강에서는 elasticsearch에 저장된 데이터를 Kibana에서 가시화 하는 방법을 배워보려고합니다.
파일 추출 데이터 저장
지난 2강에서 과제로 Logstash를 활용하여 파일추출 결과를 elasticsearch로 저장하여 분석해보기를 드렸습니다.
모두들 해보셨나요?
안해보셨다면 [네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 2강] 에 돌아가셔서 숙제를 해보고 오시길 바랍니다.
오늘은 파일추출결과 데이터를 활용하여 Kibana에서 데이터를 조회하고 Visualize를 만들고 Dashboard를 구성하는 방법을 배워봅시다!!
Kibana 메뉴 알기
Kibana(localhost:5601)에 접속하면 왼쪽에 Menu 탭에는 Discover, Visualize, Dashboard, Timelion, Dev Tools, Management 가 있습니다.
Discover 페이지에서는 데이터를 탐색할 수 있습니다. 선택한 Index Pattern 과 일치하는 Time Picker 기간 내의 모든 데이터를 조회할 수 있습니다. 여기에 Query bar를 통한 검색과 'Add a Filter' 를 통해 데이터를 필터링할 수 있습니다. 조회된 데이터는 Histogram과 Document Table에서 확인할 수 있습니다.
Visualize 페이지에서는 데이터를 이용해 Visualizations 을 만들 수 있습니다. Dashboard 페이지에서는 만들어둔 Visualization 들을 구성하여 Dashboard를 만들고 조회할 수 있는 페이지 입니다. 자세한 내용은 아래에서 다루겠습니다.
Timelion 페이지는 서로 다른 데이터를(서로다른 Index Pattern) 결합하여 하나의 시계열 에서 시각화 할 수 있는 도구입니다. 구체적인 사용방법이 알고싶다면 Kibana Timelion 페이지를 참고해주세요!
Dev Tools 페이지는 Kibana에서 elasticsearch 의 REST API를 호훌 할 수 있는 편리한 UI 툴입니다. 왼쪽의 콘솔창에서 elasticsearch로 요정을하면 오른쪽의 콘솔창에서 응답을 확인할 수 있습니다.
Management 페이지는 Index Patterns, Saved Objects, Advanced Settings 로 구성되어있습니다. Index Patterns페이지 에서는 키바나에서 데이터를 조회할 때 사용되는 인덱스 패턴 관리를 할 수 있습니다. Saved Objects 페이지 에서는 키바나에서 만들어진 visualizations, dashboard 등을 관리할 수 있습니다. Advanced Settings 페이지에서는 키바나관련 고급설정을 할 수 있습니다. 구체적인 내용이 알고싶다면 Kibana Management 페이지를 참고해주세요!!
Kibana에서 Visualize 만들기
Kibana Menu를 익혔다면 이제는 진짜 Visualize 를 만들어볼 차례입니다.
만들 수 있는 Visualize 종류는 다양합니다. 그 중에 많이 사용되는 Visualize를 간단히 설명해드리겠습니다. Line chart, Area chart, Bar char는 X/Y축을 기준으로 데이터를 표현할 수 있습니다. Pie chart 는 상대적인 크기 또는 빈도를 보여줍니다. Data Table은 집계된 데이터에의 raw 데이터를 보여줍니다. Metric 은 통계 값을 단일로 표기해 줍니다. Tag Cloud 는 단어의 중요도를 글자 크기로 표기해 줍니다. 설명드린 Visualize 말고 다른 Visualize가 궁금하시다면 Kibana Visualize 페이지를 참고하세요.
다양한 Visualize 중에 대표로 Bar chart, Pie cart, Metric, Tag Cloud 를 만들어보겠습니다.
Visualize - Bar chart 만들기
Chart 를 만들기 전에 먼저 어떤것을 그리고싶은지 생각해보는 것이 중요합니다.
시간별로 파일이 몇개나 생성되었을까?
시간별 데이터 추이를 볼때는 보통 Bar chart, Line chart, Area chart를 사용합니다. 이번엔 Bar chart로 표현해 보도록하겠습니다.
1. Visualize 페이지 > (create new visualization) 버튼을 누릅니다.
2. Basic Charts > Vertical Bar 를 선택합니다.
3. 데이타 소스로 사용할 Index Pattern 'file-extract-*' 을 선택합니다.
4. Buckets > X축의 기준을 선택해줍니다. Aggregation > Date Histogram선택합니다.
- 우리는 시간별로 파일 발생추이를 보기위해 X 축을 Date Histogram을 선택합니다.
- ctime 필드가 파일 생성 시간 이므로 Field 는 ctime 을 선택합니다.
- (apply change)버튼을 눌러 선택사항을 visualize에 반영해줍니다.
5. Visualize를 저장합니다.
- Visualize 이름 : [File Extract] 시간별 파일 발생 추이
Visualize - Pie chart 만들기
파일 중에 가장 많은 확장자 Top 5 는 무엇일까?
1. Visualize 페이지 > (create new visualization) 버튼을 누릅니다.
2. Basic Charts > Pie 를 선택합니다.
3. 데이타 소스로 사용할 Index Pattern 'file-extract-*' 을 선택합니다.
5. Visualize를 저장합니다.
Visualize - Metric 만들기
전체 파일 수는 몇 개일까?
파일 중 중복되지 않은 파일이름은 몇 개일까?
파일 중 중복되지 않은 파일 개수는 몇 개일까?
1. Visualize 페이지 > (create new visualization) 버튼을 누릅니다.
2. Data > Metric 을 선택합니다.
3. 데이타 소스로 사용할 Index Pattern 'file-extract-*' 을 선택합니다.
5. Metrics 아래의 버튼을 눌러 추가로 Metrics > Aggregation: Unique Count , Field > fname.keyword 를 선택합니다.
- fname에서 중복된 파일 이름을 제거한 파일 수를 의미합니다.
- 즉, 유니크한 파일 이름의 수를 의미합니다.
- Custom Label 에 '중복되지 않은 파일 이름 개수'를 입력합니다. Metric 값 상단에 라벨링이 됩니다.
6. Metrics 아래의 버튼을 눌러 추가로 Metrics > Aggregation: Unique Count , Field > hash.md5.keyword 를 선택합니다.
- hash.md5에서 중복된 md5 값을 제거한 파일 수를 의미합니다.
- 즉, 유니크한 md5 의 수를 의미합니다.
- Custom Label 에 '중복되지 않은 파일 개수'를 입력합니다. Metric 값 상단에 라벨링이 됩니다.
- (apply change)버튼을 눌러 선택사항을 visualize에 반영해줍니다.
7. Options 에서 폰트 크기, Gauge Type 등을 설정 할 수 있습니다.
8. Visualize를 저장합니다.
Visualize - Tag Cloud 만들기
파일 중에 가장많이 사용하는 확장자는 무엇일까?
1. Visualize 페이지 > (create new visualization) 버튼을 누릅니다.
2. Other > Tag Cloud 을 선택합니다.
3. 데이타 소스로 사용할 Index Pattern 'file-extract-*' 을 선택합니다.
5. Visualize를 저장합니다.
Kibana에서 Dashboard 만들기
위에서 만든 visualize 들을 모아서 dashboard로 만들수 있습니다.
1. Dashboard 페이지 > (create new dashboard) 버튼을 누릅니다.
2. 버튼을 눌러 미리 만들어둔 Visualize를 하나씩 추가합니다.
- Add 버튼을 누르면 Visualization 리스트가 보입니다. (검색가능)
- Dashboard 에 추가하고자 하는 visualize를 선택하면 추가 성공 알림바가 보이면서 Dashboard에 선택한 visualize가 추가된 것을 확인할 수 있습니다.
3. Dashboard를 구성합니다.
- Visualize의 크기와 위치 변경이 자유롭습니다.
4. Dashboard를 저장합니다.
- Dashboard 이름 : [File Extract] Dashboard
5. Dashboard를 불러와 봅니다.
- 저장한 dashboard 는 Dashboard 페이지의 dashboard 리스트에서 확인할 수 있습니다.
- dashboard 리스트에서 앞서 저장한 '[File Extract] Dashboard' 대시보드를 선택해봅니다.
Kibana 에서 Visualize를 만들고 Dashboard 를 구성하는 방법을 배워보았습니다.
어떠셨나요? 데이터만 있으면 간편하게 몇번의 클릭만으로 데이터를 가시화 할 수 있다는 점이 놀랍지 않으신가요?
위에 같이 배워본 visualize 말고도 다양한 visualize를 만들어보는 연습을 해보시면서...
여러분이 가지고 있는 데이터를 어떻게 표현하면 좋을지 어떤 분석을 하고싶은지 조금더 깊이 생각해보실수 있는 계기가 되었으면 좋겠습니다.
'Elastic Stack 배우기' 카테고리의 다른 글
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 5강 (0) | 2018.03.13 |
---|---|
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 4강 (0) | 2018.02.27 |
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 2강 (2) | 2018.01.29 |
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 1강 (0) | 2018.01.24 |
Elastic Stack 설치 및 사용 (9) | 2018.01.24 |