Browsing Category

NCP

Naver Cloud Platform category

NCP

[NCP] Slack으로 알림 받자, Slack + Incoming WebHooks + Cloud Insight

안녕하세요. ManVSCloud 김수현 입니다.

금일 포스팅은 네이버 클라우드 사용 시 모니터링 알림을 문자와 E-mail 뿐만 아니라
Slack으로 받는 방법에 대해 공유하고자 합니다.

Slack + Incoming WebHooks + Clound Insight(Integration)

System/Custom Metric을 이용하여 Template(Target Group&Rule)을 생성하고 Event Rule 설정 시 Incoming WebHooks의 Endpoint URL가 등록된 Integration을 추가하여 Slack으로 알람을 받을 수 있도록 할 것입니다.

“해당 포스팅에서는 Template 및 Event Rule 생성에 대한 내용은 생략되었습니다.”


Slack

요즘 모니터링 알림은 Slack이나 Telegram으로 받는 경우가 많습니다.
이제 요즘이라고 하기에 꽤 긴 시간이 흘러버린?

그 만큼 Slack은 업무와 관련된 커뮤니케이션(업무 확인 및 모니터링 알림, 의사 결정)을 하기 좋은 툴로 확실하게 자리잡은 듯합니다.

먼저 Slack 설치 및 가입이 되어있지 않다면 위 링크를 통해 진행해주시고 워크스페이스 생성 후 모니터링 알림을 받을 전용 채널을 하나 생성해줍니다.

이후 [앱 추가]에서 incoming webhooks을 검색하면 사용 가능한 앱이 아래 그림과 같이 보이는 것을 확인할 수 있습니다.

슬랙에서 설정 해주어야할 부분은 크게 없습니다. (설치+가입+앱 추가)


Incoming WebHooks

이제 추가 한 Incoming WebHooks 앱을 설정해주어야하는데 이 부분 역시 크게 어렵지 않습니다.

먼저 [Slack에 추가] 를 눌러 앱을 추가해줍시다.

이후 새로운 화면으로 넘어가게되면 그냥 쭈욱 내려와서 아래 그림과 같은 부분만 설정해주고 복사해주면 됩니다.

  • 채널에 포스트 : 이 부분은 위 Slack에서 생성해준 채널을 선택해줍니다.
  • 웹후크 URL : 해당 URL은 [URL 복사]를 이용해 따로 복사해주세요.
    Cloud Insight 설정 시 사용됩니다.
  • 이름 사용자 지정 : 예를 들어 ncloud-cloud-insight 라고 지정하면 ncloud-cloud-insight이라는
    이름의 봇이 알림을 계속 해준다고 보면 됩니다.
  • [설정 저장]

이미지 업로드 등 나머지 설정은 자유입니다.


Cloud Insight(Integration)

마지막으로 Cloud Insight의 Integration을 설정해줄 것입니다.

[Channel 생성]을 진행합니다.

이름과 엔드포인트 주소 그리고 페이로드를 설정한 뒤 [생성]을 해줍니다.
여기서 엔드포인트 주소는 위 Incoming Webhooks에서 복사해둔 URL을 붙여주시면 됩니다.

참고로 페이로드에 쓰일 변수는 이미 네이버 클라우드 가이드에서 제공하고 있으니 아래 링크를 참고하시기 바랍니다.

ex) EVENT_STATUS : Event의 상태
사용 방법 – #{EVENT_STATUS}
결과 – OPEN, REMIND, RESOLVE

생성한 Integration을 Event Rule의 액션에서 추가합니다.

이제 이벤트 알림이 발생하고 Slack으로 알림이 오는지만 확인하면 됩니다.
저는 간단하게 감시 항목으로 cpu가 80% 이상 1분간 지속될 경우 알림이 발생하도록 해둔 뒤 서버 내에서 stress 툴을 이용하여 테스트를 진행하였습니다.

[root@manvscloud-web-pub-kr2 ~]# stress --cpu `cat /proc/cpuinfo | grep processor | wc -l`
stress: info: [62483] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd

[참고]

  • 레드햇 계열
    yum install epel-release
    yum install stress
  • 데비안 계열
    apt-get install stress

Slack에서 아래 그림과 같이 알림을 받았습니다.

Event 상태 및 Level, 이벤트 이름과 발생한 상품/리소스 명, 현재 값 그리고 조건까지 확인할 수 있습니다.

마지막으로 제가 설정한 Payload는 아래와 같습니다.
참고하여 동일하게 사용하시거나 변형하여 사용하셔도 됩니다.

{
	"text": "[#{EVENT_STATUS}][#{LEVEL}] #{RULE_NAME}\n [ #{PRODUCT_NAME} : #{RESOURCE_NAME} ] [ 값 : #{VALUE} ] \n [ 조건 : #{METRIC} : #{CRITERIA}#{UNIT} ]"
}

Personal Comments

Slack + Incoming WebHooks + Clound Insight(Integration)를 이용하여 간단하게 네이버 클라우드에서 Slack으로 알림을 받는 방법에 대해 알아보았습니다.

모니터링 설정 간에 도움되셨길 바랍니다.

긴 글 읽어주셔서 감사합니다.