일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- SSL
- React
- API
- AWS
- Kibana
- logstash
- JS
- ssh
- MSSQL
- 설정
- unity
- mariadb
- build
- error
- Linux
- MySQL
- 구글
- 영어
- JavaScript
- elasticsearch
- 유니티
- ChatGPT
- Ai
- sample
- Windows
- s3
- nodejs
- docker
- Python
- Today
- Total
목록엘라스틱서치 (9)
가끔 보자, 하늘.
예들들어 data_type이 10001인 2023년 12월 25일 데이터를 모두 지우고 재구축하고 싶다면 kibana DevTools혹은 api를 이용해 다음과 같은 순서로 진행합니다. 1. 우선 count api를 이용해 삭제할 수량 확인 및 검증합니다. # index 파일을 날짜로 구분할 경우 한국은 +9 이므로 한국 시간 기준 0시부터 9시까지의 데이터는 logstash-2023.12.24에 포함됩니다. # 그러므로 logstash-2023.12.24에서도 동일한 쿼리를 실행해야 한국시간 기준으로 정확힌 데이터를 확인할 수 있습니다. GET /logstash-2023.12.25/_count { "query": { "bool": { "must": [ { "term": { "data_type": "10..
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html Date histogram aggregation | Elasticsearch Guide [8.11] | Elastic Many time zones shift their clocks for daylight savings time. Buckets close to the moment when those changes happen can have slightly different sizes than you would expect from the calendar_interval or fixed_in..
메이저 버전이 업그레이드 되면서 몇 가지 변경사항은 있는 법! 하지만 한 눈에 꼭 확인해야 하는 내용이 보이지는 않을 수 있습니다. 그렇다고 정식 메뉴얼을 꼼꼼히 보는게 쉽지 않고. (저처럼 소기업에서 1인 담당인 경우는 특히...) 가끔은 요약본이 필요하니 정리해 둡니다. elasticsearch.yml 의 수정사항 node.master(or data 등) 은 node.roles로 대체 node.roles: [master, data, data_content, data_hot, data_warm, data_cold, data_frozen, transform, ml, ingest, remote_cluster_client] 이중 필요한 기능만 설정하세요. transport.tcp... 은 transport...
https://github.com/blackwitch/elasticsearch-shapshot-daily blackwitch/elasticsearch-shapshot-daily Contribute to blackwitch/elasticsearch-shapshot-daily development by creating an account on GitHub. github.com 매일 어제 생성된 인덱스를 백업하는 샘플 코드입니다. 100 line 이내의 코드가 설명할 내용은 길지 않습니다. elasticsearchjs의 문제인지 아닌지 아직 알 수 없으나 생성 후 인덱스 중복 에러가 발생하나 스냅샷은 정상적으로 생성됩니다. 에러 내용은 아래와 같습니다. { "error":{ "root_cause":[{ "ty..
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']라는 인덱스들에서 어..
비지니스 로직에서 logstash로 tcp를 바로 데이터를 전송한다면 아래와 같은 흐름으로 설계가 될 것입니다. 이 경우 logstash 혹은 elasticsearch에 문제가 있을 경우 바로 데이터 손실이 발생할 수 있습니다. logstash와 elasticsearch의 문제 발생 혹은 점검 중 데이터 손실이 발생하지 않도록 전송할 데이터를 일시적으로 혹은 일정 기간 동안 보관했다가 logstash와 elasticsearch가 정상화 되었을 때 다시 전달할 수 있도록 아래와 같이 만들어 보겠습니다. 임시 저장소로는 Redis를 사용하고, 데이터 전송 흐름을 제어하기 위해 nodejs로 간단한 agent를 만들어 사용해 보겠습니다. 전달받은 로그는 모두 JSON 포멧의 텍스트로 가정합니다. const h..
Invalid aggregation order path [something]. Buckets can only be sorted on a sub-aggregator path that is built out of zero or more single-bucket aggregations within the path and a final single-bucket or a metrics aggregation at the path end. 아래와 같은 샘플을 만들었었다. "query" : { ... 검색 조건...}."aggs" : {"term_key" : {"terms": {"field" : "field_first","order" : {"something" : "desc"}}"aggs": {"something" :..
다음과 같은 순서로 작성되어 있습니다. 1. 개요 2. 준비 3. 쿼리 알아보기 4. nodejs와 통합 5. chart로 표현하기 1. 개요 최근 회사에 Elasticsearch(이하 ES)로 통계 시스템을 구축했습니다. Mysql MyISAM 엔진으로 구축하던 것과 비교해보면 엄청나게 편리해졌네요. Kibana로 쿼리하고 결과를 손쉽게 출력하여 담당자가 아닌 컨텐츠 개발자도 자신이 보고 싶은 결과를 바로 추가하여 볼 수 있을 정도니, 작은 개발사에는 이보다 더 좋은 솔루션이 있을까 싶네요. 그런데 ES에서 나온 다른 두 결과의 비교가 필요한 경우 불가능한 경우가 있어서 조금 아쉽더군요. 그래서 이를 직접 만들어 보기로 했습니다. 시간을 기준으로 데이터를 비교하는 경우는 timelion을 사용하면 되나..