앱 모니터링 정보

·2024년 3월 17일
0

Project

목록 보기
5/5
post-thumbnail

모니터링 방법 2가지
1. AWS Cloudwatch
2. Datadog
3. Firebase

모니터링할 것

1. CPU 점유율, 메모리 사용률, 네트워크 활동과 같은 시스템 레벨의 메트릭

2. 애플리케이션 안에서 로깅 라이브러리로 작성한 로그는 로깅 라이브러리 설정 파일을 통해 수집

🏁 CloudWatch란?
: AWS 클라우드 리소스 및 AWS에서 실행되는 애플리케이션에 대한 모니터링 서비스
목적 - 시스템 레벨의 메트릭 또는 애플리케이션 로그 확인할 때 사용

설정 방법 참고: 링크텍스트
point, 시스템 레벨 메트릭스 모니터링 설정하는 방법임

  • 앱 배포 vpc와 격리된 second VPC 생성 -> 메일로 CPU부하 발생등의 알람을 받을 수 있음
  • EC2 1분간격 모니터링 설정(약간의 추가 비용 발생) 약간의 비용 증가

Cloudwatch로 모니터링하는 방법 참고: 링크텍스트

🏁 Cloudwatch logs란?
: 로그 데이터를 수집하고 저장하는 데 사용
목적 - 애플리케이션 로그 확인할 때 사용

  1. 과정 : Cloudwatch로 모니터링 -> ( Amazon SNS를 통해 이메일로 전송 ) -> 개인 이메일

  2. 과정: 애플리케이션 -> (SDK 또는 CloudAgent를 ec2에 설치하여 애플리케이션의 로그 전송) CloudwatchLogs로 수집 -> CloudWatch로 모니터링

2 과정의 첫번째 전달 과정 연결 방법

애플리케이션 코드 내에서 생성된 로그 메시지를 cloudwatchLogs로 전송하기!
로깅 라이브러리(Slf4j)의 설정 파일을 통해 로그를 CloudWatch Logs로 전송하는 방법
: 로깅 라이브러리의 설정 파일 수정
참고 : 링크텍스트
1. Logback 또는 Log4j 설정 파일 수정
Logback 또는 Log4j와 같은 로깅 라이브러리의 설정 파일(logback.xml 또는 log4j.properties)을 열어 CloudWatch Logs로 로그를 전송하는 Appender를 추가합니다.
이를 위해 AWS에서는 Logback과 Log4j용 CloudWatch Appender를 제공합니다. 이 Appender를 사용하여 로그를 CloudWatch Logs로 전송할 수 있습니다.
설정 파일에는 CloudWatch Logs의 로그 그룹과 로그 스트림 이름 등의 정보를 지정해야 합니다.

  1. AWS SDK 및 CloudWatch Logs 연동
    일부 로깅 라이브러리는 AWS SDK와 직접적으로 연동하여 로그를 CloudWatch Logs로 전송하는 기능을 제공합니다.
    이를 위해 AWS SDK를 프로젝트에 추가하고, 코드 내에서 CloudWatch Logs를 초기화하고 로그 메시지를 전송하는 코드를 작성해야 합니다.

  2. IAM 역할 및 권한 설정
    CloudWatch Logs로 로그를 전송하기 위해서는 애플리케이션이 AWS 자원에 액세스할 수 있는 적절한 IAM 역할 및 권한을 가져야 합니다.
    이를 위해 AWS IAM에서 CloudWatch Logs에 대한 쓰기 권한을 부여한 IAM 정책을 생성하고, 해당 IAM 역할을 EC2 인스턴스 또는 애플리케이션에 할당합니다.

  3. 로그 라이브러리 초기화
    마지막으로, 애플리케이션의 코드에서 로깅 라이브러리를 초기화하고 CloudWatch Logs로 로그를 전송하는 설정을 추가합니다.
    이러한 단계를 따라서 로깅 라이브러리의 설정 파일을 수정하고, AWS SDK를 사용하여 CloudWatch Logs로 로그를 전송할 수 있습니다. 이를 통해 애플리케이션의 로그를 CloudWatch Logs로 중앙 집중식으로 수집하고 관리할 수 있습니다.

profile
기회를 잡기 위해 준비하자 !

0개의 댓글