본문 바로가기

2017/0410

[ELK] logback에서 설정한 시간 포맷과 ELK 시간 포맷 동기화 elasticsearch에서는 ISO8601 표준 date 포맷을 사용해야 date 형식으로 변환하는데 오류가 발생하지 않는다. 형식이 맞지 않더라도 logstash에서 date 형식을 지정해주면 되지만 포맷을 통일하는 것이 좋을 것 같아서 ISO8601로 통일했다. 또한 타임존은 기본 UTC를 사용하고 Kibana에서 타임존을 설정하는 방식으로 결정했다. logback 설정기존에 yyyy-MM-dd HH:mm:ss.SSS 포맷으로 사용하던 것을 ISO8601 로 변경 DEBUG ACCEPT DENY Log/debug.log Log/debug-%d{yyyy-MM-dd}.%i.txt 100MB 60 10GB %d{ISO8601} %level %msg %n 가장 하단의 encoder 태그 부분에 %d{ISO.. 2017. 4. 25.
logback 사용 시 log level별 appender 설정 로그 레벨에 따라 로그를 출력하는 방식을 다르게 하고 싶은 경우 filter를 사용하여 이를 구현 할 수 있다. 로그 레벨에 따라 filter를 지정하므로 ch.qos.logback.classic.filter.LevelFilter를 사용한다. error ACCEPT DENY Log/error.log Log/error-%d{yyyy-MM-dd}.%i.txt 100MB 60 10GB %d{yyyy-MM-dd HH:mm:ss.SSS}[%-5level] : %msg%n 위의 예제의 경우 loglevel이 error인 경우 파일에 로그를 남긴다. 또 다른 appender를 추가하여 레벨에 따라 콘솔에만 로그를 남기게 할 수도 있고 logstash로 전달하게도 할 수 있다. 아래는 각 레벨별 로그 설정에 대한 전문.. 2017. 4. 25.
logback 사용 시 jdbc 로그 찍는 방법 log4jdbc 사용gradle package 추가compile 'com.googlecode.log4jdbc:log4jdbc:1.2' jdbc 패키지 변경com.mysql.jdbc.Driver 에서 net.sf.log4jdbc.DriverSpy 로 변경 connection string 변경jdbc:mysql://...생략... 에서 jdbc:log4jdbc:mysql://...생략... 으로 변경 logback.xml에 logger 추가 2017. 4. 25.
[Docker] 컨테이너에서 sudo 사용하기 sudo 명령을 실행하기 위해서는 sudo 설치 및 사용자 설정이 필요하다. 아래 절차를 Dockerfile의 RUN 명령문에 지정하면 된다. 1. sudo 설치$ apt-get update && apt-get install -y sudo 2. 사용자 계정 추가 (아래 명령에서 사용자명은 user이다.)$ adduser --disabled-password --gecos "" user \ && echo 'user:user' | chpasswd \ && adduser user sudo \ && echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers 이 때 sudoers에 추가한 유저에 대한 설정을 하지 않으면 sudo를 사용할 수 없다. /etc/sudoers의 내용을 보.. 2017. 4. 25.