...
Expand | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
옵션다음은
예: 핸들러 파일
예: TICKscript
exec 이벤트 핸들러 사용하기exec 이벤트 핸들러는 TICKscripts나 핸들러 파일을 활용하여, 알람 로직에 기반한 외부 프로그램을 실행할 수 있습니다.
TICKscript에서 외부 프로그램 실행하기다음 TICKscript는 exec-cpu-alert.tick
핸들러를 정의하여 외부 프로그램 실행하기다음 설정은 "Hey, check your CPU"라는 메시지와 함께 항목에 알림 메시지를 전송하는 TICKscript를 생성하세요. 아래의 TICKscript는 유휴 CPU 사용량이 10%미만으로 떨어질 때마다 cpu_alert.tick
TICKscript 추가 및 실행하기:
exec_cpu_handler.yaml
핸들러 추가하기:
|
외부 프로그램 작성
Code Block |
---|
$ vim alarm.py
--- vim ---
import os.path
from datetime import datetime
file = '/Users/choedaebeom/alarm-log.txt'
if os.path.isfile(file):
fs = open('/Users/choedaebeom/alarm-log.txt','a')
else:
fs = open('/Users/choedaebeom/alarm-log.txt','w')
now = datetime.now()
fs.write(str(now)+'\n')
fs.close()
:wq |
왼쪽 사이드 내비게이션에서 Alert → Alert Setting 탭을 클릭하여 페이지를 이동합니다.
오른쪽 상단의
+ Build Alert Rule
버튼을 클릭합니다.알람 규칙의 이름을 “exec idle cpu usage alert“ 으로 지정하고, Alert Type은 임계치 설정을 위해
Threshold
로 지정합니다.Time Series는 telegraf.autogen → cpu → usage_idle로 설정합니다. Condition은 현재 알람 규칙의 실행 조건을 결정하는 단계입니다. usage_idle이 100%미만 일 때 이벤트 핸들러가 실행됩니다. (100%는 테스트를 위한 값입니다. 실제 적용시 상황에 알맞게 사용하여야합니다.)
Condition의 조건에 만족했을 때 실행할 이벤트 핸들러입니다. 이 예제에서는
exec
을 선택합니다.exec 입력창에 외부프로그램을 실행시킬 프로그램의 경로와 외부 프로그램의 경로를 지정해주세요. 구분자는 공백입니다.
Code Block // 외부프로그램 실행시킬 프로그램 + 공백 + 외부프로그램 /path/to/executable /executable/arguments // example /usr/local/bin/python3.7 /Users/choedaebeom/alarm.py
Message 입력창에 아래 문구의 입력합니다. exec 이벤트 핸들러는 외부 프로그램(경보음, 경고등)등을 실행시키기 위함입니다. 따라서 exec 이벤트 핸들러는 Message를 전송하지않지만, 알람 규칙내에 혼용되는 이벤트 핸들러들을 위해 입력합니다.
Code Block '{{ .Time }}: CPU idle usage 100%'
오른쪽 상단의 Save Rule 버튼을 클릭하여 알람 규칙을 저장합니다.
...
HTTP/Post 예정
post
이벤트 핸들러는 JSON 인코딩된 데이터를 HTTP 엔드포인트에 전송합니다.
...