반응형

Kibana 8

Metricbeat 설치 및 Kibana 연동

8 버전부터는 Kibana의 Stack Monitoring이 기존 방식으로 지원하지 않는다고 메세지가 떠서 Metricbeat를 설치해 Monitoring 설정을 진행했습니다. Self-managed(On premise)로 운영중인 세 대(172.31.1.10 ~ 12)의 Elasticsearch의 모니터링을 위해 별도 시스템 혹은 기존 시스템에 metricbeat를 설치하여 모니터링 한다고 가정합니다. 그리고 시스템 로그는 추가하지 않게 설정해 보겠습니다. Metricbeat는 실행을 위해 root 권한이 필요합니다. 1. 설치 > curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.11.0-linux-x86_6..

elasticsearch-js로 인데스가 존재하는지 확인하는 방법

nodejs에서 elasticsearch-js를 이용해 데이터 분석, 취합을 할 때, 잘못된 인덱스 이름, 혹은 존재하지 않는 인덱스 이름으로 인해 문제가 발생하는 경우가 있습니다. 이 경우 검색이 중단되고 404 에러가 발생하며 중단됩니다. 에러를 막기위해 검색 시 아래 예제와 같이 ignore키워드를 지정할 수 있습니다. const result = await client.search({ index: 'my-index', from: 20, size: 10, body: { foo: 'bar' } }, { ignore: [404], maxRetries: 3 }) 이 방법은 에러를 막을 수 있지만, 검색이 중단되는 것은 동일합니다. 예를들어 ['seoul', 'busan', 'jeju']라는 인덱스들에서 어..

precision_threshold 이야기

DSL에서는 precision_threshold값을 적용하여 사용했는데, Kibana에서는 적용해본 적이 없다가 사용하시는 동료들이 값이 이상하다며 내용을 찾아보게 되었습니다. Metrics에 Y-Axis의 Aggregation을 Unique Count로 지정했을때 아래와 같은 값이 출력되고 있었습니다. 이 값이 terms로 뽑을 때와 3% 정도 차이가 나고 있어 DSL에 적용한 precision_threshold 설정을 적용해 봤습니다. Metrics 하단에 JSON input 란이 있습니다. 여기에 아래와 같이 입력하면 됩니다. precision_thredshold의 기본값은 3000이며, 최대값은 40000입니다. 아래와 같이 조정이 되지만 terms와 완전히 동일한 값이 되지는 않습니다. hits..

좌충우돌 ELK 7.1.1 롤링 업그레이드

기존에 사용하던 ELK 6.3을 7.1.1 버전으로 업그레이드하며 그 사이 발생했던 문제들을 정리해 보았습니다. 참고로 모두 수동 설치되어 있는 상태입니다. 1. 설치 및 사용 환경 2. 신규 장비 세팅하기 3. 신규 장비에 ES 설치하기 (ver 6.3) 4. Rolling 업그레이드 시작 - 6.3에서 6.8로 5. Rolling 업그레이드 시작 - 6.8에서 7.1.1로 6. Kibana, Logstash 업그레이드 [1. 설치 및 사용 환경 ] 현재 ELK를 사내 시스템에 설치하여 사용중에 있습니다. 돈이 많으면 그냥 편하게 Cloud 서비스를 사용하고 싶은 마음은 간절했으나 사정상 외부에서 서비스하는 시스템들이 보내는 raw data를 모두 가져와 사내의 ES에 밀어 넣고 있습니다. 운영비용도 ..

Elasticsearch를 Node.js에 통합하기

다음과 같은 순서로 작성되어 있습니다. 1. 개요 2. 준비 3. 쿼리 알아보기 4. nodejs와 통합 5. chart로 표현하기 1. 개요 최근 회사에 Elasticsearch(이하 ES)로 통계 시스템을 구축했습니다. Mysql MyISAM 엔진으로 구축하던 것과 비교해보면 엄청나게 편리해졌네요. Kibana로 쿼리하고 결과를 손쉽게 출력하여 담당자가 아닌 컨텐츠 개발자도 자신이 보고 싶은 결과를 바로 추가하여 볼 수 있을 정도니, 작은 개발사에는 이보다 더 좋은 솔루션이 있을까 싶네요. 그런데 ES에서 나온 다른 두 결과의 비교가 필요한 경우 불가능한 경우가 있어서 조금 아쉽더군요. 그래서 이를 직접 만들어 보기로 했습니다. 시간을 기준으로 데이터를 비교하는 경우는 timelion을 사용하면 되나..

Elasticsearch 특정 문서만 지우기

간혹 테스트를 하거나 잘못 보내진 문서만 골라서 지워야 하는 경우가 있다. kibana dev tools에서 _delete_by_query를 사용하여 손쉽게 처리할 수 있다. (앞으로도 간혹 생각나는 것들이 있거나 기록하고 싶으면 아래 내용을 추가할 예정!!) >> 특정 범위의 로그를 지울 경우POST logstash-rs1_lnk_kr-*/_delete_by_query{ "query": { "range" : { "item_name_you_want_to_delete": { "lt" : "value_you_find_out" // lt= less than, gt=greater than, eq=equal } } }}

Kibana systemd 에 등록하기

tar 파일 가져와서 설치했더니 데몬으로 가동이 안되는 상태. rpm으로 다시 설치할까 그냥 systemd에 등록함. elasticsearch , kibana 모두 6.3 버전 사용. /etc/systemd/system/kibana.service 파일을 만들어 아래 내용을 삽입. [Unit]Description=Kibana 6.3 [Service]Type=simpleUser=rootEnvironment=CONFIG_PATH=/your kibana path/config/kibana.ymlEnvironment=NODE_ENV=productionExecStart=/your kibana path/node/bin/node /your kibana path/src/cli [Install]WantedBy=multi-u..

Elasticsearch 설치기

CentOS에 Elasticsearch를 설치해 보았다. 정리할 생각이 없었는데, 하다보니 중간에 막히는 것들이 처리하면서 정리 한번 해둬야겠단 생각이 들었다. 일단 처음 설치할 때 주의할 점은 Elasticsearch는 root 계정으로 실행할 수 없다. (실행 가능하게 하는 옵션이 있던데, 최신 버전에서는 안되는 듯. 그리고 보안의 측면에서도 당연히 좋지 않아 추천하지 않는다.) 그러므로 전용 계정을 설정해서 설치, 실행하자. 설치 환경 및 각종 버전은 아래와 같다. CentOS 7.5.x Elasticsearch 6.3.0 (https://www.elastic.co/downloads/elasticsearch) plugin, Elastic-HQ (https://github.com/ElasticHQ/e..

반응형