AWS Blu Age 런타임(Amazon EC2) Amazon CloudWatch 경보 설정 - AWS 메인프레임 현대화

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Blu Age 런타임(Amazon EC2) Amazon CloudWatch 경보 설정

CloudWatch를 설정하여 애플리케이션 로그를 수신하고 경보를 추가하여 가능한 오류를 경고할 수 있습니다. 이렇게 하면 배포된 애플리케이션에 예외가 발생할 때마다 더 많은 알림이 표시됩니다. 다음 섹션에서는 CloudWatch 로깅 및 경보 설정의 구성을 이해하고 배우는 데 도움이 됩니다.

CloudWatch 로깅 배포

기본적으로 AWS Blu Age 런타임에는 라는 로깅 파일이 포함되어 있습니다logback-cloudwatch.yml. 이 파일은 application-main.yml 파일에서 참조되지만 이 참조는 주석 처리됩니다.

# logging: # config: classpath:logback-cloudwatch.xml

두 파일은 모두 구성 폴더에 있으며 위의 줄의 주석 처리를 해제하면 기능을 활성화할 수 있습니다. 다음 섹션에 설명된 대로 CloudWatch 로깅을 구성할 수 있습니다.

CloudWatch 로깅 구성

logback-cloudwatch.xml 파일의 콘텐츠는 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration> <configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC} %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern> </encoder> </appender> <appender name="cloudwatch" class="com.netfective.bluage.runtime.cloudwatchlogger.CloudWatchAppender"> <logGroup>BluAgeRuntimeOnEC2-Logs</logGroup> <logStream>%date{yyyy-MM-dd,UTC}.%instanceId.%uuid</logStream> <layout> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC} %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern> </layout> <appender-ref ref="console" /> </appender> <root level="INFO"> <appender-ref ref="cloudwatch" /> </root> </configuration>

<appender name="cloudwatch"/> 요소 외부의 모든 항목은 표준 로그백 구성입니다. 이 파일에는 두 개의 펜더가 있습니다. 하나는 로그를 콘솔로 보내는 콘솔 어펜더이고 다른 하나는 로그를 CloudWatch로 보내는 CloudWatch 어펜더입니다.

root 요소의 level 속성은 전체 애플리케이션의 로깅 수준을 지정합니다.

<appender name="cloudwatch"/> 태그 내의 필수 값은 다음과 같습니다.

  • <logGroup/>: CloudWatch에서 로그 그룹의 이름을 설정합니다. 값이 지정하지 않은 경우 기본값은 BluAgeRuntimeOnEC2-Logs입니다. 로그 그룹이 존재하지 않으면 자동 생성됩니다. 이 동작은 아래에서 설명하는 구성을 통해 변경할 수 있습니다.

  • <logStream/>: CloudWatch의 logStream(로그 그룹 내부)의 이름을 설정합니다.

선택적 값:

  • <region/>: 로그 스트림이 기록될 지역을 재정의합니다. 기본적으로 로그는 EC2 인스턴스와 동일한 리전에 이동합니다.

  • <layout/>: 로그 메시지가 사용할 패턴.

  • <maxbatchsize/>: 작업당 CloudWatch로 전송할 수 있는 최대 로그 메시지 수입니다.

  • <maxbatchtimemillis/>: CloudWatch 로그를 기록하는 데 걸리는 시간(밀리초)입니다.

  • <maxqueuewaittimemillis/>: 내부 로그 대기열에 요청을 삽입하려고 시도하는 데 걸리는 시간(밀리초).

  • <internalqueuesize/>: 내부 대기열의 최대 크기입니다.

  • <createlogdests/>: 로그 그룹과 로그 스트림이 없는 경우 이를 생성합니다.

  • <initialwaittimemillis/>: 시작 시 스레드를 휴면 상태로 만들려는 시간입니다. 이 초기 대기 시간 동안 로그가 처음 누적될 수 있습니다.

  • <maxeventmessagesize/>: 로그 이벤트의 최대 크기. 이 크기를 초과하는 로그는 전송되지 않습니다.

  • <truncateeventmessages/>: 너무 긴 메시지는 잘라냅니다.

  • <printrejectedevents/>: 비상 첨부 파일을 사용합니다.

CloudWatch 설정

위의 구성에서 로그를 CloudWatch로 올바르게 푸시하려면 Amazon EC2 IAM 인스턴스 프로파일 역할을 업데이트하여 `BluAgeRuntimeOnEC2-Logs` 로그 그룹 및 해당 로그 스트림에 대한 추가 권한을 부여하세요.

  • logs:CreateLogStream

  • logs:DescribeLogStreams

  • logs:CreateLogGroup

  • logs:PutLogEvents

  • logs:DescribeLogGroups

경보 설정

CloudWatch 로그 덕분에 애플리케이션과 필요에 따라 다양한 지표와 경보를 구성할 수 있습니다. 특히, 사용 알림에 대한 사전 경보를 설정하여 애플리케이션이 유예 기간에 빠질 수 있는 오류가 발생할 경우 경고를 보내고 결국에는 아예 작동하지 않도록 할 수 있습니다. 이를 위해 로그에 "Error C5001" 문자열과 관련된 지표를 추가하여 AWS Blu Age 제어 시스템에 대한 연결 오류를 강조 표시할 수 있습니다. 그런 다음 이 지표에 반응하는 경보를 정의할 수 있습니다.