[AWS] CloudWatch Logs 를 사용하여 로그 모니터링과 필터, 경보 생성 방법
Amazon CloudWatch Logs
클라우드와치 로그로 수집된 로그 데이터를 사용하여 애플리케이션 및 시스템을 모니터링 할 수 있습니다.
애플리케이션 로그에서 오류 발생 개수를 추적하고 오류 비율이 사용자가 지정한 임계치를 초과할 때마다 알림을 발송할 수도 있습니다.
예를 들면 특정 리터럴 문자에 대한 로그를 모니터링하거나, 로그 데이터의 특정 코드에서의 횟수를 계산할 수 있습니다.
CloudWatch Logs 모니터링
웹페이지에 접속할 수 없는 404 에러가 발생하는 로그를 모니터링 하는 상황입니다.
1. 서비스 중 CloudWatch 를 선택합니다.
2. 로그의 로그그룹을 클릭합니다.
3. 로그 그룹을 선택합니다.
참고로 로그 그룹은 사용자가 생성해야 하며
EC2 내의 어떤 로그파일을 어떤 로그그룹으로 수집하겠다 라고 설정되어 있어야 합니다.
4. 로그 스트림 ID 를 선택합니다.
참고로 로그 스트림은 사용자가 선택할 수도 있으며
여기에서는 EC2 Instance ID 를 Log Stream ID 로 설정했습니다.
5. 404 에러코드가 있는지 확인합니다.
CloudWatch Logs 필터 생성 방법
로그그룹에서 404 오류만 식별할 수 있는 지표필터를 구성합니다.
1. 로그 그룹에서 HttpAccessLog 를 클릭합니다.
HttpAccessLog 는 사용자가 만든 로그그룹 명 입니다.
이 로그그룹에 속한 파일은 http 에서 발생하는 오류로그가 기록되도록 설정되어 있습니다.
2. 작업에서 '지표 필터 생성' 을 클릭합니다.
필터 패턴은 로그 파일의 필터를 정의하고 특정 값으로 데이터를 필터링 합니다.
3. 필터 패턴을 생성합니다.
패턴 필터링은 로그 이벤트에서 일치될 항 또는 패턴을 지정할 수 있습니다.
404 오류를 수집하기 위해 status_code=404 인 에러가 수집되도록 설정했습니다.
패턴 테스트를 하려는 경우, 로그스트림 ID 값을 선택 후 'Test Pattern' 버튼을 클릭하면 됩니다.
404 오류가 나와야 합니다.
다음페이지로 넘어가서 지표 할당을 설정합니다.
필터이름과 지표 네임스페이스, 지표 이름, 지표 값을 설정하고 마칩니다.
4. 로그그룹에 지표 필터가 설정되었습니다.
이제 이 지표 필터를 경보에서 사용할 수 있습니다.
CloudWatch Logs 지표필터를 사용하여 경보 생성 방법
404 오류가 임계치 값 이상일 때 알림을 발생하도록 경보를 구성합니다.
1. 지표 필터를 선택 후 '경보 생성' 을 클릭합니다.
2. 지표 및 조건 지정을 합니다.
기간은 1분단위 이며, 임계값은 5 보다 큰 경우로 설정합니다.
3. 작업 구성을 설정합니다.
새 주제 생성을 클릭 후, 경보 메일을 받을 이메일을 입력합니다.
입력 완료 후 주제 생성을 클릭합니다.
4. 알람 이름을 설정합니다.
5. 알람을 생성합니다.
6. 받을 이메일로 접속하여 'Confirm Subscription' 을 클릭합니다.
7. 경보의 모든경보로 가서 경보 상태를 확인합니다.
아직 데이터가 수집되지 않았기 때문에 데이터가 없습니다.
8. 웹 브라우저에서 없는 주소로 접속하여 404 에러를 발생합니다.
9. 경보가 발생하고 알람이 메일로 발송됩니다.
10. 메일에서는 다음과 같은 내용을 확인할 수 있습니다.