키바나에서 elasticsearch과 연결이 안된다는 문구가 떴고 로그를 보니 kibana에서 모니터링 인덱스를 elasticsesarch에 넣을 때 circuit_breaking_exception이 난다.
모니터링 인덱스 data 크기가 커서 발생한 에러로 보인다.
elasticsearch의 힙 사이즈를 늘려줬다.
elasticsearch 공식 docs를 보니 elasticsearch는 default로 서버 메모리의 절반 (도커로 띄워져 있는 경우 컨테이너에 설정된 메모리의 절반)을 힙 사이즈로 지정해준다고 한다.
직접 설정하기보다는 운영레벨에서는 default sizing으로 설정하라고 권장한다.
따라서, docker-compose.yml에서 mem_limit을 ec2서버 메모리를 고려해줘 늘려서 해결했다.
> 마스터 노드의 jvm 설정 확인하는 api
curl http://${host}${port}:/_nodes/_master/jvm?pretty
+ 추가적으로 디스크 용량도 많이 찼길래 봤더니 역시나 모니터링 인덱스가 많이 잡아먹고 있었다.
모니터링 인덱스 보존기간을 하루로 설정해서 용량 확보도 해줬다.
> 모니터링 인덱스 보존 기간 설정 (이 기간이 지난 모니터링 인덱스는 자동으로 삭제됨)
PUT _cluster/settings {"persistent": {"xpack.monitoring.history.duration":"1d"}}
- minimum 1day
[es jvm 설정 관련 참고]
https://www.elastic.co/guide/en/elasticsearch/reference/8.10/cluster-nodes-info.html
[참고]
https://boying-blog.tistory.com/95
'ELK' 카테고리의 다른 글
[Filebeat] 파일 수집과 registry (1) | 2024.07.14 |
---|---|
[Filebeat] 8 버전 filestream input 타입 재수집 이슈 (0) | 2024.07.14 |