개요
CloudHub Portal은 Kapacitor 조작을 위해 그래픽 유저 인터페이스를 제공합니다. influxData 처리 프레임워크는 알람 생성, ETL 작업(실행 추출, 변환, 로드), 데이터의 이상 검출을 수행하며, CloudHub Portal의 알람 규칙은 특정 조건이 충족될 때마다 Kapacitor의 역할에 해당하는 알람을 트리거 합니다. 이러한 작업은 수동 또는 CloudHub Portal을 통해 편집 할 수 있는 TICKscript 형태로 저장됩니다. CloudHub Portal을 사용하여 관리 할 수 있는 일반적인 알람 사용 사례는 다음과 같습니다.
최댓값, 최솟값 및 범위가 있는 임계값
단위 또는 백분율 변화에 따른 상대 임계값
Deadman switches(설정한 장애시 알림).
자세한 알람 규칙 관리 및 기타 작업은 Kapacitor에서 직접 정의 할 수 있지만, 대부분 CloudHub Portal에서 TICKscripts로 관리 할 수 있습니다.
이 예제에서는 유휴 CPU 사용량의 임계값을 80%로 설정하고, 설정된 임계값을 초과할 때마다 기존의 Slack 채널에 알람 메시지를 보내는 과정을 설명합니다. CloudHub Portal을 사용하여 CPU 사용량을 모니터링하고 Slack에 알람을 보내도록 알람 규칙을 구성했습니다.
요구사항
CloudHub Portal에서 알람 기능을 사용하기 위해 다음 요구 사항이 충족되어야 합니다.
Telegraf, InfluxDB, Kapacitor, CloudHub Portal을 다운로드하고, 설치합니다.
InfluxDB 시스템 통계 입력 플러그인을 사용하여 데이터를 수집하고, InfluxDB 인스턴스에 데이터를 기록하도록 Telegraf를 구성합니다.
CloudHub Portal에서 Kapacitor 연결을 생성합니다.
Slack은 CloudHub Portal에서 이벤트 핸들러로 사용할 수 있도록 구성되었습니다. 자세한 구성 지침은 Kapacitor 이벤트 핸들러 구성 안내서를 참조하세요.
요구사항이 충족되었다면 아래에 제공되는 단계별 지침에 따라 알람 규칙을 구성해야 합니다.
알람 규칙 구성
네비게이터에서 Alert 탭 내의 Alert Setting 탭을 클릭하여 Manage Task 페이지로 이동합니다. 그다음 오른쪽 상단에 있는 + Build Alert Rule 버튼을 클릭합니다.
임의의 IP를 설정하였습니다.
Manage Task 페이지는 CloudHub Portal에서 알람 규칙을 생성하고 편집하는 데 사용됩니다. 아래 단계는 CloudHub Portal에서 알람 규칙을 만드는 과정을 안내합니다.
1 단계: Name the alert rule. 알람 규칙의 이름 지정
이 단계에서는 Name this Alert Rule 아래의 입력창에 알람 규칙의 이름을 지정합니다. 이 예제에서는 Idle CPU Usage
를 알람 규칙의 이름으로 사용합니다.
2 단계: Select the alert type. 알람 유형 선택
알람 규칙 구성 페이지의 알람 유형 섹션에서 세 가지 알람 유형에서 선택합니다.
Threshold
데이터가 임계값 경계를 넘나드는 경우 알람합니다.Relative
데이터가 다른 시간 범위에서 데이터에 대해 변경되는지 알람합니다.Deadman
influxDB가 지정된 시간 동안 관련 데이터를 수신하지 않는 경우 알람
이 예제에서는 알람 유형으로 Threshold를 선택합니다.
3 단계: Define the rule condition. 시계열 데이터 선택
알람 규칙에 사용할 시계열 데이터를 선택합니다. 데이터베이스, 측정, 필드 및 태그를 통해 이동하여 관련 데이터를 선택합니다. 이 예제에서는 telegraf
데이터베이스, autogen
정책, cpu
측정 및 usage_idle
필드를 선택합니다.
4 단계: Define the rule condition. 규칙 조건 정의
임계값 조건을 정의해 주세요. 조건 옵션은 알람 유형에 따라 결정됩니다. 이 예제에서 알람 조건은 usage_idle
이 80
미만일 경우입니다.
그래프는 관련 데이터와 임계값의 미리 보기를 보여줍니다. 기본적으로 그래프에는 지난 15분의 데이터가 표시됩니다. 데이터를 기반으로 합리적인 임계값을 결정할 때 그래프의 시간 범위를 조정하면 도움이 됩니다.
데모 목적으로 임계값을 80으로 설정했습니다. 유휴 CPU 사용에 대한 임계값을 높은 수로 설정하면 알람이 작동하는 것을 볼 수 있습니다. 실제로 데이터의 패턴과 알람 요구에 더 알맞도록 임계값을 설정해야 합니다.
5 단계: Select and configure the alert handler. 알람 핸들러 선택 및 구성
Alert Handler 단락에서는 시스템의 상태를 알람하기 위한 알람 핸들러를 지정할 수 있습니다. CloudHub Portal은 여러 알람 핸들러를 지원하고, 어느 알람 핸들러로 알람을 전송할지 결정합니다. 각 알람 핸들러에는 구성 가능한 고유한 옵션이 있습니다.
이 예제에서는 알람 핸들러로 SLACK을 사용하고, 원하는 옵션을 입력합니다.
여러 엔드 포인트에 알람를 보내기 위해 알람 핸들러를 추가할 수 있으며, 현재 CloudHub Portal에서 지원하는 엔드 포인트는 kafka, telegram, slack, smtp입니다.
6 단계: Configure the alert message. 알람 메시지 구성
알람 메시지는 알람과 함께 제공되는 텍스트입니다. 알람 메시지는 알람 데이터에 액세스할 수 있는 템플릿입니다. 사용 가능한 데이터 템플릿이 메시지 텍스트 필드 아래에 나타납니다. 알람 메시지를 입력할 때 데이터 템플릿을 클릭하면 기존의 텍스트 끝에 삽입됩니다.
이 예제에서는 아래 내용으로 알람 메시지를 사용하세요.
Your idle CPU usage is {{.Level}} at {{ index .Fields "value" }}.
메시지 템플릿 데이터에 대한 자세한 내용은 Kapacitor 설명서를 참조하세요.
7 단계: Save the alert rule. 알람 규칙 저장
오른쪽 상단에서 Save Rule을 클릭하면 작성된 규칙들이 저장됩니다.
저장된 후 Manage Task 페이지로 이동되며 저장된 알람 규칙을 살펴봅니다. Task Enabled 열에서 활성화 여부를 확인할 수 있으며, Toggle 하여 해당 규칙을 쉽게 활성화 및 비활성화할 수 있습니다.
실제 알람보기
1 단계: 시스템에 부하 생성하기
이 단계의 목적은 시스템에 충분한 로드를 생성하여 알람을 트리거 하는 것입니다. 보다 구체적으로 CPU 사용량은 80%
미만으로 낮아야 합니다. Telegraf를 실행하는 시스템에서 터미널에 다음 명령을 입력하여 while
루프를 시작하세요.
while true; do i=0; done
종료하기 전에 몇 초 또는 몇 분 동안 실행하세요. 대부분의 시스템에서 사용하여 스크립트를 종료하세요 Ctrl+C
.
2 단계: View the alerts. 알람 보기
이 예제에서는 테스트용으로 생성한 Slack 채널은 #cloudhub_alert
입니다. 이전 단계가 성공했다면 #ohnos
는 적어도 두 개의 알람 메시지가 공개해야 합니다.
첫 번째 알람 메시지는 유휴 CPU 사용량이
80%
이하의CRITICAL
수준으로 감소했음을 나타냅니다.두 번째 알람 메시지는 유휴 CPU 사용량이
80%
이상의OK
수준으로 돌아왔음을 나타냅니다.
네비게이터의 Alert → Alert History에서 알람 이력을 볼 수 있습니다.
Add Comment