[java] JHipster와 CloudWatch

JHipster는 Spring Boot와 AngularJS를 기반으로 한 자바 개발자들을 위한 오픈 소스 개발 플랫폼입니다. CloudWatch는 Amazon Web Services(AWS)의 모니터링 및 로깅 서비스로, 애플리케이션의 로그 및 메트릭 데이터를 캡처하고 분석할 수 있습니다. 이번 포스트에서는 JHipster와 CloudWatch를 연동하는 방법을 알아보겠습니다.

JHipster 설정

  1. pom.xml에 아래의 의존성을 추가합니다.
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-cloudwatch</artifactId>
</dependency>
  1. application.yml 파일에 다음과 같이 CloudWatch 레지스트리 설정을 추가합니다.
management.metrics.export.cloudwatch.namespace: JHipsterApp
management.metrics.export.cloudwatch.enabled: true

AWS 설정

  1. AWS Management Console에 로그인합니다.

  2. CloudWatch 서비스를 선택합니다.

  3. 왼쪽 탐색 창에서 “Log groups”를 선택합니다.

  4. “Create log group”을 선택하고, 로그 그룹의 이름을 입력합니다.

로그 수집 기능 활성화

  1. pom.xml 파일에 아래의 의존성을 추가합니다.
<dependency>
    <groupId>io.jhipster.dependency-aws</groupId>
    <artifactId>aws-log-appenders</artifactId>
    <version>1.5.0</version>
</dependency>
  1. logback-spring.xml 파일을 열고, 로그 설정을 변경합니다.
<configuration>
    ...
    <appender name="CLOUDWATCH"
        class="io.jhipster.logging.cloudwatch.CloudWatchAppender">
        <destination>your-log-group-name</destination>
    </appender>
    ...
    <root level="INFO">
        ...
        <appender-ref ref="CLOUDWATCH" />
    </root>
    ...
</configuration>
  1. application.yml 파일에 AWS 액세스 키 및 시크릿 키 정보를 추가합니다.
aws:
    credentials:
        accessKey: your-access-key
        secretKey: your-secret-key

로그 확인

  1. CloudWatch 서비스로 이동하여 로그 그룹을 선택합니다.

  2. 로그 그룹에는 애플리케이션에서 기록한 로그들이 표시됩니다.

결론

JHipster와 CloudWatch를 함께 사용하면 애플리케이션의 모니터링과 로깅을 효율적으로 관리할 수 있습니다. 이 포스트를 통해 JHipster와 CloudWatch를 연동하는 방법을 학습하였습니다. CloudWatch를 사용하여 시스템의 성능과 신뢰성을 높일 수 있습니다.

참고 자료: