ElasticStack

    Logstash 설치하기

    기초부터 다지는 ElasticSearch 운영 노하우 교재를 참고합니다. 파일비트를 통해 로그를 받아오려는 대상 파일을 지목했다. 이제 받아온 파일 내용을 로그 스태시로 받아 ES로 넘겨주면 된다.brew install elastic/tap/logstash-full이후에 설정파일로 들어가본다. cd /opt/homebrew/etc/logstash보이는 파일 항목은 다음과 같다.logstash.yml: Logstash와 관련된 설정을 할 수 있는 파일이다. 워커의 수는 몇 개로 할 것인지, 한번에 얼만큼의 배치를 처리할 것인지에 대한 것을 설정한다.logstash-sample.conf: 파싱에 사용할 플러그인, 다른 파싱 룰을 정의하는 것이다.(인덱스 파싱)jvm.options: Logstash를 실행할 ..

    Filebeat -> ElasticSearch, Logstash 로그 수집설정

    이부분은 교재를 참고했다.교재 [기초부터 다지는 ElasticSearch 운영 노하우]설정 파일 경로나 파일명은 OS에 따라 조금씩 차이가 있을 수 있음을 안내드립니다. 다른 OS나 다운로드 형태 기준으로 디렉토리 확인은 이 공식 사이트에서 확인 바랍니다. 1. Filebeat 설치하기brew install elastic/tap/filebeat-fullFilebeat 기본 파일들의 스펙은 다음과 같다.fields.yml: Filebeat가 Logstash를 거치지 않고 직접 ElasticSearch에 쓸 때 사용하는 타입과 필드를 정의한다.filebeat.reference.yml: filebeat.yml 파일에서 설정할 수 있는 모든 설정들이 예제 형식으로 제공된다. 이 파일의 내용을 참고해서 file..

    맥북 에어 M1 brew로 설치한 ElasticStack 설정파일 경로 찾기

    엘라스틱 스택을 설치했고, 설치 명령어는 다음과 같다.brew install elastic/tap/kibana-fullbrew install elastic/tap/elasticsearch-fullbrew install elastic/tap/filebeat-full이후 설정파일을 찾기 위해 여러 검색을 해봤고, 대부분의 인터넷 검색을 하게 되면 설정파일 경로가 /usr/local/etc/elasticsearch /usr/local/etc/kibana /usr/local/etc/filebeat여기에 있다고 나온다. 하지만, 내 컴퓨터에는/usr/local/etc/ 폴더가 없었다... 그래서 찾아본 결과sudo find / -name elasticsearch.yml여기에 있었다./opt/homebr..

    Kibana setup 하기

    지난 포스팅에서 데이터를 삽입하고, 그 내용을 kibana로 확인하려 했다.그런데 맥북을 구매한지 얼마 안되어서, 셋업이 하나도 안되어있다. 키바나 대시보드를 위한 셋업을 해둬야겠다!1. Kibana Setup여기서 키바나를 클릭하면 다음 페이지로 이동된다.지금 인덱스 타입을 추가해두지 않았기 때문에, 데이터를 추가해둔다.Add your data를 누른다. 이후, Create index pattern 을 누른다.이후, 추가하려는 인덱스 패턴을 기재한다.타임 필드를 선택한다.이후 매핑된 데이터 타입을 모두 확인한다. 특히 중요한 타임스탬프 타입이 date로 되어있는지 확인하고, date로 되어있으면 맨 오른쪽의 편집 아이콘을 누른다.누르면 다음과 같은 화면이 나타난다. 여기서 Set Format을 선택하..

    ElasticSearch에 내 컴퓨터 패킷 데이터 매핑

    엘라스틱 서치에 패킷데이터를 수집해서 실시간으로 저장하고 싶었다.그래서 와이어샤크 명령어중에 tshark라는 기능이 있다는 것을 알게 되었다.이 사이트 에서 tshark관련된 명령어를 확인해볼 수 있다. 이번에는 실시간은 아니고, 샘플로 데이터를 생성한 다음에 삽입해주는 과정을 살펴보려고 한다. 1. t-shark 명령어 사용하기터미널을 열고 다음과 같은 명령어를 입력해준다.brew install wiresharktshark -T ek -j "http tcp ip" -P -c 10> file.json나는 맥OS 기준이기 때문에 brew명령어를 사용했다.이후 패킷이 수집되는 모습이 보인다. 나는 일단 테스트를 진행하기 위해 10개의 패킷만 먼저 수집했다.2. ElasticSearch 켜기일단 ES를 켜야한..

    ElasticSearch DSL - match, match_phrase(풀 텍스트 쿼리)

    DSL쿼리를 공부해본다! 앞 쪽 부분이어서 aggregation들어가기 전에는 난이도가 비교적 쉽다.앞서, DSL이 어떤 약자인지 궁금해서 검색해봤다.DSL = Domain Specific Language 이다.이런 약어는 무조건 풀어서 알아두는게 좋다고 생각한다.그래야 기억에 오래 남는다. 본 포스팅에서는 match 관련 쿼리를 사용해 본다.Search 관련 DSL요청 url은 모두 GET http://localhost:9200/bank/_search로 동일하다.1. match_all해당 인덱스의 모든 쿼리를 리턴해준다.{ "query":{ "match_all":{ } }}2. match가장 일반적인 쿼리문, 뜻 그대로 매치되냐 ? 이다.match 속성을 쿼리 속성 안에 기재 후, 원하는 내..

    ElasticSearch search_API 테스트

    ElasticSearch 의 API 테스트공식 홈페이지에서 제공하는 API로 테스트를 진행해본다.0. 서비스 시작sudo systemctl daemon-reloadsudo systemctl enable elasticsearch.servicesudo systemctl start elasticsearch.service1. 현재 존재하는 인덱스 정보 확인curl 'localhost:9200/_cat/indices?v'명령어를 날려본다.health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open .kibana_7.13.3_0..

    ElasticSearch 트러블 슈팅

    Elasticsearch를 하면서 발생했던 트러블 슈팅에 대해 정리한다.환경 Centos7vmware 1. master_not_discovered{ "error" : { "root_cause" : [ { "type" : "master_not_discovered_exception", "reason" : null } ], "type" : "master_not_discovered_exception", "reason" : null }, "status" : 503 }마스터 노드를 찾을 수 없다는 오류였다.yml 파일에 들어간다. sudo nano /etc/elasticsearch/elasticsearch.yml그리고, 파일 내용에서 마스터 노드로 지정할 노드 네임을 기재해준다.cluster.initial_mast..