...
알람 엔드포인트 구성 섹션의 구성 옵션이 모두 포함되지 않는 점을 유의하세요. 일부 이벤트 핸들러는 사용자가 알람 규칙에 의해 이벤트 핸들러 구성을 사용자 정의할 수 있도록 합니다. 예를 들어 CloudHub Portal에서 Slack Integration을 통해 사용자는 알람 엔드포인트 구성 섹션에서 Default Channel과 개별 알람 규칙 설정으로 다른 Channel을 지정할 수 있습니다.
...
Exec
...
수정중
exec
이벤트 핸들러는 외부 프로그램을 실행한다실행합니다. 이벤트 데이터는 STDIN
을 통해 프로세스에 전달됩니다.
Expand |
---|
title | exec 이벤트 핸들러를 Cloud Portal이 아닌 CLI 환경에서 kapacitor 명령어를 통해 세팅해야 할 경우 참고하세요. |
---|
|
옵션다음은 exec 이벤트 핸들러 옵션은 핸들러 파일 또는 TICKscript에서 .exec() 을 설정할 때 사용할 수 있습니다. Name | Type | Description |
---|
prog | string | 실행할 프로그램 경로 | args | list of string | 인자로 사용할 프로그램들의 목록 |
예: 핸들러 파일 Code Block |
---|
id: handler-id
topic: topic-name
kind: exec
options:
prog: /path/to/executable
args: 'executable arguments' |
예: TICKscript Code Block |
---|
|alert()
// ...
.exec('/path/to/executable', 'executable arguments') |
exec 이벤트 핸들러 사용하기exec 이벤트 핸들러는 TICKscripts나 핸들러 파일을 활용하여, 알람 로직에 기반한 외부 프로그램을 실행할 수 있습니다. 메모: Exec 프로그램은 일반적으로 기본 시스템 $PATH 에만 액세스할 수 있는 kapacitor 사용자로 실행됩니다. $PATH 에 포함되지 않은 실행 파일을 사용하는 경우 실행 파일의 절대 경로를 전달하세요.
TICKscript에서 외부 프로그램 실행하기다음 TICKscript는 .exec() 이벤트 핸들러를 사용하여 유휴 CPU 사용량이 10%미만으로 떨어질 때마다 sound-the-alarm.py Python 스크립트를 실행합니다. exec-cpu-alert.tick Code Block |
---|
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.exec('/usr/bin/python', 'sound-the-alarm.py') |
핸들러를 정의하여 외부 프로그램 실행하기다음 설정은 "Hey, check your CPU"라는 메시지와 함께 cpu 항목에 알람을 보냅니다. cpu 항목을 구독하고 알람 메시지가 전송될 때마다 sound-the-alarm.py Python 스크립트를 실행하는 실행자가 추가됩니다. 항목에 알림 메시지를 전송하는 TICKscript를 생성하세요. 아래의 TICKscript는 유휴 CPU 사용량이 10%미만으로 떨어질 때마다 cpu 항목에 알람 메시지를 전송합니다. cpu_alert.tick Code Block |
---|
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('Hey, check your CPU')
.topic('cpu') |
TICKscript 추가 및 실행하기: Code Block |
---|
kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert |
cpu 항목을 구독하고 exec 이벤트 핸들러를 사용하여 sound-the-alarm.py Python 스크립트를 실행하는 핸들러 파일을 생성하세요.
exec_cpu_handler.yaml Code Block |
---|
id: exec-cpu-alert
topic: cpu
kind: exec
options:
prog: '/usr/bin/python'
args: 'sound-the-alarm.py' |
핸들러 추가하기: Code Block |
---|
kapacitor define-topic-handler exec_cpu_handler.yaml |
|
...
HTTP/Post 예정
post
이벤트 핸들러는 JSON 인코딩된 데이터를 HTTP 엔드포인트에 전송합니다.
...