개요 일반적으로 NGINX의 access_log, error_log는 라인 단위의 텍스트 형태로 출력한다. 오픈 소스 오브젝트 로깅 솔루션인 Graylog을 이용하여 해당 로그를 적재하면 오브젝트 단위로 검색이 용이하여 장애 발생시 문제 파악이 수월해진다. 이번 글에서는 Syslog UDP의 형태로 NGINX의 로그를 Graylog로 실시간 전송하는 방법을 정리하였다. NGNIX Syslog Content Pack 설치 개인 유저인 scriptingislife가 제작한 NGNIX Syslog Content Pack을 아래와 같이 설치한다. 설치가 완료되면 12401번 UDP 포트를 리스닝하는 Input가 자동 생성된다. Graylog Web Interface → System → Content Packs ..
개요 API를 운영하다보면 가장 흔하게 발생하는 이슈가 아주 짧은 찰나에, 동일한 API 요청이 거의 동시에 들어오는 것이다. 가장 일반적인 원인은 대개 엔드 유저가 브라우저 상에서 특정 버튼을 아주 빠르게 연속으로 클릭하는 것이고, 크리티컬하게는 특정 엔티티의 상태 변화를 유발하는 아주 미세한 차이의 Race Condition이 발생하는 경우도 있다. API는 이런 상황에 대비하여 동일 요청에 대해 중복 실행을 방지하는 로직으로 대응할 필요가 있다. 이번 글에서는 Spring Boot 프로젝트에서 Redis를 이용한 중복 실행 방지 로직을 구현하고 사용하는 예를 설명하고자 한다. 운영체제 환경 변수 추가 Redis 연결을 위한 환경 변수를 아래와 같이 추가한다. (상황에 맞게 application.ya..
개요 오픈 소스 오브젝트 로깅 솔루션인 Graylog는 기본적으로 적재될 로그의 각 필드 데이터 타입을 Dynamic Mapping으로 판단하여 인덱스 템플릿을 자동 생성한다. 장점은 손이 덜 가고 편리하다는 것인데, 단점으로는 문자열이 저장되어야할 필드를 숫자 타입으로 판단해버리면 로그 자체가 인덱스에 적재되지 못하고 유실될 수 있다. 운영 환경에서 로그 유실은 치명적일 수 있으므로 사전에 로그 필드의 데이터 타입을 지정하여 이러한 상황을 예방해야 한다. Graylog는 Custom Index Mapping를 통해 사전 데이터 타입 지정 기능을 제공한다. Graylog Custom Index Mapping 적용 방법 Custom Index Mapping 적용은 Graylog가 사용하는 Elasticse..
- Total
- Today
- Yesterday
- Tomcat
- spring
- maven
- jstl
- JHipster
- bootstrap
- 태그를 입력해 주세요.
- Kendo UI
- DynamoDB
- Eclipse
- 로드바이크
- 알뜰폰
- jpa
- chrome
- Docker
- node.js
- 구동계
- CentOS
- 평속
- jsp
- 자전거
- Spring MVC 3
- Kendo UI Web Grid
- 로드 바이크
- MySQL
- java
- Spring Boot
- JavaScript
- kotlin
- graylog
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |