일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 와인장터
- 이마트와인장터
- 고추냉이
- 반려견놀이터
- 이마트
- 용인야시장
- 10월와인
- 초밥
- 샘표계란이맛있어지는간장
- 용인중앙시장야시장
- 주비푸드
- 자연에서갈아만든생와사비
- gs25
- gs25맵탱
- 이마트와인
- 강아지간식
- 10월장터
- 생와사비
- 10월와인장터
- 별빛마당
- mysql1267
- 와사비
- 와인할인
- 와인초특가
- 스시
- 용인중앙시장
- 기흥반려견놀이터
- 삼양맵탱
- 용인강아지놀이터
- 와인특가
- Today
- Total
기억의 기록
[ELK Stack] 6 - 운영 본문
ELK Stask 을 본격적으로 사용하는 설정을 해봅니다.
Filebeat에서 파일을 수집하고 Logstash 에서 필터링을 거쳐서 ElasticSearch 에 적제를 하고 Kiana 에서 시각화를 합니다.
기본포트는 아래와 같이 사용하며 서버가 다르다면 방화벽 설정이 필요합니다.
Filebeat : 5044
Logstash : 9200
ElasticSearch : 9200
Kibana : 5601
서비스를 띄우는 설정을 .bat 파일로 만들어서 관리 하면 편합니다.
ElasticSearch (Rnn_ElasticSearch.bat) |
cd C:\ELK_Stack\ElasticSearch\bin elasticsearch.bat |
Filebeat (Run_Filebeat.bat) |
cd C:\ELK_Stack\FileBeat filebeat.exe -c filebeat.yml -e -v |
Kibana (Run_Kibana.bat) |
cd C:\ELK_Stack\Kibana\bin kibana.bat |
LogStash (Run_Logstash.bat) |
cd C:\ELK_Stack\LogStash\bin logstash.bat -f logstash.conf |
순서는 상관 없으나.
Filebeat -> Logstash -> Elasticsearch -> Kibana 로 한개 한개 서비스 시작되는것 확인 하고 다음꺼 실행하는것이 마음이 편합니다.
Filebeat 설정 (filebeat.yml)
https://www.elastic.co/guide/en/beats/filebeat/current/configuring-howto-filebeat.html
폴더에 생성되는 파일을 Logstash 로 보냅니다.
Input 과 Output 만 설정을 잘해도 문제 없이 사용 할 수 있습니다.
Input 은 두개의 폴더에 저장되는 .log 파일을 가져옵니다.
tag 는 특징 있는 단어로 지정합니다.
(여러 서버에서 Logstash 혹은 Elasticsearch 로 보낸다로 하면 tags 를 이용해서 어디서 온건지 알 수 있습니다.)
filebeat.inputs: - type: log paths: - C:\ELK_Stack\LogData\*.log tags: ["server1"] fields_under_root: true - type: log paths: - C:\ELK_Stack\LogFiles\*.log tags: ["server2"] fields_under_root: true #----------------------------- Logstash output -------------------------------- output.logstash: hosts: ["localhost:5044"] |
LogStash 설정 (logstash.conf)
https://www.elastic.co/guide/en/logstash/current/index.html
Filebeat 에서 넘어온 데이터를 Elasticsearch 로 보냅니다.
Filebeat 에서 설정한 tags 를 가지고 필터링과 Elasticsearch 로 보낼때 인덱스 설정을 해서 보냅니다.
#[Beats input plugin] #listen on port 5044 for incomming Beats connections input { beats { port => 5044 } } # The filter part of this file is commented out to indicate that it is # optional # filter { # if "server1" in [tags] { # grok { # match => {"message" => "%{IP:ipaddress} %{NUMBER:log_no} %{WORD:text1} %{WORD:text2}"} # } # } # [Elasticsearch output plugin] # index into Elasticsearch output { if "server1" in [tags] { elasticsearch { hosts => ["localhost:9200"] manage_template => true index => "server1" } } if "server2" in [tags] { elasticsearch { hosts => ["localhost:9200"] manage_template => true index => "server2" } } } |
Elasticsearch 인덱스 추가
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/indices-create-index.html
elasticsearch.yml 파일에 action.auto_create_index: true 를 추가합니다.
Kibana DevTools 메뉴에서 명령어를 입력합니다.
PUT /server1?pretty
PUT /server2?pretty
GET /_cat/indices?v
인덱스는 소문자여야 합니다.
잘 만들어 졌습니다.
LogData, LogFiles 폴더에 데이터(마음껏 만들어 주세요)가 있는 .log 파일을 생성합니다.
저장을 하면 Filebeat 에 파일명과 데이터 정보가 표시되며 전달 되는걸 볼 수 있습니다.
kibana 에서 데이터 확인
잘 들어옵니다.
공식 사이트에서 여러 옵션에 대한 설명이 있으니 참고하며 기능을 확장해 나가시면 됩니다.
'데이터 분석 > 툴' 카테고리의 다른 글
[R] R, R Studio 화면 구성 (0) | 2018.07.16 |
---|---|
[R] R, R Studio 설치하기 (0) | 2018.07.16 |
[ELK Stack] 5 - Kibana (0) | 2018.07.09 |
[ELK Stack] 4 - FileBeat (0) | 2018.07.09 |
[ELK Stack] 3 - Logstash (0) | 2018.07.09 |