반응형

Cloudwatch에서 알람 조건을 만들어서, 해당 알람이 발생할 때 slack으로 notify하는 환경을 만들어보자.

 

 

1. AWS > CloudWatch > 경보 생성

1) 지표 선택

 

2) 지표에서 원하는 tracking값 및 임계치 선택 (알람 발생을 위해 임계값은 1로 설정)

 

3) SNS 연동 (이전 포스팅에서 만든 jane-test-sns2)

 - 이전 포스팅: https://countrymouse.tistory.com/entry/awsslack

 

[AWS] Lambda와 slack 연동하기 (Nodejs)

1. slack에서 app을 생성한다.  1) slack에 접속하여 메뉴 중 앱 > 앱 디렉터리를 클릭하면 된다. https://api.slack.com/apps?new_app=1 2) 그럼 아래 창이 나오는데, 오른쪽 상단의 '구축'을 누르면 된다. 3)..

countrymouse.tistory.com

+ 여기서 알림을 추가하고, 정상 상태에서도 알람이 발생하도록 정상 알림도 추가한다.

 

 

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들을 예쁘게 만들어보기로 한다. (삽질 엄청했다....)

반응형

+ Recent posts