목록전체 글 (284)
빙응의 공부 블로그

📝배경저번 포스팅에서 Prometheus와 Grafana를 이용해 시스템 모니터링 시각화를 진행했었죠. 이번 시간에는 여기서 한 발 더 나아가, Grafana에서 애플리케이션 로그 정보까지 효과적으로 시각화하는 방법을 알아보겠습니다. 이 포스팅은 아래 두 개의 선행 포스팅을 완료하신 분들을 대상으로 합니다. 만약 아직 진행하지 않으셨다면, 먼저 읽어보시기를 강력히 추천드립니다.[+/KM]Logback으로 EC2 환경 로그 관리하기 [+/KM]Logback으로 EC2 환경 로그 관리하기📝배경 이번 게시글에서는 Spring Boot에서 Logback을 활용해 EC2 서버에서 로그를 환경별로 효율적으로 관리하는 방법에 대해 설명합니다.특히, 운영 환경에서 로그 가독성 문제를 어떻게 해결했는quddnd.ti..

📝배경저번 포스팅에서는 Logback을 이용한 로그 저장을 다뤘습니다. 덕분에 애플리케이션 내부에서 발생하는 이벤트들을 효율적으로 기록할 수 있게 되었죠. 하지만 로그를 열심히 쌓는 와중에 한 가지 불편한 점이 생겼습니다. 바로 제가 서비스를 올린 EC2 인스턴스의 상태와 현재 사용률을 파악하기 힘들다는 점이었습니다.인스턴스의 CPU 사용량, 메모리 점유율, 디스크 I/O 같은 핵심 지표들을 실시간으로 파악하기 어려웠습니다. 결국 인스턴스에 문제가 생겨도 "왜 느려졌지?", "혹시 서버가 다운되지는 않을까?" 하는 불안감 속에서 CloudWatch 기본 지표만으로는 답답함을 느꼈습니다. 그렇기에 저는 이 불편함을 개선해야 한다는 필요성을 절감했고, 다양한 모니터링 툴들을 찾아 나서게 되었습니다. 📝..

📝배경 이번 게시글에서는 Spring Boot에서 Logback을 활용해 EC2 서버에서 로그를 환경별로 효율적으로 관리하는 방법에 대해 설명합니다.특히, 운영 환경에서 로그 가독성 문제를 어떻게 해결했는지 실제 프로젝트 기반 경험을 바탕으로 공유드리려 합니다. 로컬 환경에서는 테스트 진행 시에 로그를 바로바로 확인이 가능해서 문제점이 드러나지 않았지만,EC2에 서버를 배포하면서 로그를 직접 EC2 서버를 연결하여 확인해야했습니다. EC2 서버의 로그는 가독성이 떨어졌고, 이를 반드시 개선해야겠다고 생각했습니다. 로컬 환경에서는 콘솔만 쳐다보면 되지만, EC2 서버에 배포된 뒤에는 SSH로 직접 접속해 로그를 뒤져야 하는 불편함이 있었습니다. 특히 로그가 단일 파일에 뒤섞여 있어 필요한 정보를 찾는 데..

📝배경저번 포스팅 에서 JDBC Batch bulk Insert을 이용해서 공공데이터 갱신 작업 최적화를 진행하였습니다.갱신 작업 자체는 로컬 호스트에서 성공적으로 성능이 개선되었으나... AWS에서 배포 시에 문제가 발생했습니다. 해당 오류는 이 오류 메시지는 java.lang.OutOfMemoryError: Java heap space 즉, Java 힙 메모리가 부족해서 발생한 오류입니다. 자세히 살펴보면, Tomcat 서버의 NIO 커넥션 폴링 스레드에서 ConcurrentHashMap의 iterator를 돌리다가 메모리가 부족해진 상황입니다.더보기@Slf4j@RequiredArgsConstructor@Order(1)@DummyDataInitpublic class PlaceInitializer..

📝서론 이번 장에서는 영속 저장 장치라고 하는 또 하나의 핵심적인 가상화 퍼즐을 알아보자. 하드 디스크 드라이브 또는 좀 더 최근의 솔리드 스테이트 드라이브(SSD)와 같은 저장 장치는 영구적으로 정보를 저장한다.전원 공급이 차단 되어도 그대로 데이터를 보존하며 운영체제는 이러한 장치를 더 신중히 다뤄야한다. 핵심 질문 : 어떻게 영속 장치를 관리하는가?운영체제는 어떻게 영속 장치를 관리할까?구현에서의 중요한 측면은 무엇일까 들어가기 앞서 우리는 Unix의 파일 시스템을 볼 것이다. 📝파일과 디렉터리저장 장치의 가상화에 대한 두 가지 주요 개념이 개발되었다.파일단순히 읽고 쓸 수 잇는 순차적인 바이트의 배열각 파일은 저수준의 이름을 갖고 있으며 보통 숫자로 표현되며 사용자는 알지 못한다.(아이노..

📝서론 이전 장에서는 I/O 장치 전반에 대한 개념과, 운영체제가 이러한 장치들과 어떻게 상호작용하는지 살펴보았다.이번 장에서는 특정 I/O 장치인 하드 디스크 드라이브(HDD)에 대해 좀 더 구체적으로 알아본다.핵심 질문디스크에 있는 데이터를 어떻게 저장하고 접근하는가?현대 디스크는 데이터를 어떻게 저장하는가?디스크 인터페이스는 어떤 방식으로 작동하는가?실제로 데이터는 어떻게 배치되고 접근되는가? 📝인터페이스 현대 디스크 드라이브의 인터페이스를 이해해보자.모든 현대 디스크 드라이브의 기본적인 인터페이스는 단순하며 규칙들이 존재한다. 드라이브는 읽고 쓸 수 있는 매우 많은 수의 블럭들로 이루어져 있다.디스크의 블럭들은 배열로 0부터 N-1까지의 주소 공간을 가진다.드라이브는 원자적으로 온전히 모두 완..