일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- error
- 유니티
- mariadb
- ssh
- 영어
- sample
- Windows
- Kibana
- docker
- logstash
- ChatGPT
- s3
- 설정
- Ai
- elasticsearch
- SSL
- React
- AWS
- Linux
- unity
- MSSQL
- JS
- nodejs
- MySQL
- API
- JavaScript
- 구글
- build
- Today
- Total
목록elasticsearch (33)
가끔 보자, 하늘.
기존에 사용하던 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에 밀어 넣고 있습니다. 운영비용도 ..
며칠 전 데이타 손실이 발생하여 내용을 공유하기 위해 기록합니다. 일단 구축한 시스템은 사내에 ES로 시스템을 구축해두고, 각 컨텐츠 별로 REST API 서버 + Redis로 중간 저장소를 만들어 둔 상태입니다. 그리고 사내의 세팅된 Logstash에서 방화벽이 열리는 시간에 컨텐츠 별 중간 저장소로 접속해 그동안 쌓여있는 로그를 가져오도록 되어 있습니다. 이렇게 세팅된 이유는 Node 별 초기/유지 비용을 줄이고 (사내에서 PC로 시스템을 구축해 둠. 서버와 비슷한 성능의 시스템을 저렴하게 구축할 수 있으며, IDC의 상면비 등을 절감할 수 있기 때문입니다. 문제 발생 시 접근성도 용이합니다.), 운영자들의 접근 속도도 높이기 위함입니다. ES외에도 리포트 사이트를 구축하여 Kibana로는 결과를 만..
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을 사용하면 되나..
간혹 테스트를 하거나 잘못 보내진 문서만 골라서 지워야 하는 경우가 있다. 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 } } }}
쉽다길래 별 생각 안했는데.. 설정할게 많네 -_- ERROR. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]ERROR. memory locking requested for elasticsearch process but memory is not locked 위 두 에러가 발생하면 아래 내용을 참고하여 수정하면 된다. 클러스터를 구성하기 위해서는 리소스 사용에 대한 제한을 풀어줘야 한다. 아래 command로 현재 리소스 제한 사항을 볼 수 있으며, ulimit -Sa vi /etc/security/limits.conf 로 들어가서 아래와 같이 설정한다. es-user hard mem..
'logstash-' 날짜 형태로 인덱스를 자동 생성하는데, 여러 타이틀 혹은 용도 별로 분리하려면 수정이 필수적임. 만약 새롭게 생성하는 상황이라면, 원하는 곳에 pipelines에 적용할 config 파일을 하나 만들자. ( https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html 참고) 만약 이미 만들어 두었다면 config/pipelines.yml을 열어 pipeline.id의 path.config를 확인해보자. 이제 기본적인 pipeline config를 구성했다면 원하는 조건과 이름을 활용해 인덱스를 수정해보자. 만약 logstash에서 elasticsearch로 바로 보낸다면 output 부분이 아래와 같을 것이다. ou..
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..