AWS Cloud Watch 적용하기

알파로그·2023년 7월 4일
0

Cloud Computing Service

목록 보기
4/15

✏️ Cloud Watch

  • 클라우드 워치는 AWS 에서 재공하는 log 보관 서비스로 로그를 효율적으로 관리하고,
    조회할 수 있도록 도와주는 서비스이다.

📍 권한 추가

  • 사용자에 아래의 권한을 추가해준다.

✏️ 적용하기

📍 dependency

// cloud watch
implementation'ca.pjer:logback-awslogs-appender:1.6.0'

📍 Logback 설정파일 생성

  • 생성한 log 는 logback.xml 파일을 생성해 발생한 log 를 문서로 저장할 수 있다.
    • 나는 커스텀 하기위해 logback-spring.xml 로 resources 하위에 만들었다.
      • accsess key 는 AWS 에서 발급받은 값을 입력해주면 된다.
      • 프로필이 prod 상태일 때만 설정파일이 실행되도록 설정했다.
    • 🔗 XML 객체 설명
<?xml version="1.0" encoding="UTF-8"?>
<configuration packagingData="true">
    <timestamp key="timestamp" datePattern="yyyy-MM-dd-HH-mm-ssSSS"/>

    <appender name="aws_cloud_watch_log" class="ca.pjer.logback.AwsLogsAppender">
        <layout>
            <pattern>[%thread] [%date] [%level] [%file:%line] - %msg%n</pattern>
        </layout>
        <logGroupName>로그 그룹 이름</logGroupName>
        <logStreamUuidPrefix>로그 스트림 이</logStreamUuidPrefix>
        <logRegion>ap-northeast-2</logRegion>
        <maxBatchLogEvents>50</maxBatchLogEvents>
        <maxFlushTimeMillis>30000</maxFlushTimeMillis>
        <maxBlockTimeMillis>5000</maxBlockTimeMillis>
        <retentionTimeDays>0</retentionTimeDays>
        <accessKeyId>${AWS_ACCESS_KEY}</accessKeyId>
        <secretAccessKey>${AWS_SECRET_KEY}</secretAccessKey>
    </appender>

    <property name="CONSOLE_LOG_PATTERN" value="%highlight(%-5level) %date [%thread] %cyan([%C{0} :: %M :: %L]) - %msg%n"/>
    <appender name="console_log" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <springProfile name="dev">
        <root level="INFO">
            <appender-ref ref="console_log"/>
        </root>
    </springProfile>

    <springProfile name="prod">
        <root level="INFO">
            <appender-ref ref="aws_cloud_watch_log"/>
        </root>
    </springProfile>
</configuration>

📍 환경변수 추가

  • xml 파일의 민감정보를 환경변수를 통해 배포서버가 실행되도록 추가해주면 된다.
-e AWS_ACCESS_KEY= 엑세스키
-e AWS_SECRET_KEY= 시크릿키
profile
잘못된 내용 PR 환영

0개의 댓글