Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

exec 이벤트 핸들러는 외부 프로그램을 실행합니다. 이벤트 데이터는 STDIN을 통해 프로세스에 전달됩니다.

Expand
titleexec 이벤트 핸들러를 Cloud CloudHub 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

...