일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- build
- docker
- 구글
- MySQL
- ssh
- Linux
- s3
- API
- ChatGPT
- unity
- error
- logstash
- elasticsearch
- Windows
- mariadb
- Python
- Kibana
- Ai
- sample
- AWS
- Git
- 엘라스틱서치
- 설정
- MSSQL
- JavaScript
- JS
- 유니티
- 영어
- nodejs
- Today
- Total
목록엘라스틱서치 (10)
가끔 보자, 하늘.
우선 Docker Desktop에서 Elasticsearch , Kibana 이미지를 찾아 실행합니다. 둘 모두 잘 실행되었다면 kibana로 접속합니다. http://localhost:5601로 접속하면 아래와 같은 화면이 뜹니다. docker 로 둘을 실행하면 서로 다른 네트웍으로 인식하고 elasticsearch에서는 kibana의 원격접속 인증을 위해 elasticsearch에서 발급한 토큰을 입력하라고 요청합니다. elasticsearch docker에 exec 탭에서 아래 커멘드를 입력해 토큰을 생성합니다. bin/elasticsearch-create-enrollment-token --scope kibana이렇게 발급된 코드값을 복사해 kibana 웹 페이지에서 입력합니다. 그럼 아래와 같은 ..
예들들어 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" :..