Observability란 무엇일까요? Observability란 내부 동작 상황을 알 수 없는 시스템에 대하여 이해할 수 있도록 돕는 것, 정보를 의미합니다. 즉, 어떠한 문제가 발생하였을 때 Observability를 통해서 왜 이런 일이 발생했는지 유추해볼 수 있습니다. 너무 설명이 추상적인가요? 그럼, Observability 개념을 제외하고 생각해봅시다. 애플리케이션에서 어떠한 문제가 발생하였을 때, 어떻게 원인을 찾을 수 있을까요? 쉽게 생각한다면 "시스템 Log를 보죠!"라고 답할 수 있습니다. 맞아요. Log 도 Observability 범주에 속합니다. 더 넓게 trace, metrics, log, span 등과 같은 정보들. 즉, 애플리케이션의 상태를 계측할 수 있는 정보들을 의미합니다..
Docker container log는 stdout, stderr output streams로 Log를 찍는다. 기본적으로 이러한 log는 Docker host에 JSON file로 저장되게 된다. Default logging driver로 json-file logging driver를 사용하기 때문. Docker log의 저장 위치에 대해 찾아본다면, 아래의 주소에 저장된다고 나온다. /var/lib/docker/containers//-json.log 하지만 더 자세히 실행 중인 특정 컨테이너의 log 위치를 알고 싶다면, docker inspect 명령어를 사용하면 된다. docker inspect --format "{{.LogPath}}" 만약 container_id가 950925 라면, 위 com..
이전의 완전 초기 스타트업에서 Node.js/Express를 사용할 때, pm2를 통해 서버 관리를 한적이 있었다. pm2를 키면 access log를 바로 찍어줘서 request의 어느 부분에서 어떻게 오류가 나고 있고, 났었는지 확인하기가 편했다. Spring boot를 사용해 개발을 시작한 후, access log를 잊고 있다가 'application log 말고 access log는 어떻게 보지?' 라는 생각이 들자 찾아보게되었다. Spring boot를 사용하면 내부에 embedded tomcat이 있기에 따로 WAS를 띄울 필요가 없다. 이 tomcat에 대한 설정을 application.properties 또는 application.yml을 통해 설정할 수 있으며, 이를 통해 access.l..
이 글은 쿠버네티스 공식문서의 '로깅 아키텍처'를 바탕으로 요약 및 생각정리를 한 글 입니다. 잘못된 부분이 있다면, 자유롭게 피드백 부탁드립니다 :) 더 자세한 내용이 보고 싶으시다면, 아래 공식문서를 참고해주세요. 로깅 아키텍처 애플리케이션 로그는 애플리케이션 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케 kubernetes.io 컨테이너 엔진들도 로깅을 지원하도록 설계되었다 → 표준 출력, 표준 에러 스트림 작성 일반적으로 컨테이너 엔진이나 런타임에서 제공하는 기본 기능은 완전한 로깅 솔루션으로 충분하지 않다. 예를 들어, 컨테이너가 crash 되거나, Pod가 축출되거나, Node가 종료된 경우에..
Telemetry [Monitoring + Logging + Tracing] Monitoring, Logging을 포함해 Alerting 기능과 각 서비스 간 Tracing이 가능한 도구 분산환경인 MSA 구조에서는 이슈 발생 시, 쉽게 원인을 파악하기 어렵다. 쉽게 파악하기 위해 서비스 별 발생 가능한 이슈, 원인을 모아 Tracing을 지원 보통 Logging stack과 비슷한 개념으로 불리기도 한다. (Tracing을 제외하고) (개인적인 생각) Logging이라 하면 2가지의 성질로 나눌 수 있다. - Log: Application의 로그 (서버 구동관련, 비즈니스 로직, 에러 등) - Metric: Server resources (CPU 상태, 메모리 상태 등의 리소스 상황) 이런 Loggin..
- Total
- Today
- Yesterday
- 쿠버네티스
- 알고리즘
- jasync
- Spring
- WebFlux
- Log
- 백준
- Spring boot
- Clean Architecture
- MySQL
- Kubernetes
- k8s
- Algorithm
- 로그
- java
- container
- tag
- 일상
- 클린 아키텍처
- 비동기
- Istio
- Intellij
- c++
- 하루
- docker
- python
- boj
- gradle
- hexagonal architecture
- HTTP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |