Cloudwatch에서 알람 조건을 만들어서, 해당 알람이 발생할 때 slack으로 notify하는 환경을 만들어보자.
1. AWS > CloudWatch > 경보 생성
1) 지표 선택
2) 지표에서 원하는 tracking값 및 임계치 선택 (알람 발생을 위해 임계값은 1로 설정)
3) SNS 연동 (이전 포스팅에서 만든 jane-test-sns2)
- 이전 포스팅: https://countrymouse.tistory.com/entry/awsslack
+ 여기서 알림을 추가하고, 정상 상태에서도 알람이 발생하도록 정상 알림도 추가한다.
4) 이름 설정 후 미리보기, 경보 생성
5) 경보가 생성되었음. 데이터가 5분 주기므로 기다려보기.
2. SNS 앱 확인
: 아까 cloudwatch에서 연동해둔 SNS(jane-test-sns2)를 보니 lambda가 구독되어 있다.
그렇다면, cloudwatch에 알람이 발생하면, SNS를 통해, Lambda가 트리거 될 것이다.
3. lambda의 index.json 코드
cloudwatch를 통해 event를 받을 때 어떤 값들이 수신되는지 확인해봤다. // console.log(message)
exports.handler = async (event, context) => { //console.log('Received event:', JSON.stringify(event, null, 2)); const message = event.Records[0].Sns.Message; console.log('From SNS:', message); return message; }; |
4. Slack
(jane_bot2 is testing은 무시하시길... 테스트 했던 console log다.)
그럼 예상했던 대로, cloudwatch에서 생성한 알람이 발생할 때마다 SNS를 호출시키고, 그게 lambda를 호출시켜서, slack으로 온다.
EC2 -> Cloudwatch -> SNS -> Lambda -> slack 구조다.
그럼 다음 포스팅에서는 이 text들을 예쁘게 만들어보기로 한다. (삽질 엄청했다....)
'직장생활 > AWS, GCP' 카테고리의 다른 글
terraform 0.14.6 mac(m1)에 설치하기, terraform 특정 버전 설치하기 (0) | 2022.05.24 |
---|---|
[AWS] EC2, Fargate, ECS, EKS 개념 (0) | 2022.05.23 |
[AWS] cloudwatch에서 slack으로 알람 포맷 예쁘게 보내기 (Nodejs) (0) | 2022.05.23 |
[AWS] Lambda와 slack 연동하기 (Nodejs) (0) | 2022.05.23 |
[AWS] S3에 이벤트가 발생할 때마다 Lambda 호출 (Nodejs) (0) | 2022.05.20 |