본문 바로가기

전체 글16

[Filebeat] 8 버전 filestream input 타입 재수집 이슈 filebeat 8.7 버전의 filestream input 타입으로 로그 파일을 수집하는 환경에서 로그 파일을 재수집하는 이슈가 발생했다. 로그파일은 일자별로 rotate되고 있는 상황이었다. 특정 일자의 로그 파일을 수집하다가 처음부터 다시 읽는 현상 간헐적으로 발생했고 어떤 파일만 재수집했는지 registry를 분석했다.두가지 상황에서 재수집했다.1. 파일비트 재시작 할 때 2. 특정 파일을 수집하는 도중에 처음부터 수집하는 경우  분석 결과, 1번의 경우에 재시작하면서 registry에 저장된 inode에 해당된 파일을 읽으려고 시도 -> 저장된 offset이 파일의 바이트 크기보다 커서 offset에 해당하는 내용이 없음-> 처음부터 수집, 파일비트 로그는 다음과 같이 찍힘 File was tr.. 2024. 7. 14.
Kibana circuit_breaking_exception 키바나에서 elasticsearch과 연결이 안된다는 문구가 떴고 로그를 보니 kibana에서 모니터링 인덱스를 elasticsesarch에 넣을 때 circuit_breaking_exception이 난다.모니터링 인덱스 data 크기가 커서 발생한 에러로 보인다.elasticsearch의 힙 사이즈를 늘려줬다. elasticsearch 공식 docs를 보니 elasticsearch는 default로 서버 메모리의 절반 (도커로 띄워져 있는 경우 컨테이너에 설정된 메모리의 절반)을 힙 사이즈로 지정해준다고 한다.직접 설정하기보다는 운영레벨에서는 default sizing으로 설정하라고 권장한다.따라서, docker-compose.yml에서 mem_limit을 ec2서버 메모리를 고려해줘 늘려서 해결했다... 2024. 7. 10.
REST API의 HATEOAS hypermedia(링크)를 통해 리소스의 상태 전이가 가능해야 함 -> response에 리소스에 대해 액션에 대한 정보(링크)를 제공하는 것 서버가 업데이트 되더라도 클라이언트는 업데이트 될 필요 없도록 { "data": { // HAL JSON의 리소스 필드 "id": 1000, "name": "게시글 1", "content": "HAL JSON을 이용한 예시 JSON" }, "_links": { // HAL JSON의 링크 필드 "self": { "href": "" // 현재 api 주소 }, "profile": { "href": "" // 해당 api의 문서 }, "next": { "href": "" // article 의 다음 api 주소 }, "prev": { "href": "" // art.. 2023. 4. 22.
오랜만에 MySQL 접속하니 마주한 에러들 해결 정리 회사 맥북으로 MySQL을 사용하다가 내 맥북으로 새로운 프로젝트를 시작하기 위해서 MySQL 서버에 접속하려고 하니 여러 에러들을 마주했다. 1. sudo로 접속해도 mysql 서버에 접속되지 않는 문제 (비밀번호를 설정했는데 틀린 비밀번호로 접속해서 발생한 문제 같았음) 2. 터미널로 mysql 서버에 접속하는데 자꾸 호스트가 jdbc:mysql://localhost 로 설정되어서 Unknown MySQL server host 라는 에러 메시지가 나왔다. 해결 방법을 정리하자면, 1. 해결 sudo로 접속해도 mysql 서버에 접속되지 않는 문제 mysql 서버를 실행할 때 --skip-grant-tables 라는 옵션을 준다. 아래 명령어를 순차적으로 실행하면 된다. mysql.server stop.. 2023. 3. 29.