클라우드(Azure, AWS, Alibaba)

Telegram을 사용하여 Azure 알람 받기 2 (Azure Portal)

기억보다는 기록을... 2024. 11. 29. 15:15

Telegram 봇 생성에 이어서 Azure Portal 구성 진행

https://comengx.tistory.com/98

 

Telegram을 사용하여 Azure 알람 받기 1 (텔레그램 설정)

텔레그램을 사용하여 Azure VM 관련 알람 설정  1. Telegram에서 BotFather를 검색하고 대화 시작  2. "/newboot" 명령어로 새 봇을 생성  3. 봇 이름 생성봇의 이름은 bot 으로 끝나야 됨중복되지 않는 이

comengx.tistory.com

 

 

알람을 보내는 아키텍쳐

[Azure VM] --> [Azure Monitor] --> [Alert Rule] --> [Action Group] --> [Logic Apps] --> [Telegram Bot API] --> [Telegram Chat]
  • Azure VM: 모니터링 대상 가상 머신
  • Azure Monitor: VM 상태를 지속적으로 모니터링
  • Alert Rule: VM 다운 등 특정 조건 감지 시 알림 트리거
  • Action Group: 알림 발생 시 수행할 작업 정의
  • Logic Apps: Telegram으로 메시지를 보내는 워크플로우 실행
  • Telegram Bot API: Telegram과 통신하는 인터페이스
  • Telegram Chat: 최종적으로 알림을 수신하는 대화방

 

구성 순서는 Logic Apps -> Action Group -> Azure Monitor 순으로 진행

  • Action Group과 Azure Monitor는 한번에 진행해도 상관은 없음. 

 

Logic Apps 구성

1. Logic Apps 생성

  • Azure Portal -> Logic Apps -> "추가" 선택
  • 호스팅 옵션 선택 -> "다중 테넌트"
  • 논리 앱 만들기 (다중 테넌트)
    • "구독", "리소스 그룹", "논리 앱 이름", "지역" 선택

 

  • 나머지는 기본 값 선택 -> 만들기

 

 

2. 트리거 설정

    • 생성 된 Logic Apps(Azure_Dev_Alert_LogicApps)를 열고 "논리 앱 디자이너" 선택

 

  • "트리거 추가" 선택 및 "When a HTTP request is received" 검색하여 추가 (설정값은 기본 유지)

 

  • 아래쪽 "작업추가"를 선택 후 "HTTP"를 검색하여 액션 추가 -> 저장

 

 

  • HTTP 액션 설정 -> 저장 선택
    • Method: POST
    • URI: Telegram 봇 API 주소 입력
    • Headers 입력
      • 키: Content-Type
      • : application/json
    • Body: 내용 입력
{
  "chat_id": "<챗 ID>",
  "text": "Azure VM이 다운되었습니다!"
}

<봇 토큰>, <챗 ID>는 Telegram 봇 생성 시 기록한 내용을 입력

 

 

 

3. 테스트

  • 상단의 "실행"을 클릭하여 메시지 발송 테스트

 

  • 정상적으로 실행이 된 경우

(실행결과)

 

(실행기록)

 

(텔레그램 메시지)

 


 

Action Group 구성

1. Azure Portal -> 모니터 -> 경고 -> "작업 그룹" -> "만들기" 선택

  • (기본 사항) 리소스 그룹 / 작업 그룹 이름 / 표시 이름
  • (알림) 기본값
  • (작업) 작업 형식 "논리 앱" 선택 후 미리 생성한 logic apps 연결

 

"만들기" 선택 후 생성 된 작업 그룹 확인

 

 


 

Azure 모니터링 구성

1. Azure Portal -> 모니터 -> 경고 -> "경고 규칙" -> "만들기" 선택

  • (범위) 모니터링 대상 VM 선택

 

  • (조건)
    • 신호 이름: VM Availability Metric (Preview) 선택
    • 경고 논리: 최소값 / 작거나 같음 / 개수 / 0
      • VM이 다운되었을 때 가용성 메트릭이 0이되어 경고 발생
      • VM이 다시 시작되면 가용성 메트릭이 1이되어 경고가 자동으로 해제
    • 평가할 시기: 1분 / 1분
      • 평가 빈도와 기간은 필요에 따라 수정

 

  • (작업) 기존에 생성한 작업 그룹 선택

 

  • (세부 정보) 심각도 / 경고 규칙 이름

 

"만들기" 선택 후 생성 된 경고 규칙 확인

 


 

알람 테스트

  • Azure Portal 에서 VM 재시작 시 텔레그램 메시지 발송
  • OS에서 리부팅 시 메시지 발송을 하려면 Agent 설치 필요

 

 

텔레그램으로 발송은 정상적으로 확인이 되었으나, 알람 발생 조건에 대해서는 좀 더 확인이 필요함. 

https://learn.microsoft.com/ko-kr/azure/azure-monitor/vm/tutorial-monitor-vm-alert-availability

 

여러 Azure Virtual Machines에 대한 가용성 경고 규칙 만들기(미리 보기) - Azure Monitor

Azure Monitor에서 단일 경고 규칙을 만들어 구독 또는 리소스 그룹의 가상 머신을 사용할 수 없는 경우 사전에 알립니다.

learn.microsoft.com