log

컨테이너 내부에서 어던 일이 일어나는지 아는 것은 디버깅뿐만 아니라 운영 측면에서도 중요하다. 도커는 컨테이너의 표준 출력(StdOut)과 에러(StdErr) 로그를 별도의 메타데이터 파일로 저장하며 이를 확인하는 명령어를 제공한다. docker logs 명령어를 사용해 컨테이너의 표준 출력을 확인할 수 있다. $ docker run -d --name mysql \ -e MYSQL_ROOT_PASSWORD=1234 \ mysql:5.7 $ docker logs mysql 2022-12-27 10:19:09+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.40-1.el7 started. 2022-12-27 10:19:10+00:00 [N..
· Spring
이 전 블로그 글에서 Spring Boot 프로젝트를 생성하고 Prometheus와 연동까지 해봤다. 이제 Grafana를 연동해 시각화를 해보자. Grafana 설치 및 사용 Grafana 역시 도커로 설치하겠다. docker run -d -p 3000:3000 --name grafana grafana/grafana 설치 후 컨테이너가 실행됫으면 http://localhost:3000에 접속해보면 grafana 홈페이지에 접속될 것 이다. 초기 로그인은 admin/admin으로 접속해 비밀번호를 바꾸면 된다. 이제 Data source를 추가해 Prometheus와 연동해보자 전 블로그 글에서 접속했던 http request들이 확인되면 정상적으로 연동이 된 것이다. 전체 코드는 아래 GitHub에서 ..
· ELK
ELK란? 데이터 분석 및 저장 기능을 담당하는 Elasticsearch 데이터 수집 기능을 하는 Logstash 이렇게 수집한 데이터를 시각화하는 Kibana 그림처럼 3가지의 앞글자만 딴 Log 및 데이터 분석 도구이다. ELK는 접근성과 용이성이 좋아서 요즘 많이 사용하는 추세다. Elasticsearch Elasticsearch는 Apache Lucene( 아파치 루씬) 기반의 Java 오픈소스 분산 검색 엔진 Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real Time )으로 저장, 검색, 분석할 수 있다. Logstash 다양한 소스로부터 데이터를 수집하고 곧바로 전환하여 원하는 대상에 ..
· Spring
log4j(Log For JAVA)란? Java 기반 Logging 유틸리티로써 debug용 도구로 주로 사용된다. 애플리케이션에 문제 발생 시 문제의 위치를 빠르고 정확히 파악하기 위해 사용한다. 또한 성능 및 속도에 영향을 미치지 않고 편리하게 사용할 수 있다. log4j의 특징 속도 최적화 thread-safe 하다. 즉, 멀티스레드 환경에서도 안전 properties 파일과 xml 형식으로 실행 중 수정 적용 가능 5단계의 레벨의 장애를 사용(DEBUG < INFO < WARN < ERROR
· Apache Kafka
Topic & Partition이란? 메세지는 토픽(Topic)으로 분류되고, 토픽(Topic)은 여러개의 파티션(Partition)으로 나눠 질 수 있다. 파티션(Partition) 내의 한 칸은 로그(Log)라고 불린다. 데이터는 한 칸의 로그에 순차적으로 append 되는데 메세지의 상대적인 위치를 나타내는게 offset이다. (0이 가장 먼저) 여러개의 파티션으로 누눠서 쓰는 이유는? 메세지는 카프카의 해당 토픽(topic)에 쓰여지는데 시간이 소비된다. 몇 천건의 메세지가 동시에 카프카에 쓰여진다고 생각해보자. 하나의 파티션(partition)에 순차적으로 append되면 처리하는게 좀 버거울 것이다. 그렇기 때문에 여러개의 파티션을 두어서 분산 저장을 하는 것이다. 그러면 병렬로 처리될테니 시..
beekei
'log' 태그의 글 목록