Cloudwatch LogGroup Metric, Subscribe Filter (지표, 구독 필터)
Intro
RDS, 로드밸런서, CloudWatch Agent에서 수집되는 로그들은 지표가 존재하기에, 알람설정 혹은 대시보드로 표현할 수 있다. 애플리케이션 단에서 수집하는 로그에 대해서는 지표가 존재하지 않아 애플리케이션에서 알람 발생, 처리와 같은 로직을 수행해야 했었다. 하지만 알람의 경우 로직과 별개인 이벤트이고, 또한 비동기로 처리 가능한 오류가 있을 수 있다. 그것에 대한 방안으로 지표 필터다. 또한 로그를 스트리밍 할 수 있는 구독 필터도 있다. 언급한 2개를 활용해 보자.
Metric Filter (지표 필터)
지표 필터는 로그에 대한 특정 패턴에 대해서 지표로 변환하여, 일정 수치에 도달 시 트리거를 구성할 수 있다. 지표 필터의 구성은 다음과 같다.
1. 패턴 필터링 지정 - 필터링할 방법 정규 표현식, json 이벤트일 경우 json 지정
2. 필터링 이름 - 필터링에 대한 이름
3. 지표 네임스페이스 - 지표의 묶음
4. 지표 이름 - 지표에 대한 이름
5. 지표 값 - 트리거가 발동될 값
6. 기본 값 - 평소의 수집되는 값
예시를 기반으로 구성 값을 채워보면 아래와 같다.
ex) 애플리케이션에서 ERROR가 포함된 로그가 1회 발생됐을 때 트리거 됐으면 좋겠어요~
1. 패턴 필터링 -> % ERROR% (ERROR가 포함된 에러가 수집될 때)
2. 필터링 이름 -> ErrorFilter
3. 지표 네임스페이스 -> Prod
4. 지표 이름 -> ApplicationEerror
5. 지표 값 -> 1 (한 번 수집될 경우 트리거 발동)
6. 기본값 -> 0 (평상시의 값)
그 후 지표를 선택한 후 경보생성을 눌러서 이후 처리를 해주면 된다. SNS 주제로 발생시키고, 구독을 Lambda, SQS로 해주면 된다. 알람으로 활용할 수도 있고, Lambda에서 오류의 처리를 진행할 수도 있다.
Subsribe Filter (구독 필터)
지표 필터링이 특정 지표를 수집하여, 트리거를 발생시키는 것이었다면, 구독 필터는 거의 실시간으로 로그를 필터링하여 스트리밍 하는 거에 초점이 맞춰져 있다. 목적지로는 아래와 같다.
1. Amazon OpenSearch
2. Kinesis DataStream
3. Kinesis Firehose
4. Lambda
위의 3개를 보자면, 데이터를 수집, 저장, 전송하는 서비스다. 목적에 맞게 활용하면 된다.
Lambda를 기준으로 구독 필터 구성 설정은 다음과 같다.
1. 구독 필터 유형 선택 - Lambda, OpenSearch 아같은
2. 선택 유형의 세부 서비스 선택 - Lambda를 골랐다면, 어떤 함수인지
3. 로그 형식 - VPC Flow, CloudTrail, Lambda, 일반 로그, JSON 등등
4. 필터 패턴 - 정규식 or json 이벤트 패턴
5. 구독 필터 이름 - 필터에 대한 이름
Lambda와 다른 유형에 대한 추가 설정은 다음과 같다.
OpenSearch: Lambda를 이용해서 스트리밍 되므로, Lambda 역할을 추가해야 한다.
Kinesis DateStream, Firehose: CloudWatch Log가 데이터를 넣을 수 있도록 하는 역할이 필요하다.
구독 필터를 활용하면 특정 이벤트 로그를 스트리밍 해서 유의미한 데이터를 추출할 수 있다.
'Aws' 카테고리의 다른 글
AWS EC2 Instance Connect 사용 (Private Subnet 접근) (1) | 2023.11.19 |
---|---|
AWS RDS Aurora모니터링 지표 (1) | 2023.11.09 |
EKS Ingress Controller Group 사용 (0) | 2023.11.06 |
EKS Ingress Controller (Application LoadBalancer) 유형 (0) | 2023.10.31 |
EKS OverProvisining - 1 (0) | 2023.10.30 |
댓글
이 글 공유하기
다른 글
-
AWS EC2 Instance Connect 사용 (Private Subnet 접근)
AWS EC2 Instance Connect 사용 (Private Subnet 접근)
2023.11.19 -
AWS RDS Aurora모니터링 지표
AWS RDS Aurora모니터링 지표
2023.11.09 -
EKS Ingress Controller Group 사용
EKS Ingress Controller Group 사용
2023.11.06 -
EKS Ingress Controller (Application LoadBalancer) 유형
EKS Ingress Controller (Application LoadBalancer) 유형
2023.10.31